繁体   English   中英

如何使用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:\1\one.xlsx")
  .Visible = False
  .Range("C:C").Copy
  .Range("B1").Select
  .ActiveSheet.Paste
  .ActiveWorkbook.Close(True)
  .Quit
End With

首先,它给我一个错误,就是剪贴板已满,最好清理一下以释放内存。 其次,我还没有在Internet中为vbscript找到连接功能。

通过一些研究和布鲁斯的帮助对我有用,以防万一有人感兴趣:

Option Explicit
Dim objExcel,LastRow
Const xlUp = -4162


Set objExcel = CreateObject("Excel.Application")
With objExcel
    .Workbooks.Open ("Z:\1\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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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