我有两个工作表,我想使用 sheet 中的值在 sheet中to_approve
查找,然后识别单元格引用,以便我可以在相邻的单元格中粘贴一个值 ( )。column A
submitted
column B
我已经使用以下来识别单元格引用,但我不知道如何在 VBA 代码中使用它。
=ADDRESS(MATCH(To_Approve!D19,Submitted!A:A,0),1,4,1,"submitted")
我有两个工作表,我想使用 sheet 中的值在 sheet中to_approve
查找,然后识别单元格引用,以便我可以在相邻的单元格中粘贴一个值 ( )。column A
submitted
column B
我已经使用以下来识别单元格引用,但我不知道如何在 VBA 代码中使用它。
=ADDRESS(MATCH(To_Approve!D19,Submitted!A:A,0),1,4,1,"submitted")
虽然可以在 VBA 中使用许多函数,但使用Application.WorksheetFunction.FunctionName
ADDRESS 不是其中之一(MATCH 是)
但即使它可用,我仍然会使用如下Find 方法:
FindNext
就像是
Sub GetCell()
Dim ws As Worksheet
Dim rng1 As Range
Set ws = Sheets("submitted")
Set rng1 = ws.Columns("A").Find(Sheets("To_Approve").[d19], , xlValues, xlWhole)
If Not rng1 Is Nothing Then
MsgBox rng1.Address & " in sheet " & ws.Name
Else
MsgBox "not found", vbCritical
End If
End Sub
这个例子应该让您了解如何在另一张纸上找到相应的值并将第二个值放在左侧的列中。使用VBA时,无需选择单元格再粘贴;您可以直接在范围(单元格)对象中输入值。
Sub TransferValue()
Dim rngSearch As Range
Dim rngFind As Range
Dim dValue As Double
' initialization
Set rngSearch = Worksheets("to_approve").Range("D19")
dValue = Date
' find the match & insert value
Set rngFind = Worksheets("submitted").Columns(1).Find(What:=rngSearch.Value)
If Not rngFind Is Nothing Then
rngFind.Offset(ColumnOffset:=1).Value = dValue
End If
End Sub
(注意:dValue 是您要输入的任何值的占位符。)