Microsoft Office Tutorials and References
In Depth Information
19.13 VBA-Beispiele
Mappe öffnen mit GetOpenFilename
Declare Sub sleep Lib "kernel32“ _
Alias "Sleep“ (ByVal dwMilliseconds As Long)
GetOpenFilename präsentiert den Öffnen-Dialog, öffnet
aber die Mappe nicht, sondern gibt den Namen zurück,
der dann über Workbooks.Open zum Öffnen benutzt
werden kann.
Hier ein Makro zum Testen der Sleep -Funktion. Es gibt
mit einer Verzögerung von einer Sekunde 100 Zahlen in
das Direktfenster aus.
Sub sleeptest()
Dim zähler
For zähler = 1 To 100
Debug.Print zähler
sleep 1000
Next
End Sub
Sub Öffnen()
Dim dateiname
’ggf. Laufwerk und Ordner als Vorgabe setzen
ChDir "\Daten“
ChDrive "c:\“
dateiname = Application.GetOpenFilename _
("Microsoft Excel-Dateien (*.xls),*.xls“)
If dateiname = False Then Exit Sub
MsgBox "Ihre Auswahl:“ & vbNewLine & dateiname
End Sub
Listing 19.53 Makro verzögert die Schleife.
Mappe geöffnet?
Listing 19.55 Das Makro präsentiert den Öffnen-Dialog.
Um festzustellen, ob eine Mappe schon aktiv fist,
verwenden Sie eine Funktion, die mithilfe einer
Fehlerroutine prüft, ob sich die Mappe öffnen lässt. Das Ergebnis
der Funktion werten Sie in der Prozedur aus.
Tabelle existiert?
Wenn Sie per Makro eine Tabelle ansteuern, sollten Sie
über eine Funktion prüfen, ob diese auch existiert:
Sub MappeÖffnen()
Dim mappe
mappe = InputBox("Welche Mappe?“)
If mappe = "“ Then Exit Sub
If MappeO((mappe)) = False Then
MsgBox "Mappe " & mappe & " konnte nicht geöff-
net werden“
End If
End Sub
Function MappeO(wb As String) As Boolean
Dim ok
On Error Resume Next
ok = Workbooks(wb).Name
On Error GoTo Fehler
Workbooks.Open wb
MappeO = True
Exit Function
Fehler:
MappeO = False
End Function
Sub TabTest()
Dim TabSuche
TabSuche = InputBox("Tabelle?“)
If TabX(TabSuche) = True Then
MsgBox "Tabelle existiert!“
Else
MsgBox "Tabelle nicht vorhanden“
End If
End Sub
Function TabX(tabelle)
Dim T, U
TabX = False
tabelle = UCase(tabelle)
For Each T In Sheets
U = UCase(T.Name)
If U = tabelle Then
TabX = True
Exit Function
End If
Next
End Function
Listing 19.54 Das Makro testet, ob eine Mappe geöffnet fist.
Listing 19.56 Das Makro prüft, ob die Tabelle existiert.
 
Search JabSto ::




Custom Search