Mit Hilfe der Funktionstaste [F2] wird eine Zelle in den Bearbeitungsmodus gebracht. Die Taste [Enter] schließt den Bearbeitungsmodus wieder ab.
Dies kann nach einem Textimport notwendig werden, denn beim Import erkennt Excel oftmals Zahlen als Text. Mit diesen Zahlen im Textformat kann aber nicht mehr gerechnet werden.
Da es allerdings relativ aufwändig ist, eine größere Liste manuell mit der Tastenfolge [F2] und [Enter] zu bearbeiten, haben ich folgenden VBA-Code entwickelt, der dies für den angegebenen Zellbereich automatisiert.
Im Beispiel-Code wird die Tastenfolge automatisiert auf den Zellbereich A1:C50 angewendet.
{codecitation}
Public Sub Test_f2()
'Alle Werte in Zahlenwerte umwandeln
Dim zelle2 as Object
Sheets(1).Range("A1:C50").select
For Each zelle2 In Selection
SendKeys "{F2}", True
SendKeys "{ENTER}", True
Next zelle2
End Sub
{/codecitation}
Damit der Code auch korrekt auf das Tabellenblatt angewendet wird, muss dieser beispielsweise über eine Schaltfläche ausgeführt werden. Fügen Sie dazu eine Schaltfläche auf das betreffende Tabellenblatt ein und weisen dieser das Makro Test_f2 zu.
Alternativ können Sie den Code auch über das Menü Entwicklertools | Code | Makros ausführen. Markieren Sie dazu im Dialogfenster Makro das Makro Test_f2 und starten Sie dieses über einen Klick auf die Schaltfläche Ausführen.
Damit ist sichergestellt, dass sich die Funktion SendKeys auf das Tabellenblatt und nicht auf den VBA-Editor auswirkt.
Hinweis: Wenn Sie das Makro im VBA-Editor beispielsweise direkt über die Funktion [F5] ausführen, wirkt sich die Funktion SendKeys auf den VBA-Editor aus und nicht auf das Tabellenblatt aus, da dieser zum Zeitpunkt der Makroausführung aktiviert ist.
|