Excel VBA查找匹配的单元格并将其复制到其他单元格
尝试生成执行以下操作的VBA代码 如果Sheet1.Range(“B7”).Value=2002_2550或文本或数字 然后在Sheet14.Range(“A:A”)中找到该值,如果该数字匹配,则复制列“B”的同一单元格 然后将复制的值粘贴到Sheet4.Range(“f11:f100”)中,直到使用的范围 我尝试了以下代码,但什么也没发生Excel VBA查找匹配的单元格并将其复制到其他单元格,excel,vba,Excel,Vba,尝试生成执行以下操作的VBA代码 如果Sheet1.Range(“B7”).Value=2002_2550或文本或数字 然后在Sheet14.Range(“A:A”)中找到该值,如果该数字匹配,则复制列“B”的同一单元格 然后将复制的值粘贴到Sheet4.Range(“f11:f100”)中,直到使用的范围 我尝试了以下代码,但什么也没发生 Sub Match() Sheet4.Range("f11:f100").Value = WorksheetFunction.Matc
Sub Match()
Sheet4.Range("f11:f100").Value = WorksheetFunction.Match(Sheet1.Range("B7").Value, Sheet14.Range("A2), 0)
End Sub
也要这样做,但没有任何效果
Sub FindStr()
Dim rFndCell As Range
Dim stFnd As String
Dim fCol As Integer
stFnd = Sheet1.Range("B7").Value
Set rFndCell = Sheet14.Range("A:A").Find(stFnd, LookIn:=xlValues)
If Not rFndCell Is Nothing Then
fCol = rFndCell.Column
Sheet14.Range("B3:B33").Copy Sheet4.Range("F100:F100")
Else 'Can't find the item
MsgBox "No Find"
End If
End Sub
请尝试下一代码行:
Dim lastR4 As Long
lastR4 = Sheet4.Range("E" & rows.count).End(xlUp).row 'last row on E:E col
Sheet4.Range("F11:F" & lastR4).Value = Sheet14.Range("A" & _
WorksheetFunction.match(Sheet1.Range("B7").Value, Sheet14.Range("A:A"), 0)).Offset(0, 1)
Sheet4.范围(“f11:f100”)直到科尔使用的范围。
你能解释一下这是什么意思吗?@Siddharth Rout:他的提问方式确实有点不恰当。但我认为他想说用“E:E”列的最后一行替换100…相信我,你真是太棒了。“它工作得真棒!”学习:很高兴我能帮上忙!但是你必须试着理解代码!就像提示一样,试着把它分成一小部分,然后测试每个这样的片段。I menDebug.Print WorksheetFunction.match(Sheet1.Range(“B7”).Value,Sheet14.Range(“A:A”),0))
,然后Debug.Print Sheet14.Range(“A”)和uuuworksheetfunction.match(Sheet1.Range(“B7”).Value,Sheet14.Range(“A:A”),0))。地址
等等。。。您必须从您收到的解决方案中学习…是的,我一定会尝试@FaneDuru谢谢您的帮助。我还需要一个关于此代码的帮助,当我更改或更新Sheet18.range(“B2”)时,此代码将自动运行。我试过了,但没用。让我发布一个新问题。@Learning:好的。请发布一个新问题,如果你需要我的帮助,请尝试标记我。这里或那里。。。(@FaneDuru)。原则上,必须使用跟随更改的图纸的图纸更改事件。但表18未参与上述计算。。。不应该是Sheet1吗?我已经把新问题发到了@FaneDuru。不,这是第15页。范围(B2)