Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1308to1312
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Macro fehler

Macro fehler
29.04.2013 07:39:35
stef26
Hallo liebe Excelgemeinde,
habe von einem Arbeitskollegen (der nicht mehr verfügbar ist) ein Makro bekommen,
welches aus SAP Daten ziehen soll.
Das Makro macht dies auch.
Problem:
Sind in SAP 200 Zeilen vorhanden, so werden auch 200 Zeilen in XLS übernommen.
Leider bringt er ab Zeile 65 (was eine Seitenansicht in SAP ist)
immer die selben Werte, die mit den Werten in SAP nicht mehr übereinstimmen.
Ich vermute mal, dass mit dem Code (ii) "letzte sichtbare Zeile" zusammenhängt
Leider kenne ich mich da zu wenig aus...
Wer kennt sich da so gut aus, dass er mich da unterstützen kann ?
Private Sub CommandButton1_Click()
Cells(1, 1).Value = "LFDNR"
Cells(1, 2).Value = "APRIO"
Cells(1, 3).Value = "AUFNR"
Cells(1, 4).Value = "MATNR"
Cells(1, 5).Value = "TAGV"
Cells(1, 6).Value = "GAMNG"
Cells(1, 7).Value = "BUDAT"
Cells(1, 8).Value = "BEARBS"
Cells(1, 9).Value = "GLTRP"
Cells(1, 10).Value = "DISPO"
Cells(1, 11).Value = "VERST"
Cells(1, 12).Value = "VORNR"
Cells(1, 13).Value = "MAKTX"
Cells(1, 14).Value = "ARBPL"
lz = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1
Dim SapGuiAuto
Dim Application
Dim Connection
Dim session
Dim WScript
If Not IsObject(Application) Then
Set SapGuiAuto = GetObject("SAPGUI")
Set Application = SapGuiAuto.GetScriptingEngine
End If
If Not IsObject(Connection) Then
Set Connection = Application.Children(0)
End If
If Not IsObject(session) Then
Set session = Connection.Children(0)
End If
If IsObject(WScript) Then
WScript.ConnectObject session, "on"
WScript.ConnectObject Application, "on"
End If
session.findById("wnd[0]").maximize
session.findById("wnd[0]/usr/chkB_OPTH").Selected = True
session.findById("wnd[0]/usr/chkB_OPTW").Selected = True
session.findById("wnd[0]/usr/ctxtF_ARBPL").Text = "37000571"
session.findById("wnd[0]/usr/ctxtF_ARBPL").SetFocus
session.findById("wnd[0]/tbar[1]/btn[2]").press
letztezeile = session.findById("wnd[0]/usr/cntlGRID1/shellcont/shell/shellcont[1]/shell"). _
RowCount
letztesichtbarezeile = session.findById("wnd[0]/usr/cntlGRID1/shellcont/shell/shellcont[1]/ _
shell").visibleRowCount
For i = 0 To letztezeile
If i >= letztesichtbarezeile Then
session.findById("wnd[0]/usr/cntlGRID1/shellcont/shell/shellcont[1]/shell"). _
firstVisibleRow = session.findById("wnd[0]/usr/cntlGRID1/shellcont/shell/shellcont[1]/shell").firstVisibleRow + 1
ii = letztesichtbarezeile
Else
ii = i
End If
ActiveSheet.Cells(lz, 1).Value = session.findById("wnd[0]/usr/cntlGRID1/shellcont/shell/ _
shellcont[1]/shell").getcellvalue(ii, "LFDNR")
ActiveSheet.Cells(lz, 2).Value = session.findById("wnd[0]/usr/cntlGRID1/shellcont/shell/ _
shellcont[1]/shell").getcellvalue(ii, "APRIO")
ActiveSheet.Cells(lz, 3).Value = session.findById("wnd[0]/usr/cntlGRID1/shellcont/shell/ _
shellcont[1]/shell").getcellvalue(ii, "AUFNR")
ActiveSheet.Cells(lz, 4).Value = session.findById("wnd[0]/usr/cntlGRID1/shellcont/shell/ _
shellcont[1]/shell").getcellvalue(ii, "MATNR")
ActiveSheet.Cells(lz, 5).Value = session.findById("wnd[0]/usr/cntlGRID1/shellcont/shell/ _
shellcont[1]/shell").getcellvalue(ii, "TAGV")
ActiveSheet.Cells(lz, 6).Value = session.findById("wnd[0]/usr/cntlGRID1/shellcont/shell/ _
shellcont[1]/shell").getcellvalue(ii, "GAMNG")
ActiveSheet.Cells(lz, 7).Value = session.findById("wnd[0]/usr/cntlGRID1/shellcont/shell/ _
shellcont[1]/shell").getcellvalue(ii, "BUDAT")
ActiveSheet.Cells(lz, 8).Value = session.findById("wnd[0]/usr/cntlGRID1/shellcont/shell/ _
shellcont[1]/shell").getcellvalue(ii, "BEARBS")
ActiveSheet.Cells(lz, 9).Value = session.findById("wnd[0]/usr/cntlGRID1/shellcont/shell/ _
shellcont[1]/shell").getcellvalue(ii, "GLTRP")
ActiveSheet.Cells(lz, 10).Value = session.findById("wnd[0]/usr/cntlGRID1/shellcont/ _
shell/shellcont[1]/shell").getcellvalue(ii, "DISPO")
ActiveSheet.Cells(lz, 11).Value = session.findById("wnd[0]/usr/cntlGRID1/shellcont/ _
shell/shellcont[1]/shell").getcellvalue(ii, "VERST")
ActiveSheet.Cells(lz, 12).Value = session.findById("wnd[0]/usr/cntlGRID1/shellcont/ _
shell/shellcont[1]/shell").getcellvalue(ii, "VORNR")
ActiveSheet.Cells(lz, 13).Value = session.findById("wnd[0]/usr/cntlGRID1/shellcont/ _
shell/shellcont[1]/shell").getcellvalue(ii, "MAKTX")
ActiveSheet.Cells(lz, 14).Value = session.findById("wnd[0]/usr/cntlGRID1/shellcont/ _
shell/shellcont[1]/shell").getcellvalue(ii, "ARBPL")
lz = lz + 1
Next i
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Macro fehler
29.04.2013 11:01:37
selli
hallo stef,
ersetze doch mal ii = letztesichtbarezeile durch ii = letztezeile
diese variable wird doch etwas weiter oben auch definiert.
gruß
selli

AW: Macro fehler
29.04.2013 15:47:37
stef26
Danke für deine Hilfe,
Hab den Fehler gefunden. Bezug war immer die letzte sichtbare Zeie, ohne diese Vortzuzählen.
Danke trotzdem !!!!
Stefan
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige