Excel VBA - Zelle auswählen, dann F2
Hallo erneut Excel-Freunde,
mein Titel verrät es bereits. Eine Zelle soll markiert werden, daraufhin soll "F2" und dann "Enter" gedrückt werden.
Mein Makro sieht bisher so aus:
'Ans Ende der Tabelle springen
ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Select
ActiveCell.Offset(1, 0).Select
' Eingabeaufforderung 1 Datum
Eingabe = InputBox("Bitte Datum angeben, wann die Ware eingetroffen ist!" & Chr(13) & Chr(10) & Chr(13) & Chr(10) & _ "Bitte schreiben Sie in: tt:mm:jjjj" & Chr(13) & Chr(10) & _ "" & _ "", _ "Zugang [Datum]", ActiveSheet.Range("B1") _ & "_", 7000, 5000)
If StrPtr(Eingabe) = 0 Then ' MsgBox ("Die Schaltfläche Abbrechen wurde gewählt. Der Vorgang wird abgebrochen.") End Else
End If
ActiveCell.Offset(0, 0).Value = Eingabe
Wie man sieht, sucht er sich selbst die letzte Zelle in meiner Tabelle um dort mit einer Eingabeaufforderung das Datum anzugeben.
Nun möchte ich als nächsten Schritt, genau diese Zelle, wo man eben das Datum eingegeben hat mittels dem Makro da oben, ... das er diese Zelle auswählt, "F2" und dann "Enter" drückt.
Alle Versuche dies zu bewerkstelligen, schlugen bisher fehl.
Habt ihr eine Idee?
Viele Grüße,
David :) ... Pixelschubster :D
3 Antworten
Normalerweise wäre die Antwort "verwende Tastenfolge.Senden", aber einfacher wäre das Ergebnis einfach per Makro einzugeben
ActiveCell.FormulaR1C1 = eingabe
Wobei: der Doppelpunkt ist das Standardtrennzeichen für Zeit. Nicht für Datum. Insofern ist der Prompt in der MsgBox falsch.
Zum anderen: wenn man den Leuten sagt "versuch es mit Strg-. (Punkt)" kommt man auch schnell ans Ziel. Dto für letzte Zelle auswählen (Strg-Pfeil nach unten)
Gewöhn dir mal an, deinen Code hier auch als Codebeispiel einzufügen.... außerdem kannst du diese ganze F2 Enter Sache vergessen, wenn du einfach am Anfang deines Statements Eingabe als Datum definierst.
Dim Eingabe As Date
'Ans Ende der Tabelle springen
ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Select
ActiveCell.Offset(1, 0).Select
' Eingabeaufforderung 1 Datum
[...]
Dann ist es gleich beim Einfügen ein Datum... Dann musst du allerdings auf deine Doppelpunkte verzichten (Warum Doppelpunkte??!?)
Probiers mal mit SendKeys("{F2}")
und SendKeys("{Return}")
Bei beiden musst du evtl. Application.
vorne dran setzen.