Habe ein Tabellenblatt, welches beim Start automatisch ein Makro ausführt. Es funktioniert alles einwadfrei. Nur wenn ich das Tabellenblatt über einen Link im Broser ( Internet Explorer) öffne, startet sofort das Makro das Tabellenblatt wird aber nicht in Excel angezeigt.
Kennt jemand das Problem:
Hier ist mein Code:
'--------------------------------------------------------------------------------------------
' Beschreibung:
' Makro wird beim Start des "Telefonverzeichnis" automatisch gestartet.
' Das Makro erwartet einen Suchbefehl. Durchsucht wird das Tebellenblatt "Gesamt"
' Gefundene Ergebnisse, werden in der UserForm1 angezeigt.
' Dietrich RPS; Jeanecke LZA Tübingen, Juli 2007
'--------------------------------------------------------------------------------------------
'
Sub Telefonverzeichnis()
Sub Workbook_Open()
' Possition des Excel Fensters
With ActiveWindow
.WindowState = xlNormal
.Top = 1
.Left = 1
.Height = Application.UsableHeight
.Width = Application.UsableWidth
End With
Start:
Dim wbExcelDatei As Workbook
Dim wsTabelle As Worksheet
Dim strSuchBegriff As String
Dim rngSuchErgebnis As Range
Dim strErsteAdresse As String
Dim frage1 As String
Dim frage2 As String
' Suchbegriffseingabe
strSuchBegriff = InputBox("Bitte geben Sie den Namen ein:" _
& Chr(10) & "Bitte Gross - Klein Schreibung beachten" _
& Chr(10) & "Sie können auch nur Teile vom Namen als Suchbegriff _
_
verwendet." _
& Chr(10) & "Beispiel: Mayer; May; oder aye; yer", _
"Suche nach Telefonnummern ©RPS 07.2007 " _
_
)
' Abbrechen gedrückt -> Beenden
If strSuchBegriff = "" Then
Beep
frage1 = MsgBoxEx("Bitte geben Sie einen Namen ein, oder wollen Sie die Anwendung schließ _
_
en", _
Array("Erneut suchen", "Anwendung schließen"), _
vbQuestion, _
"Suchenmaske !!!!", _
"Geben Sie bitte im Suchfeld einen Namen ein, oder brechen Sie die _
Aktion ab")
' MsgBox frage1
Select Case frage1
Case 1
GoTo Start
Case 2
GoTo Ende
End Select
End If
' Alle geöffneten Exceldatein durchlaufen
For Each wbExcelDatei In Workbooks
' Nur das Tabellenblatt "Gesamt" in den geöffneten Exceldatein durchlaufen
For Each wsTabelle In wbExcelDatei.Sheets
If wsTabelle.Name = "Gesamt" Then
'------------------------------------------------------------------------------- _
_
' Suchbegriff suchen Unterscheidung nach Groß - Klein - Schreibung
' Tip von Frau Jaenecke - LZA Tübingen
'------------------------------------------------------------------------------- _
_
I = 2
j = 1
For I = 2 To 3000
strsuch = Cells(I, j)
If InStr(strsuch, Chr(44)) > 0 Then strsuch = Mid(strsuch, 1, InStr( _
strsuch, Chr(44)) - 1)
If InStr(strsuch, strSuchBegriff) > 0 Then
With UserForm1.ListBox1
.AddItem
.Column(0, .ListCount - 1) = Cells(I, j + 0)
.Column(1, .ListCount - 1) = Cells(I, j + 1)
.Column(2, .ListCount - 1) = Cells(I, j + 2)
.Column(3, .ListCount - 1) = Cells(I, j + 3)
.Column(4, .ListCount - 1) = Cells(I, j + 4)
.Column(5, .ListCount - 1) = Cells(I, j + 5)
.Column(6, .ListCount - 1) = Cells(I, j + 6)
End With
End If
Next I
End If
Next
Next
' Wenn Suchstring gefunden, aufruf der UserForm1
' Wenn kein Suchstring gefunden, Aufruf frage2
If UserForm1.ListBox1.ListCount = 0 Then
Beep
frage2 = MsgBoxEx("Die gesuchten Zeichen: " & Chr(34) & strSuchBegriff & Chr(34) & _
" konnte im Telefonverzeichnis nicht gefunden werden!!!!!" _
& Chr(10) & "Beachten Sie auch die Groß - Klein - Schreibung", _
Array("Erneut suchen", "Anwendung schließen"), _
vbExclamation, _
"Suchbefehl nicht gefunden!!!", _
"Sie haben einen falschen Suchbefehl eingegeben")
Select Case frage2
Case 1
GoTo Start
Case 2
'Application.Quit
ActiveWorkbook.Close savechanges:=False
End Select
Else
UserForm1.Show
GoTo Start
End If
Ende:
'Application.Quit
ActiveWorkbook.Close savechanges:=False
End Sub