Stephan Koob
Stephan Koob

Reputation: 1

How to pass variable row to session.findById?

I need to loop at this section and overwrite the x marked positions with my variable x value but if I use it as it is shown in the code below, nothing happens.

If I enter any value like 1 or 2 instead of x it works. How can I use a variable instead of a value in these places?

Here is the code:

For j = 1 To SumPositionen
    If Sheets("Datenverarbeitung").Cells(Z, 4) = tempCommodityForm Then
        session.findById("wnd[0]/usr/tabsTAB_DETAILS/tabpTAB_MF/ssubTABMF:/HERA/TRDMF10:2023/tbl/HERA/TRDMF10TC_2023/ctxt/HERA/TRDINOUT_S-MATNR[1,x]").Text = Sheets("Datenverarbeitung").Cells(a, 5) 'Eingabe Materialnummer in 1. Position
        session.findById("wnd[0]/usr/tabsTAB_DETAILS/tabpTAB_MF/ssubTABMF:/HERA/TRDMF10:2023/tbl/HERA/TRDMF10TC_2023/txt/HERA/TRDINOUT_S-MFQUAN[2,x]").Text = Sheets("Datenverarbeitung").Cells(a, 6) 'Eingabe Menge in 1. Position
        session.findById("wnd[0]/usr/tabsTAB_DETAILS/tabpTAB_MF/ssubTABMF:/HERA/TRDMF10:2023/tbl/HERA/TRDMF10TC_2023/ctxt/HERA/TRDINOUT_S-MFU[3,x]").Text = Sheets("Datenverarbeitung").Cells(a, 7) 'Eingabe UoM
        x = x + 1
    End If
    a = a + 1
Next j

enter image description here

Upvotes: 0

Views: 4493

Answers (2)

Takdir Madhavi
Takdir Madhavi

Reputation: 39

define data type to variable link string and integer

Upvotes: 0

Tim Williams
Tim Williams

Reputation: 166341

session.findById("wnd[0]/usr/tabsTAB_DETAILS/tabpTAB_MF/ssubTABMF:/HERA/" & _
  "TRDMF10:2023/tbl/HERA/TRDMF10TC_2023/ctxt/HERA/TRDINOUT_S-MATNR[1,x]").Text

Here your string includes the literal value "x". What you really want is likely something more like:

session.findById("wnd[0]/usr/tabsTAB_DETAILS/tabpTAB_MF/ssubTABMF:/HERA/" & _
  "TRDMF10:2023/tbl/HERA/TRDMF10TC_2023/ctxt/HERA/TRDINOUT_S-MATNR[1," & x & "]").Text

So something like:

Dim s As String, sht As Worksheet
'....
'....

Set sht = Sheets("Datenverarbeitung")

s = "wnd[0]/usr/tabsTAB_DETAILS/tabpTAB_MF/ssubTABMF:/HERA/" & _
    "TRDMF10:2023/tbl/HERA/TRDMF10TC_2023/ctxt/HERA/"

For j = 1 To SumPositionen
    If sht.Cells(Z, 4) = tempCommodityForm Then
        session.findById(s & "TRDINOUT_S-MATNR[1," & x & "]").Text = sht.Cells(a, 5)  'Eingabe Materialnummer in 1. Position
        session.findById(s & "TRDINOUT_S-MFQUAN[2," & x & "]").Text = sht.Cells(a, 6) 'Eingabe Menge in 1. Position
        session.findById(s & "TRDINOUT_S-MFU[3," & x & "]").Text = sht.Cells(a, 7)    'Eingabe UoM
        x = x + 1
    End If
    a = a + 1
Next j

Upvotes: 1

Related Questions