![](/img/trans.png)
[英]Copy Range From One Sheet Paste Part of Range In Same Sheet Based On Cell Value On Another Sheet
[英]Copy a cell on one sheet and paste it on another VBA based on cell from each sheet matching
我希望有人可以在這里幫助我。 我有以下代碼,在運行它時會返回錯誤消息。 我有一個報告,每小時都會導入Sheet2。 我需要在單元格D16中獲取值並將其復制。 然后,我需要將Sheet2!A2與Sheet3的第1行中的單元格匹配,並將數據粘貼到相應列下。
對於解決此問題的任何意見或建議,我將不勝感激。
提前致謝!
Sub CopyPaste()
Dim ws1 As Worksheet, ws2 As Worksheet, rng As Range, frng As Range
Set ws1 = Worksheets("Sheet2")
Set ws2 = Worksheets("Sheet3")
Set rng = ws1.Range("D16")
Set frng = ws2.Rows(1).Find(What:=Range("Sheet2!A2"), After:=Range("Sheet3!A1"), LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False)
rng.Copy
frng.Offset(1, 0).PasteSpecial (xlPasteValues)
Application.CutCopyMode = 0
結束子
我會這樣做:
Sub CopyPaste()
Dim ws1 As Worksheet, ws2 As Worksheet
Dim res
Set ws1 = Worksheets("Sheet2")
Set ws2 = Worksheets("Sheet3")
res = Application.Match("*" & ws1.Range("A2") & "*", ws2.Range("1:1"), 0)
If IsError(res) Then
MsgBox "Nothing found"
Exit Sub
End If
ws2.Cells(2, res).Value = ws1.Range("D16").Value
End Sub
要進行完全匹配,請使用res = Application.Match(ws1.Range("A2"), ws2.Range("1:1"), 0)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.