我正在使用此代码尝试获取行和列,其中有我正在查找的单元格,但它不返回任何内容。任何人都可以帮助我。
i = 1
Do While Workbooks("Lisses.xls").Sheets("Components").Cells(i, 2).Value <> ""
Set cell = Cells.Find(What:=Workbooks("Lisses.xls").Sheets("Components").Cells(i, 2).Value)
Dim a() As String
a = Split(cell.Address, "$")
Workbooks("macro_example.xlsx").Sheets("Feuil1").Cells(i, 7).Value = Workbooks("COMPSTK.xls").Sheets("COMPSTK").Cells(a(1), a(2)).Value
i = i + 1 'Passe à la ligne suivante
Loop
答案 0 :(得分:0)
您不需要使用字符串数组 - 这只会使其过于复杂。
cell
变量是一个Range对象,具有.Row
和.Column
属性。您可以使用这些而不是a(1)
和a(2)
,即Sheets("COMPSTK").Cells(cell.Row, cell.Column).Value
或者,您可以使用.Address
的{{1}}属性,即cell
。我还没有检查过这是否有效,但值得尝试。
答案 1 :(得分:0)
我找到了, 我刚刚使用ActiveCell来选择我正在寻找的单元格
Do While Workbooks("Lisses.xls").Sheets("Components").Cells(i, 2).Value <> ""
Set o = Cells.Find(What:=Workbooks("Lisses.xls").Sheets("Components").Cells(i, 2).Value)
If Not o Is Nothing Then
o.Activate
Workbooks("Lisses.xls").Sheets("Components").Cells(i, 2).Value = Workbooks("COMPSTK.xls").Sheets("COMPSTK").Cells(ActiveCell.Row, 7).Value
End If
i = i + 1 'Passe à la ligne suivante
Loop