Hallo zusammen,
ich habe eine Arbeitsmappe, in der mit VBA momentan im 3. Tabellenblatt das Ergebnis einer Hyperlinkabfrage angezeigt wird, Ich möchte das Ergebnis stattdessen in einem ganz bestimmten Tabellenballt mit dem Namen Profidaten anzeigen lassen. Der VBA-Code steht unten.
Ich kann zwar die Nummer des Zieltabellenblatts ändern, aber das ist m..E. deshalb nicht unproblematisch, weil damit die Gefahr besteht, dass die Anordnung der Tabellenblätter verändert wird und das Makro dann nicht mehr in der richtigen Tabelle ausgeführt wird.
Vielen Dank vorab für jegliche Hilfe.
Klaus aka drmojo
Sub DatenLaden()
Sub DatenLaden()
' Hier wird das Steuerbezirksverzeichnis automatisch aus ISYS geladen
Sheets("Profidaten").Select
Range("A1").Select
Lade_ZustAuto 3 (ANMERKUNG: mit der Zahl 3 wird die Ausgabe in das 3. Tabellenblatt gesteuert)
'
' ggf. weitere Schritte in diesem Hauptteil eintragen
'
'
End Sub
Private Sub Lade_ZustAuto(ByVal ziel_ws As Integer)
Dim xlApp As Object
Dim xlwb As Object
Dim Excel As Object
Dim index As Integer
Dim FA_NummerManuell As Integer
Application.ScreenUpdating = False
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = False
If Sheets("Eingabe").Range("A1").Value = "" Then
Set xlwb = xlApp.Workbooks.Open("http://isys/cgi-bin/persinfo/auswertung.pl?art=stbezeinzel&dienststelle=" & FA_Nummer & "&format=xls&dateiname=stbez")
Else
FA_NummerManuell = Sheets("Eingabe").Range("A2").Value
Set xlwb = xlApp.Workbooks.Open("http://isys/cgi-bin/persinfo/auswertung.pl?art=stbezeinzel&dienststelle=" & FA_NummerManuell & "&format=xls&dateiname=stbez")
End If
Set Excel = xlwb.Worksheets(1)
index = 2
Worksheets(3).Range("I1:I2") = ""
For x = 5 To Excel.UsedRange.Rows.Count
If IsNumeric(Excel.Cells(x, 1)) Then
' Worksheets(ziel_ws).Range("A" & index & ":G" & index) = Excel.Range("A" & x & ":G" & x).Value
Worksheets(ziel_ws).Range("J" & index & ":Q" & index) = Excel.Range("A" & x & ":H" & x).Value
If Excel.Cells(x, 1) = 5000 Then
Worksheets(ziel_ws).Cells(1, 9) = index
ElseIf Left(Excel.Cells(x, 1), 2) = 57 And Worksheets(ziel_ws).Cells(2, 9) = "" Then
Worksheets(ziel_ws).Cells(2, 9) = index
End If
index = index + 1
End If
Next
Worksheets(3).Range("I1:I2") = ""
xlwb.Close savechanges:=False
xlApp.Quit
Set Excel = Nothing
Set xlwb = Nothing
Set xlApp = Nothing
Application.ScreenUpdating = True
End Sub