![](/img/trans.png)
[英]Excel vba: copy values in a range to another workbook using R1C1 formula
[英]Using formula with vba and copy another workbook
我有一列,每個單元格中都有一個文本,以某種方式可以提取到另一列中。
我制作了此vba腳本,但不適用於將公式應用於每個單元格的另一列中,它使成為一個循環,但我什么也沒看到。
Sub CommandButtonClick()
Dim Addr As String
Addr = Range("E2:E") & Cells(Rows.Count,"E").End(xlUp).Row).Address
Range(Addr) = Evaluate("SUBSTITUTE(RIGHT(E2,LEN(E2)-
FIND("=>",E2)),CHAR(62),"")")
END Sub
然后將結果復制到另一個工作簿中:
Sub copyresult()
Dim x As Workbook
Dim y As Workbook
'## Open both workbooks first:
Set x = Workbooks.Open(" ticketsosurgenti ")
Set y = Workbooks.Open(" ticketsos ")
'Now, copy what you want from x:
x.Sheets("Sheet1").Range("C2:C").Copy
x.Sheets("Sheet1").Range("D2:D").Copy
'Now, paste to y worksheet:
y.Sheets("Sheet1").Range("A1:A").PasteSpecial
y.Sheets("Sheet1").Range("B1:B").PasteSpecial
'Close x:
x.Close
End Sub
對於工作簿之間的復制和粘貼,以下內容應有所幫助:
Sub copyresult()
Dim x As Workbook
Dim y As Workbook
Dim LastRow As Long
'## Open both workbooks first:
Set x = Workbooks.Open("C:/ticketsosurgenti.xlsx")
Set y = Workbooks.Open("C:/ticketsos.xlsx")
'above amend the path and filename of both your workbooks
Dim wsX As Worksheet: Set wsX = x.Sheets("Sheet1")
Dim wsY As Worksheet: Set wsY = y.Sheets("Sheet1")
LastRow = wsX.Cells(wsX.Rows.Count, "A").End(xlUp).Row
'get the last row with data on Column A on Sheet x
wsX.Range("C2:C" & LastRow).Copy
wsY.Range("A1").PasteSpecial xlPasteAll
wsX.Range("D2:D" & LastRow).Copy
wsY.Range("B1").PasteSpecial xlPasteAll
x.Close
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.