簡體   English   中英

將多個單元格從excel列復制到剪貼板

[英]Copy multiple cells from excel column to clipboard

例子

有沒有辦法從excel中復制多個選定的單元格,如下所示? 它始終復制從第一個選定單元格到最后一個單元格的整個范圍,而不是從選定單元格復制值。

VBA 代碼會很有用。

以下將有所幫助,這會將指定的范圍復制到剪貼板,以便您可以將它們粘貼到記事本中:

Sub CopyToClipboard()
Dim ws As Worksheet: Set ws = ThisWorkbook.Worksheets("Sheet1")
'declare and set the worksheet you are working with, amend as required
ws.Range("B11:B12,B14,B18,B20,B22").Copy
'copy range to clipboard
End Sub

更新:

一個可能的解決方法是使用臨時工作表並將選定的值添加到其中,然后將該范圍復制到剪貼板,有點冗長,但它會起作用:

Sub CopyToClipboard()
Dim ws As Worksheet: Set ws = ThisWorkbook.Worksheets("Sheet1")
'declare and set the worksheet you are working with, amend as required
Dim work As Worksheet
Dim arr() As Variant
i = 0

For Each work In ThisWorkbook.Worksheets
    If work.Name = "Temp" Then
        Application.DisplayAlerts = False
        work.Delete
        Application.DisplayAlerts = True
    End If
Next
'if Temp worksheet exists then delete it

For Each c In Selection
    i = i + 1
    ReDim Preserve arr(1 To i)
    arr(i) = c.Value
Next
'above add the values from selection to an array

Set ws2 = ThisWorkbook.Sheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count))
ws2.Name = "Temp"
'add a temporary worksheet

For x = LBound(arr) To UBound(arr)
    ws2.Cells(x, 1).Value = arr(x)
Next x
'copy values from array into temp worksheet

LastRow = ws2.Cells(ws2.Rows.Count, "A").End(xlUp).Row
ws2.Range("A1:A" & LastRow).Copy
'copy continuous range from Temp worksheet
End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM