【发布时间】:2015-03-03 05:40:42
【问题描述】:
在 worksheet1 ('add') 中,我有一个表格,范围从 A4 到 Z14。它用于显示具有不同港口的船舶的航行,并自动计算时间和日期。我想将此表(此特定航次)复制到另一个包含船舶完整行程的工作表 2('schedule')。为此,我使用 VBA 将范围复制到剪贴板。 (我用它运行了一些其他宏,但解释变得有些复杂。)
我的问题:我只想复制包含端口调用的范围。端口在 C 列中输入,因此范围为 C4 到 C14。因此,如果航程中只有三个端口,C4 到 C6 包含端口名称,C7 到 C14 为空或 0。复制的范围应为 A4:Z6。如果有五个端口,则范围应为A4:Z8。
由于对于某些单元格需要复制公式,而对于某些只有值(来自一般输入表),我首先插入了完整的范围,然后复制/粘贴了范围的值以打破与通用输入表的链接。
Dim myC As Range
Set myC = ActiveCell
Application.CutCopyMode = False
'insert
Sheets("Add").Select
Rows("5:14").Select
Selection.COPY
Sheets("Schedule").Select
myC.Select
ActiveCell.Offset(1, 0).Select
Selection.Insert Shift:=xlDown
Application.CutCopyMode = False
'paste values voy#/ports
Sheets("Add").Select
Application.CutCopyMode = False
Range("B5:C14").Select
Selection.COPY
Sheets("Schedule").Select
myC.Select
ActiveCell.Offset(1, 1).Select
Selection.PasteSpecial Paste:=xlPasteValues,Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
--> 为范围 E5:J14、M5:R14、T5:T14、AB5:AG14 重复粘贴值
范围的行号应取决于范围C4:C14内的最后一行具有值
我查看了许多不同的问题/答案,但都与我的略有不同。
【问题讨论】:
-
请分享您目前所编写的代码。
-
请在修改后的问题中找到代码
标签: excel vba range conditional-statements copying