Was ich versuche zu tun
Suchen Sie die Spalte, deren Header-Zelle eine eindeutige Zeichenfolge enthält. Mit anderen Worten, ich kenne den Text der Zelle, und ich weiß, dass die Zelle in Zeile 1 ist, aber ich weiß nicht, welche Spalte. HINWEIS: Ich möchte nach dem vollständigen Text suchen, nicht nur ein Teil davon. HINWEIS2: Der Text kann variieren, daher kann ich den Wert nicht in meinen Code codieren. Eher muss ich die Variable verwenden, in der der Wert gespeichert wird.Range.Find() Text mit Wagenrücklauf Excel VBA
Das Problem
Wenn im Kopftext keine Wagenrücklauf ist, arbeitet ein einfaches newCol = Range("1:1").Find(headerText).Column
feinen. Wenn jedoch ein Wagenrücklauf vorhanden ist, funktioniert dies nicht. Es gibt den Fehler "Objektvariable oder mit Blockvariable nicht gesetzt" aus. Hier ist mein genauer Kopf string:
Incomplete Email
(more text)
Was ich schon versucht
Ich habe auch versucht WorksheetFunction.Match(headerText, Range("1:1"), 0)
mit, bekam aber das gleiche Problem.
Zusätzliche Hinweise und Anforderungen
Dieser Teil von einer Add-In ist, so will ich nicht, etwas ändern in dem Excel-Tabelle des Benutzers, wenn ich nicht haben (dh ich nicht tun möchte den Wagenrücklauf entfernen).
Technisch Ich tue dies in einer Funktion:
Public Function getColumn(headerText As Variant)
getColumn = Range("1:1").Find(headerText).Column
End Function
Dank!
Was ist, wenn Sie versuchen, Bereich ("1: 1"). Finden ("*" & HeaderText & "*"). Spalte " – BruceWayne
Kein Glück. Gleiches Problem –
Wie haben Sie 'newCol' deklariert? Ich legte "Test [alt-enter] Test" und führte 'newCol = Range (" 1: 1 "). Find (" Test "). Spalte" und es hat funktioniert. – BruceWayne