有可变范围的有条件复制(非空文本字段)

问题描述 投票:0回答:1

我已经查看了许多不同的问题/答案,但都与我的略有不同,这让我发疯,因为我无法弄清楚。请在下面找到问题:

在工作表1('add')中有一个表格,范围从A4Z14。它用于显示具有不同港口的船舶的航行,并自动计算时间和日期。我想将此表(此特定航次)与船舶的完整行程表一起复制到另一个工作表2(“时间表”)。为此,我必须将范围复制到vba中的剪贴板(我使用它运行其他宏,但解释有些复杂)。

我的问题:我只想复制包含端口调用的范围。端口输入到列C中,因此范围为C4C14。因此,如果航程中只有三个端口,则C4C6包含端口名称,并且C7C14为空或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:J14M5:R14T5:T14AB5:AG14]范围内重复粘贴值>

范围的行号应取决于最后一行,且其中的值在C4:C14范围内

我已经查看了许多不同的问题/答案,但都与我的略有不同,这让我发疯,因为我无法弄清楚。请在下面找到问题:在...

vba variables range conditional-statements copying
1个回答
0
投票

您可能需要更改它在计划表中的粘贴位置,因为我不知道ActiveCell在哪里...但这应该可以完成工作。

© www.soinside.com 2019 - 2024. All rights reserved.