簡體   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