我在疯狂尝试在VBA中做最简单的事情。
我想自动将工作表上的C列复制多次到相邻的列D,E,F ......等。相同的工作表。
单步执行代码,我将它复制到正确的列(“C:C”),但无法通过粘贴,偏移或目标将其粘贴到列D等,以获取可变数量的实例。
这是我正在使用的代码。假设所有Dim和Set语句都已完成,因为它只是较大Sub的一小部分。
sht02AnalysisSummary.Activate
For i = 0 To AddCol
i = i + 1
lLastCol = sht02AnalysisSummary.Range("C3").End(xlToLeft).Column
rangeCopy.Copy
Column.Offset("0,lLastCol+i").Paste
Next i
sht01CoverPage.Activate
现在这种方法有效,但是当AddCol设置为3时,结果是跳过D列并且只重复粘贴一次(进入E列),而它应该粘贴到D,E& F.任何指针都将非常感激。
答案 0 :(得分:0)
这应该有效:
Sub CopyPaste()
Dim sht As Worksheet
Set sht = Worksheets("Sheet1")
With sht
.Columns(3).Copy .Columns(4)
End With
End Sub
答案 1 :(得分:0)
不要在For ... Next中手动编写迭代变量;你将破坏内置的迭代和进展。
app.config(['$stateProvider', '$locationProvider', '$urlRouterProvider', function($stateProvider, $locationProvider, $urlRouterProvider) {
$stateProvider
.state("patents", {
url: "/patents",
templateUrl: "templates/patents/patent-nav.htm",
controller: "patentListCtrl"
})
.state("patents.list", {
url: "/list-patents",
templateUrl: "templates/patents/list/list-patents.htm",
controller: "patentListCtrl"
})
.state("patents.list.item", {
url: "/:id",
templateUrl: "templates/patents/list/patent-item.htm",
params: {
id: null,
clientRef: null,
renewalStatus: null,
costBandEndDate: null,
renewalCostNextStage: null,
renewalDueDate: null,
},
controller: "patentItemCtrl"
})
让我对目的地感到困惑(或者是来源......?)。也许这应该是xlToLeft
或者你应该在开始向左看之前进一步开始?
您应该能够将一个列一次粘贴到三个连续的目标列中。
xlToRight