我的lrow
是正确的。。。但我希望我的Cells(I, matl.Column).Value
只调用可见的单元格。现在它正在呼叫所有的细胞。我试过:
Cells.SpecialCells(xlCellTypeVisible).Select(I, matl.Column).Value
这只会给我带来错误。
Lmk如果这是可能的!下面是我的代码!
lrow = Workbooks(tmpwb).Worksheets(mm).AutoFilter.Range.Columns(1).SpecialCells(xlCellTypeVisible).Cells.Count - 1
For I = 3 To lrow
'For j = 0 To 16
session.findById("wnd[0]/usr/sub:SAPMM07M:0421/ctxtMSEG-MATNR[" & I - 3 & ",7]").Text = Cells(I, matl.Column).Value
Next I
也许是这样的:
Dim col as Range, rngVis As Range, c As Range, I As Long
Set col = Workbooks(tmpwb).Worksheets(mm).AutoFilter.Range.Columns(1)
Set rngVis = col.SpecialCells(xlCellTypeVisible)
I = 3
For Each c In rngVis.Cells
If c.Row > col.Cells(1).Row Then 'skip the header
' `I` below may need to be `c.row-3` ?
session.findById("wnd[0]/usr/sub:SAPMM07M:0421/ctxtMSEG-MATNR[" & I - 3 & ",7]").Text = _
c.EntireRow.Columns(matl.Column).Value
I = I + 1
End If
Next c