Ich bekomme es nicht hin Strg + s für Speichern zu senden.
Vielen fan dank im voraus
Um in Excel das Speichern mit der Tasten-Kombination Strg + S über VBA zu automatisieren, kannst du die SendKeys-Methode verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:
Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
Füge ein neues Modul hinzu, indem du im Menü auf Einfügen > Modul klickst.
Schreibe den folgenden VBA-Code in das Modul:
Sub SpeichernMitSendKeys()
Application.SendKeys "^s"
End Sub
Schließe den VBA-Editor und kehre zurück zu Excel.
Du kannst das Makro ausführen, indem du ALT + F8 drückst, das Makro SpeichernMitSendKeys auswählst und auf Ausführen klickst.
Jetzt sollte das Makro das Speichern in Excel mit Strg + S auslösen.
Fehler: Das Makro funktioniert nicht.
Stelle sicher, dass das Excel-Fenster aktiv ist, wenn das Makro ausgeführt wird. SendKeys funktioniert nur, wenn das richtige Fenster den Fokus hat.
Fehler: Excel speichert nicht.
Überprüfe, ob du die Datei bereits gespeichert hast oder ob ein Dialogfeld (z.B. „Datei speichern unter“) geöffnet ist. In solchen Fällen kann SendKeys nicht korrekt arbeiten.
Falls SendKeys nicht funktioniert, kannst du alternativ das .Save-Objekt in VBA verwenden, um die aktuelle Arbeitsmappe zu speichern:
Sub SpeichernOhneSendKeys()
ThisWorkbook.Save
End Sub
Dies ist eine zuverlässigere Methode, um die Arbeitsmappe zu speichern, ohne die Tastenkombination Strg + S verwenden zu müssen.
Hier sind einige Anwendungsfälle für SendKeys in Verbindung mit Excel:
Speichern nach einer Eingabe:
Du kannst SendKeys verwenden, um das Speichern nach einer Benutzereingabe auszulösen. Zum Beispiel:
Sub SpeichernNachEingabe()
' Eingabeaufforderung
Dim BenutzerEingabe As String
BenutzerEingabe = InputBox("Bitte gib etwas ein:")
' Speichern
Application.SendKeys "^s"
End Sub
Speichern in einer Schleife:
Wenn du regelmäßig speichern möchtest, könntest du eine Schleife verwenden:
Sub AutoSpeichern()
Dim i As Integer
For i = 1 To 5
Application.SendKeys "^s"
Application.Wait Now + TimeValue("00:01:00") ' 1 Minute warten
Next i
End Sub
SendKeys, wenn möglich: Es ist oft besser, direkt mit VBA zu arbeiten (z.B. .Save), da SendKeys unzuverlässig sein kann.SendKeys haben können.1. Was ist SendKeys in VBA?
SendKeys ist eine Methode in VBA, mit der du Tasteneingaben an ein aktives Fenster senden kannst, um Aktionen auszuführen, wie z.B. Speichern mit Strg + S.
2. Funktioniert SendKeys in allen Excel-Versionen?
Ja, SendKeys ist in den meisten Versionen von Excel verfügbar, jedoch kann die Zuverlässigkeit variieren, insbesondere wenn andere Programme im Vordergrund sind.
3. Gibt es eine Alternative zu SendKeys?
Ja, du kannst direkt das .Save-Objekt verwenden, um die aktuelle Arbeitsmappe zu speichern, was eine viel stabilere Methode ist.