reicht Dir die Information von Hans nicht.
Gruß Hajo
Versuch's mal in etwa so ...
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" ( _ Dim hwnd As Long Sub ClearImmediateWindow()Option Explicit
Code eingefügt mit Syntaxhighlighter 1.14
ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" ( _
ByVal hwndParent As Long, ByVal hwndChildAfter As Long, _
ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SetFocus Lib "user32" (ByVal hwnd As Long) As Long
hwnd = FindWindow("wndclass_desked_gsk", vbNullString)
hwnd = FindWindowEx(hwnd, 0, vbNullString, "Direktbereich")
SetFocus hwnd
SendKeys "^{a}"
SendKeys "{DELETE}"
End Sub
Gruß
Thomas
------------------------------
Internet: Homepage
eMail: Thomas.Risi@t-online.de
------------------------------
Um das Direktfenster in Excel VBA zu löschen, kannst Du die folgende Methode verwenden. Diese Technik nutzt die Windows API, um das Direktfenster zu finden und dessen Inhalt zu löschen.
Öffne den Visual Basic for Applications (VBA) Editor in Excel.
Füge ein neues Modul hinzu, indem Du mit der rechten Maustaste auf "VBAProject" klickst und "Modul einfügen" wählst.
Kopiere und füge den folgenden Code in das Modul ein:
Option Explicit
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" ( _
ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" ( _
ByVal hwndParent As Long, ByVal hwndChildAfter As Long, _
ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SetFocus Lib "user32" (ByVal hwnd As Long) As Long
Sub ClearImmediateWindow()
Dim hwnd As Long
hwnd = FindWindow("wndclass_desked_gsk", vbNullString)
hwnd = FindWindowEx(hwnd, 0, vbNullString, "Direktbereich")
SetFocus hwnd
SendKeys "^{a}" ' Alles auswählen
SendKeys "{DELETE}" ' Löschen
End Sub
Schließe den VBA-Editor und gehe zurück zu Excel.
Führe das Makro ClearImmediateWindow
aus, um den Inhalt des Direktfensters zu löschen.
Fehler: Das Makro funktioniert nicht und das Direktfenster bleibt unverändert.
Fehler: Fehlermeldung "FindWindow nicht gefunden".
Eine andere Möglichkeit, um den Inhalt im Direktfenster zu löschen, besteht darin, das Direktfenster manuell zu leeren. Du kannst dies tun, indem Du die Tasten Strg + A
(alles auswählen) gefolgt von der Entf
-Taste (löschen) drückst. Diese Methode ist zwar weniger automatisiert, funktioniert jedoch in jeder Excel-Version.
Wenn Du regelmäßig mit VBA arbeitest und den Inhalt des Direktfensters oft löschen musst, ist es sinnvoll, das oben genannte Makro in Deine Projekte zu integrieren. Du kannst das Makro bei Bedarf aufrufen, um den Überblick über Deine Ausgaben zu behalten, ohne manuell das Direktfenster leeren zu müssen.
1. Kann ich das Makro in jeder Excel-Version verwenden? Ja, das Makro sollte in den meisten modernen Excel-Versionen funktionieren, die VBA unterstützen.
2. Ist es sicher, Windows-API-Funktionen in VBA zu verwenden? Ja, solange Du sicherstellst, dass die Funktionen korrekt deklariert sind und Du verstehst, was der Code macht. Achte darauf, von vertrauenswürdigen Quellen zu lernen.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen