編輯: 這是問題的一個通用的解決方案「如何複製的範圍」。答案是 - 聲明源和目標和源複製到目標:
Option Explicit
Public Sub TestMe()
Dim rngSource As Range
Dim rngTarget As Range
With Worksheets(1)
Set rngSource = .Range(.Cells(2, "A"), .Cells(100, "B"))
Set rngTarget = .Range(.Cells(2, "C"), .Cells(100, "D"))
rngSource.Copy
rngTarget.PasteSpecial xlPasteAll
Application.CutCopyMode = False
End With
End Sub
如果你只是想整列複製,嘗試這樣的事情:
Sub TestMe()
Range(Columns(5), Columns(6)).Copy
Range(Columns(7), Columns(8)).PasteSpecial xlPasteAll
Application.CutCopyMode = False
End Sub
它將複製列5到6到7到8列。當然,你可以把變量放在數字中而不是數字上。
這是更復雜一點,與變量:
Sub TestMe()
Dim lngCopyColumn As Long: lngCopyColumn = 2
Dim lngPasteColumn As Long: lngPasteColumn = 10
Dim lngLenC As Long: lngLenC = 3
Range(Columns(lngCopyColumn), Columns(lngCopyColumn + lngLenC)).Copy
Range(Columns(lngPasteColumn), Columns(lngPasteColumn + lngLenC)).PasteSpecial xlPasteAll
Application.CutCopyMode = False
End Sub
你是什麼意思與LngLenC?這是總行數? k,清除 – MyName
@MyName - 合計範圍內的列。這兩個範圍應該是相同的。 – Vityata
謝謝。唯一的事情是它選擇整個列。我需要用1從第一個單元格(從單元格2)結束(xlDown)來抵消它。我試圖繞過一些小小的成功。你能指定這個命令需要去的地方嗎? 'WsStam.Range(列(iKolomnrCorpID),列(iKolomnrCorpID))。複製' – MyName