如何使用 vbscript 复制粘贴和连接 Excel 列?
How to copy paste and concatenate Excel column with vbscript?
我正在玩 vbscript 以及如何让我的生活更轻松。现在我想要 运行 一个脚本来打开 excel 文件。将 C 列(未知行 - 长度)复制到 B 列并将其连接到某些内容。
示例:
-------------------
||| A | B | C |
-------------------
|1|ONE | ANY | 11 |
|2|TWO | ANY | 42 |
|3|FOUR| ANY | 96 |
|4|SIX | ANY | 42 |
-------------------
为此:
||| A | B | C |
-------------------
|1|ONE |*11* | 11 |
|2|TWO |*42* | 42 |
|3|FOUR|*96* | 96 |
|4|SIX |*42* | 42 |
-------------------
到目前为止我试过这个:
Option Explicit
Dim objExcel
Set objExcel = CreateObject("Excel.Application")
With objExcel
.Workbooks.Open ("Z:\one.xlsx")
.Visible = False
.Range("C:C").Copy
.Range("B1").Select
.ActiveSheet.Paste
.ActiveWorkbook.Close(True)
.Quit
End With
首先它给我一个剪贴板已满的错误,最好清理一下以释放内存。其次,我还没有在互联网上找到 vbscript 的连接函数。
经过一些研究和 Bruce 的帮助,如果有人感兴趣的话:
Option Explicit
Dim objExcel,LastRow
Const xlUp = -4162
Set objExcel = CreateObject("Excel.Application")
With objExcel
.Workbooks.Open ("Z:\onest.xlsx")
.Visible = False
LastRow = .Range("A1048576").End(xlUp).Row
.Range("C1:" & "C" & LastRow).Copy
.Range("B1").Select
.ActiveSheet.Paste
Do While LastRow <>0
.Cells(LastRow,2)="*"&.Cells(LastRow,3)&"*"
LastRow = LastRow - 1
Loop
.ActiveWorkbook.Close(True)
.Quit
End With
我正在玩 vbscript 以及如何让我的生活更轻松。现在我想要 运行 一个脚本来打开 excel 文件。将 C 列(未知行 - 长度)复制到 B 列并将其连接到某些内容。
示例:
-------------------
||| A | B | C |
-------------------
|1|ONE | ANY | 11 |
|2|TWO | ANY | 42 |
|3|FOUR| ANY | 96 |
|4|SIX | ANY | 42 |
-------------------
为此:
||| A | B | C |
-------------------
|1|ONE |*11* | 11 |
|2|TWO |*42* | 42 |
|3|FOUR|*96* | 96 |
|4|SIX |*42* | 42 |
-------------------
到目前为止我试过这个:
Option Explicit
Dim objExcel
Set objExcel = CreateObject("Excel.Application")
With objExcel
.Workbooks.Open ("Z:\one.xlsx")
.Visible = False
.Range("C:C").Copy
.Range("B1").Select
.ActiveSheet.Paste
.ActiveWorkbook.Close(True)
.Quit
End With
首先它给我一个剪贴板已满的错误,最好清理一下以释放内存。其次,我还没有在互联网上找到 vbscript 的连接函数。
经过一些研究和 Bruce 的帮助,如果有人感兴趣的话:
Option Explicit
Dim objExcel,LastRow
Const xlUp = -4162
Set objExcel = CreateObject("Excel.Application")
With objExcel
.Workbooks.Open ("Z:\onest.xlsx")
.Visible = False
LastRow = .Range("A1048576").End(xlUp).Row
.Range("C1:" & "C" & LastRow).Copy
.Range("B1").Select
.ActiveSheet.Paste
Do While LastRow <>0
.Cells(LastRow,2)="*"&.Cells(LastRow,3)&"*"
LastRow = LastRow - 1
Loop
.ActiveWorkbook.Close(True)
.Quit
End With