我正在尝试从 Excel 文件到 SAP 表中查找特定文本。
我尝试了下面的代码,但它给了我错误“无效的下一个控制变量引用”
到目前为止,下面是我的代码:
set rLastRow = rSheet.Cells(rSheet.rows.Count, "AO").End(xlUp).Row
Set Table = session.FindById("wnd[0]/usr/cntlGRID1/shellcont/shell/shellcont[1]/shell")
rows = Table.RowCount - 1
cols = Table.RowCount - 1
Dim columns As Object
Set columns = Table.ColumnOrder
For i = 0 To rows
For j = 2 To rLastRow
If rSheet.Cells(j, "AO").Value = Table.GetCellValue(i, columns(3)) Then
MsgBox "Found!" & rSheet.Cells(j, "AO").Value & Table.GetCellValue(i, columns(3)), vbOKOnly
Else
'proceed to next value to find
End If
Next i
Next j
我想要做的是对于 Excel 中“AO”范围内的每个单元格,它将在我的 GridView (SAP: fbl3n) 中查找匹配项。
是否有另一种方法可以循环到范围(excel)中的每个单元格并在 SAP 表(GridView)中查找它?
如果报告显示为网格,您可以尝试以下操作:
Sub Test()
'
' Test Makro
'
Set SapGuiAuto = GetObject("SAPGUI")
Set SAPApplication = SapGuiAuto.GetScriptingEngine
Set Connection = SAPApplication.Children(0)
Set session = Connection.Children(0)
rLastRow = ActiveCell.SpecialCells(xlLastCell).Row
Set Table = session.findById("wnd[0]/usr/cntlGRID1/shellcont/shell/shellcont[1]/shell")
allRows = Table.RowCount - 1
Dim columns As Object
Set columns = Table.ColumnOrder
For i = 2 To rLastRow
'MsgBox Application.ActiveSheet.Cells(i, 41).Value
ActiveSheet.Cells(i, 41).Select
For j = 0 To allRows
'MsgBox Table.GetCellValue(j, columns(3))
If ActiveSheet.Cells(i, 41).Value = Val(Table.GetCellValue(j, columns(3))) Then
Table.setCurrentCell j, ""
Table.selectedRows = j
MsgBox "Found: " & ActiveSheet.Cells(i, 41).Value & " / " & Table.GetCellValue(j, columns(3)), vbOKOnly
End If
Next
Next
'
End Sub
问候,
脚本人
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)