AW: Sub oder Function nicht definiert?
11.06.2024 13:36:29
Onur
Dass sie Public deklariert sind, bedutet NICHT zwingend, dass sie ohne weiteres in der ganzen Datei verfügbar sind, dafür müssten sie auch noch in einem all. Modul stehen.
Ausserdem brauchst du, wenn sie sich nur durch den Blattnamen unterscheiden, keine 4 Makros, ein Makro genügt. Du musst halt den Blattnamen mit angeben:
Public Sub Makro1(sh as string)
Dim objIE As Object
Dim objLinks As Object
Dim objLink As Object
Dim lngCount As Long
Dim lloRow As Long, lshTab2 As Worksheet
Set lshTab2 = Sheets(sh)
For lloRow = 1 To lshTab2.Cells(lshTab2.Rows.Count, 1).End(xlUp).Row
Set objIE = CreateObject("InternetExplorer.Application")
With objIE
.navigate lshTab2.Range("A" & lloRow).Text
Do While .busy
Do While .busy
DoEvents
Loop
Loop
.Visible = False
Set objLinks = .Document.Links
For Each objLink In objLinks
lngCount = lngCount + 1
lshTab2.Cells(lngCount, 2) = objLink.href
lshTab2.Cells(lngCount, 3) = "'" & objLink.outertext
Next
.Quit
End With
Application.Wait (Now + TimeValue("0:00:10"))
Next
Set objIE = Nothing
Set lshTab2 = Nothing
End Sub
Dann kannst du sie so aufrufen:
Call Makro1 ("Tabelle1")
Call Makro1 ("Tabelle2")
Call Makro1 ("Tabelle3")
Call Makro1 ("Tabelle4")