VisualBasic Excel 2013 Wert suchen und etwas in Zelle daneben schreiben

Cassius1985

Captain
Registriert
Sep. 2004
Beiträge
3.602
Hey Leute,

ich bastel mal wieder an einer neuen Datei.
Dabei geht um um das Ein- und Austragen von Vorgängen.

Jeder Vorgang hat seine Buchungsnummer.
Trägt man jetzt einen Vorgang ein, bekommt dieser eine Nummer zugewiesen und wird in der "Historie" eingeschrieben.
Ist der Vorgang erledigt, möchte ich das aktuelle Datum und den Bearbeiter in der Historie hinterlegen.

Aktuell löse ich das ganze so:

Code:
Worksheets("Historie").Select

 Columns("A:A").Select
    Selection.Find(What:=buchung, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False, SearchFormat:=False).Activate

ActiveCell.Offset(0, 6).Value = Datum
ActiveCell.Offset(0, 7).Value = Abnehmer

Die Werte werden in der Tabelle "Historie" in "G" und "H" geschrieben, die Buchungsnummer steht in "A".

Die Frage: Geht das "eleganter" bzw. mit einer besser Kompatibilität? Office für Mac meckert beim Ausführen des Codes z.B. rum.

Ich habe es mit Application.WorksheetFunction.VLookup versucht, aber hier will er immer ein "Objekt", evtl. hab ich da einen Denkfehler...
 
Eleganter waere es ohne Selection.

Code:
treffer = Worksheets("Historie").Columns("A:A").Find(What:=buchung, _
            LookIn:=xlFormulas, LookAt :=xlPart, _
            SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= False, _
            SearchFormat:=False)

if not treffer is nothing then
    treffer.Offset(0, 6).Value = Datum
    treffer.Offset(0, 7).Value = Abnehmer
end if

Code ist ungetestet.
Aber irgendwieso muesste es aussehen.

Was fuer ein Fehler ploppt denn beim Mac auf?
 
Ahja, verstehe. Macht die Sache auch evtl. bissl schneller...

Der Mac wirft einen Laufzeitfehler 448 raus. Ist aber auch "nur" das 2011er, mache normal nicht viel am MBP in Excel.
 
Laut dem hier gibt es kein "SearchFormat" in der Mac-Version.
Ansonsten auch mal andere Optionen weglassen oder ggf. mal Match ausprobieren.
Oder falls die vorhanden ist, in der Offlinehilfe reinschauen.
 
Zurück
Oben