简体   繁体   English

在VBA中使用公式并复制另一个工作簿

[英]Using formula with vba and copy another workbook

I have a column with a text in every cell to extract, in some way, in another column. 我有一列,每个单元格中都有一个文本,以某种方式可以提取到另一列中。

I make this vba script but doesn't work for apply the formula in another column for every cell, it make as a loop and i don't see nothing. 我制作了此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

And this to copy the result in another workbook: 然后将结果复制到另一个工作簿中:

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

For the copying and pasting between workbooks, the following should help: 对于工作簿之间的复制和粘贴,以下内容应有所帮助:

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM