SAP Jobsuche bei DV-Treff
Yusmi
  • Yusmi
  • SAP Forum - Neuling Thema Starter
vor 5 Monate
Hallo zusammen,

hier eine Zeile aus meinem VBA-Code, wo ich in der Tabellendarstellung in SAP Zeilen markiere und dann die Kalkulationsdateien abrufe, weil SAP immer nur 1000 Zeilen abrufen kann. Jetzt will ich in einer For- Schleife mit den Variablen m bis n die nächsten 1000 markieren. Jedoch erkennt VBA im Code m - n als Differenz und markiert immer wieder die ersten 1000 Zeilen.

Kann jemand helfen?

session.findById("wnd[0]/usr/cntlGRID1/shellcont/shell").selectedRows = m - n

Die Syntax mit absoluten Zahlen funktioniert, also

session.findById("wnd[0]/usr/cntlGRID1/shellcont/shell").selectedRows = "1-1000"

session.findById("wnd[0]/usr/cntlGRID1/shellcont/shell").selectedRows = "1001-2000" etc...

Jedoch weiß ich nicht immer vorher, wie viele Zeilen die Tabelle hat, deswegen muss ich mit den Variablen arbeiten.

So sieht der Code in dem Abschnitt komplett aus.

Dim lRow, eZeile, i As Long

lRow = session.findById("wnd[0]/usr/cntlGRID1/shellcont/shell").RowCount

Debug.Print lRow

eZeile = WorksheetFunction.RoundUp(lRow, -3) / 1000

Debug.Print eZeile

Dim m, n As String

m = 1

n = 1000

'Markieren und Kalkulationsdaten ziehen

For i = 1 To eZeile

session.findById("wnd[0]/usr/cntlGRID1/shellcont/shell").selectedRows = m - n

session.findById("wnd[0]/tbar[1]/btn[36]").press

m = m + 1000

n = n + 1000

If n >= lRow Then

n = lRow

End If

Debug.Print i

Debug.Print m

Debug.Print n

Next i

Förderer

Oma Erika
vor 6 Tage
Hallo Yusimi,

>>Dim m, n As String

Na ja, das sind dann keine Zahlen ... Aber werden dann als solche gewertet? Evtl. mit " bzw. ' als String markieren?

Ich kenne mich mit VBA nicht aus, gibt es zu selectedRows auch begin und end?

"m - n" wird ja auch nicht funktionieren, da als Text gelesen.

In ABAP würde ich es mit CONCATENATE versuchen:

m & n als Integer (!)

CONCATENATE m '-' n INTO ... (Variable TYPE STRING).

Es gibt hier noch eine Variante mit dem senkrechten Strich, hat meine Tastatur leider nicht.

HTH

Oma Erika