Итак, я хочу запустить A1-C200 и вставить все в документ Word.Проблема в том, что у меня есть два способа вставить его в Word, но у каждого есть свой недостаток.
Цель: скопировать 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:
Приведенный ниже код копирует правильный макет столбца,но также вставляет бланки.Поэтому, если заполнены A1-A5 и A80-A90, у меня будет 75 бланков в моем документе Word.
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