Note: The other languages of the website are Google-translated. Back to English

Hur slår jag upp och returnerar matchande värde med cellkommentar?

När du använder Vlookup-funktionen för att returnera matchningsvärdet extraherar det bara värdet utan formateringen, till exempel fyllningsfärg, teckensnitt eller kommentar etc. Men ibland kan du behöva slå upp och returnera det matchade värdet inklusive kommentar också för att få följande skärmdumpresultat. Hur kunde du lösa detta jobb i Excel?

Vlookup och returnera matchande värde med cellkommentar med hjälp av VBA-kod


Vlookup och returnera matchande värde med cellkommentar med hjälp av VBA-kod

Nedanstående VBA-kod kan hjälpa dig att slå upp och returnera matchat värde med sin kommentar, gör så här:

1. Håll ner ALT + F11 nycklar för att öppna Microsoft Visual Basic för applikationer fönster.

2. Klicka Insert > Modulerna, kopiera och klistra sedan in följande kod i Modulerna Fönster.

VBA-kod: Vlookup och returnera matchande värde med cellkommentar:

Function VlookupComment(LookVal As Variant, FTable As Range, FColumn As Long, FType As Long) As Variant
'Updateby Extendoffice
    Application.Volatile
    Dim xRet As Variant 'could be an error
    Dim xCell As Range
    xRet = Application.Match(LookVal, FTable.Columns(1), FType)
    If IsError(xRet) Then
        VlookupComment = "Not Found"
    Else
        Set xCell = FTable.Columns(FColumn).Cells(1)(xRet)
        VlookupComment = xCell.Value
        With Application.Caller
            If Not .Comment Is Nothing Then
                .Comment.Delete
            End If
            If Not xCell.Comment Is Nothing Then
                .AddComment xCell.Comment.Text
            End If
        End With
    End If
End Function

3. Och spara sedan koden och stäng kodfönstret, ange denna formel: = vlookupcomment (H2, A2: C10,3, FALSE) in i en tom cell för att hitta resultatet och tryck på ange nyckel, det matchade värdet såväl som kommentaren returneras på en gång, se skärmdump:

Anmärkningar: I ovanstående formel, H2 är det uppslagsvärde du vill returnera motsvarande värde, A2: C10 är datatabellen du vill använda, numret 3 är kolumnnumret som innehåller det matchade värdet du vill returnera.


De bästa Office-produktivitetsverktygen

Kutools för Excel löser de flesta av dina problem och ökar din produktivitet med 80%

  • återanvändning: Sätt snabbt i komplexa formler, diagram och allt som du har använt tidigare; Kryptera celler med lösenord; Skapa e-postlista och skicka e-post ...
  • Super Formula Bar (enkelt redigera flera rader med text och formel); Läslayout (enkelt läsa och redigera ett stort antal celler); Klistra in i filtrerat intervall...
  • Sammanfoga celler / rader / kolumner utan att förlora data; Delat cellinnehåll; Kombinera duplicerade rader / kolumner... Förhindra duplicerade celler; Jämför intervall...
  • Välj Duplicera eller Unikt Rader; Välj tomma rader (alla celler är tomma); Super Find och Fuzzy Find i många arbetsböcker; Slumpmässigt val ...
  • Exakt kopia Flera celler utan att ändra formelreferens; Skapa referenser automatiskt till flera ark; Sätt in kulor, Kryssrutor och mer ...
  • Extrahera text, Lägg till text, ta bort efter position, Ta bort mellanslag; Skapa och skriva ut personsökningstalsatser; Konvertera mellan celler innehåll och kommentarer...
  • Superfilter (spara och tillämpa filterscheman på andra ark); Avancerad sortering efter månad / vecka / dag, frekvens och mer; Specialfilter av fet, kursiv ...
  • Kombinera arbetsböcker och arbetsblad; Sammanfoga tabeller baserat på nyckelkolumner; Dela data i flera ark; Batchkonvertera xls, xlsx och PDF...
  • Mer än 300 kraftfulla funktioner. Stöder Office / Excel 2007-2021 och 365. Stöder alla språk. Enkel implementering i ditt företag eller organisation. Fullständiga funktioner 30 dagars gratis provperiod. 60 dagars pengarna tillbaka-garanti.
kte-flik 201905

Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare

  • Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
  • Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
  • Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!
officetab botten
Sortera kommentarer efter
Kommentarer (20)
Inga betyg än. Bli först med att betygsätta!
Denna kommentar minimerades av moderatoren på webbplatsen
Hur skulle jag göra samma sak som en Hlookup istället för vlookup?

Jag ändrade koden enligt följande:
Funktion hlookupComment(LookVal As Variant, FTable As Range, Frow As Long, FType As Long) As Variant
'Uppdatering av Extendoffice
Application.Volatile
Dim xRet As Variant 'kan vara ett fel
Dim xCell As Range
xRet = Application.Match(LookVal, FTable.Rows(1), FType)
Om IsError(xRet) Då
hlookupComment = "hittades inte"
annars
Ställ in xCell = FTable.Rows(Frow).Cells(1)(xRet)
hlookupComment = xCell.Value
Med Application.Caller
Om inte .Kommentar är ingenting då
.Kommentera.Ta bort
End If
Om inte xCell.Comment är ingenting då
.AddComment xCell.Comment.Text
End If
Sluta med
End If
Änden Funktion
Denna kommentar minimerades av moderatoren på webbplatsen
Finns det något sätt att vlookup-kommentaren kopierar formateringen av den ursprungliga kommentaren? Vissa av mina kommentarer är väldigt långa, men kommentaren som returneras från vlookup är alltid den lilla standardstorleken, så jag kan inte läsa hela texten
Denna kommentar minimerades av moderatoren på webbplatsen
Hej Carl,
Det kanske inte finns ett direkt sätt att lösa ditt problem, men du kan dra kommentarsrutan större manuellt. Eller så kan du använda vår Kutools för Excels Autofit Comment-funktion, det kan hjälpa dig att justera kommentarsrutan så att den passar innehållet.Tack!
Denna kommentar minimerades av moderatoren på webbplatsen
Kan vi använda cell i kolumn B (ordningskolumn) som kommentar för cell i kolumn C (namn). exc, kommentar för Helen är 80.
tack för din hjälp.
Denna kommentar minimerades av moderatoren på webbplatsen
Frank
Hallå,

Om kalkylbladet är skyddat, när jag öppnar min arbetsbok returnerar cellen felet #VALUE!

Hur kan vi lösa detta problem?
Denna kommentar minimerades av moderatoren på webbplatsen
Hej Frank,
När du har infogat koden bör du spara din arbetsbok som Excel Macro-Enabled Workbook-format, så att koden inte går förlorad.
Snälla försök! Tack!
Denna kommentar minimerades av moderatoren på webbplatsen
Tack, det är till hjälp och jag har något att fråga Den returnerar med cellkommentar men bilden (infogas med fyllningseffekter) visas inte
Snälla, hjälp mig ur det här problemet
Denna kommentar minimerades av moderatoren på webbplatsen
Shamim,
Ledsen för att det inte finns någon direkt kod för att lösa ditt problem, om någon har lösningen, vänligen kommentera här.
Denna kommentar minimerades av moderatoren på webbplatsen
Min kommentar är för stor för standardboxstorleken. Finns det något sätt att öka storleken på kommentarsfältet eller möjligen minska teckenstorleken?
Denna kommentar minimerades av moderatoren på webbplatsen
Om någon annan behöver detta.


Funktion VlookupComment(LookVal As Variant, FTable As Range, FColumn As Long, FType As Long) As Variant

'Uppdatering av Extendoffice

Application.Volatile

Dim xRet As Variant 'kan vara ett fel

Dim xCell As Range

xRet = Application.Match(LookVal, FTable.Columns(1), FType)

Om IsError(xRet) Då

VlookupComment = "-"

annars

Ställ in xCell = FTable.Columns(FColumn).Cells(1)(xRet)

VlookupComment = xCell.Value

Med Application.Caller

Om inte .Kommentar är ingenting då

.Kommentera.Ta bort

End If

Om inte xCell.Comment är ingenting då

.AddComment xCell.Comment.Text

.Comment.Shape.ScaleWidth 2, msoFalse, msoScaleFromTopLeft

.Comment.Shape.ScaleHeight 2.5, msoFalse, msoScaleFromTopLeft

End If

Sluta med

End If

Änden Funktion
Denna kommentar minimerades av moderatoren på webbplatsen
Jag vill bara kommentera som cellvärde med hjälp av Vlookup...
Denna kommentar minimerades av moderatoren på webbplatsen
jag kan göra det vid första gången. men efter att jag försökt använda ändringsformel för flera celler. Det fungerar inte nu. efter att även jag skrivit vlookupcomment blir cellen tom.
Denna kommentar minimerades av moderatoren på webbplatsen
Hej! Jag är så glad att jag hittade det här, grejen är att det här faktiskt fungerar på anteckningar och inte kommentarer. finns det något sätt att arbeta med kommentarer och inte anteckningar? i anteckningar kan jag inte tagga mina kollegor och jag kan inte svara heller. tack så mycket!
Denna kommentar minimerades av moderatoren på webbplatsen
Det här är en underbar. Men när jag använder den här koden tycker jag att filen kraschar mycket på Excel 365. När jag tog bort autospara tyckte jag att det var lite bättre. Men med flera användare i filen kommer filen att krascha hela tiden. Använder den här koden mycket minne eller är det ett kompatibilitetsproblem? tankar? Tack
Denna kommentar minimerades av moderatoren på webbplatsen
Fungerar inte för mig. Jag får #NAMN? fel när jag använder den här formeln. Snälla hjälp.
Denna kommentar minimerades av moderatoren på webbplatsen
Hej, Sajjad, lade du in VBA-koden för den här artikeln i din arbetsbok? Kontrollera det. Eller vilken Excel-version använder du? Tack!
Denna kommentar minimerades av moderatoren på webbplatsen
Hej, det här är en mycket bra funktion, men den fungerar för Notes, inte Kommentarer (så här är det åtminstone översatt på mitt modersmål). Finns det något sätt att ändra det från anteckningar till kommentarer? Finns det också något sätt att behålla cellformatet? (färgen på den ursprungliga cellen, etc).
Denna kommentar minimerades av moderatoren på webbplatsen
jag har haft samma problem. Jag kan bara säga att efter att ha försökt via vba att kopiera kommentarer och anteckningar... det är bara anteckningar som kopieras, inte kommentarerna (även om de har samma betydelse, men en annan funktionalitet)... Anteckningar verkar vara av statisk karaktär , till skillnad från kommentarer där du kan fortsätta "posta" för att lägga till ny text...Antagligen är det anledningen....
Denna kommentar minimerades av moderatoren på webbplatsen
Hej fana,
För att extrahera de matchade posterna med kommentaren i Office 365, använd koden nedan:
Function VlookupComment(LookVal As Variant, FTable As Range, FColumn As Long, FType As Long) As Variant
'Updateby Extendoffice
    Application.Volatile
    Dim xRet As Variant 'could be an error
    Dim xCell As Range
    xRet = Application.Match(LookVal, FTable.Columns(1), FType)
    If IsError(xRet) Then
        VlookupComment = "Not Found"
    Else
        Set xCell = FTable.Columns(FColumn).Cells(1)(xRet)
        VlookupComment = xCell.Value
        With Application.Caller
            If Not .CommentThreaded Is Nothing Then
                .ClearComments
            End If
            If Not xCell.CommentThreaded Is Nothing Then
                .AddCommentThreaded xCell.CommentThreaded.Text
            End If
        End With
    End If
End Function


Efter att ha klistrat in koden, använd denna formel: = vlookupcomment (H2, A2: C10,3, FALSE) också.

Försök gärna, hoppas det kan hjälpa dig!
Denna kommentar minimerades av moderatoren på webbplatsen
txs mycket. mycket uppskattat!
Det finns inga kommentarer här ännu
Lämna dina kommentarer
Postar som gäst
×
Betygsätt detta inlägg:
0   Tecken
Föreslagna platser

Följ oss

Copyright © 2009 - www.extendoffice.com. | Alla rättigheter förbehållna. Drivs av ExtendOffice. | | Sitemap
Microsoft och Office-logotypen är varumärken eller registrerade varumärken som tillhör Microsoft Corporation i USA och / eller andra länder.
Skyddad av Sectigo SSL