所以我想通過A1-C200運行,並將所有內容粘貼到Word文檔中。麻煩的是,我有兩種將它粘貼到Word中的方法,但每一種都有它的缺陷。Excel宏 - 通過同一級別上的單元格運行
目標:將A1-C200複製到Word中並保留列布局,而不復制空白。
實施例1:
下面拷貝到一切Word中的代碼,但是從A1運行 - > A200,B1 - > B200,C1 - > C200。因爲它以這種方式讀取我的文件,所以我失去了我的列布局。我更喜歡這個例子的解決方案,因爲這個代碼看起來更清晰。
iMaxRow = 200
" Loop through columns and rows"
For iCol = 1 To 3
For iRow = 1 To iMaxRow
With Worksheets("GreatIdea").Cells(iRow, iCol)
" Check that cell is not empty."
If .Value = "" Then
"Nothing in this cell."
"Do nothing."
Else
" Copy the cell to the destination"
.Copy
appWD.Selection.PasteSpecial
End If
End With
Next iRow
Next iCol
實施例2:
下面副本的代碼正確的列的佈局,但也可以插入BLANCS。所以如果填寫A1-A5和A80-A90,我的Word文檔中就會有75個空白。
a1 = Range("A1").End(xlDown).Address
lastcell = Range("C1").Address
Range(a1, lastcell).Copy
With Range("A1")
Range(.Cells(1, 1), .End(xlDown).Cells(2, 3)).Copy
End With
Range("A1:C50").Copy
appWD.Selection.PasteSpecial
這個空白應該會發生什麼?您想要將A80-A90的內容在A1-A5旁邊移動嗎?或者將這些值保存在Word表格中,以免它們被空白覆蓋?假設它是一個Word表格?請澄清。 – 2011-03-31 18:29:32
另外你的第二個代碼示例是一個真正的混亂!前7行是相互冗餘的;你正在複製3個不同的範圍,而不是粘貼到任何地方。 – 2011-03-31 18:30:48
哦,例2是我的第一個編碼。但是,是的,我希望A80-A90的內容向上移動,以便它們進入A1-A5。 – CustomX 2011-04-01 07:26:14