745 Aufrufe
Gefragt in Tabellenkalkulation von ahorn38 Experte (3.2k Punkte)
Hallo,

ich möchte in einem Code in einer Tabelle Spalte "B" nach einem Eintrag mit dem benutzerdefinierten Format "T???" suchen, wobei die ? für drei beliebige Ziffern stehen.
in der Suchabfrage will ich der Einfachheit halber aber nicht jedesmal das "T..." eingeben, sondern nur jeweils die 1-3 Ziffern.
Wie muss ich denn den Code so anpassen, dass er aus den Eingabeziffern das benutzerdefinierte Format macht und danach sucht?
Hab vieles probiert, aber nichts gefunden. Bin dankbar für jeden Tipp.
Gruß
Andreas
.....
Dim Nr As String
Nr = Application.InputBox("Nummer eingeben ", "")
Range("B:B").Select
Selection.Find(what:=Nr, After:=ActiveCell, LookIn:=xlFormulas, lookat:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Activate
.....

3 Antworten

0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
zu diesem Teil
"Wie muss ich denn den Code so anpassen, dass er aus den Eingabeziffern das benutzerdefinierte Format "
formatiere die Zelle entsprechend.
Suchen geht nur über jede einzelne Zelle NumberFormat.

Gruß Hajo
0 Punkte
Beantwortet von ahorn38 Experte (3.2k Punkte)
Hallo,

habe jetzt mit dem Beispiel Nr=55 folgendes probiert:
x = Format("T" & Nr, "T???")
Als Ergebnis für x erhalte ich "T55", ich brauche aber "T055"????
Wie kann das gehen?
Gruß Andreas
0 Punkte
Beantwortet von ahorn38 Experte (3.2k Punkte)
Hallo,

habe jetzt mit Hilfe des MacroRecorders eine Lösung gefunden, muss dafür allerdings die Hilfsvariable NrS einführen:

NrS = Format(Nr, """T""000")
Besser wäre natürlich, wenn ich die string-Variable "Nr" gleich so formatieren könnte


Gruß Andreas
...