【发布时间】:2022-02-21 21:16:38
【问题描述】:
我想问一下。我有一个完美运行的代码。当用户在 Excel 中过滤数据时,问题就出现了。一些行将被隐藏。然后变量 i = i + 1 不起作用。 (有效,但贯穿所有行) 基本上,我在问如何仅为可见行设置变量? 谢谢你的帮助!
i = 2
Do
'If Sheets("FORMAT").Cells(i, 7) Like "*IE-12-2007984*" Then
'End If
On Error GoTo Handler
session.findById("wnd[0]").maximize
session.findById("wnd[0]/usr/ctxtI_VBUKR").Text = "1200"
session.findById("wnd[0]/usr/ctxtI_PSPID-LOW").Text = Sheets("Stavby").Cells(i, 7)
session.findById("wnd[0]/usr/ctxtP_VARI").Text = "AKTUALIZACE"
session.findById("wnd[0]/tbar[1]/btn[8]").press
Set myGrid = session.findById("wnd[0]/usr/cntlGRID1/shellcont/shell/shellcont[1]/shell")
Sheets("Stavby").Cells(i, 2).Value = myGrid.getcellvalue(0, "TXT04")
session.findById("wnd[0]/tbar[0]/btn[3]").press
Handler2:
session.findById("wnd[0]/usr/ctxtI_PSPID-LOW").Text = Sheets("Stavby").Cells(i, 7)
i = i + 1
If Sheets("Stavby").Cells(i, 7).Value = "" Then Exit Do
Loop
If Sheets("Stavby").Cells(i, 7).Value = "" Then
Set session = Nothing
Connection.CloseSession ("ses[0]")
Set Connection = Nothing
Set SAP = Nothing
MsgBox "HOTOVO"
Exit Sub
Handler:
Resume Handler2
End If
End Sub```
【问题讨论】:
-
Range.SpecialCells(xlCellTypeVisible). -
请不要指出 SAP GUI 和 SAP GUI 脚本代码,因为您的问题只是关于 Excel 行过滤。你应该发一个minimal reproducible example。