VBA PasteSpecial执行部分粘贴
我目前正在运行一个循环,它选择一个范围,复制并粘贴所需列中的值:VBA PasteSpecial执行部分粘贴,vba,excel,Vba,Excel,我目前正在运行一个循环,它选择一个范围,复制并粘贴所需列中的值: Set wks6 = wkb.Sheets.Add With wks6 Dim rstCP As Recordset Dim firstCP As Boolean Dim previousPot As Integer Set rstCP = CurrentDb.OpenRecordset("FUT_CR_Capacity_Count") firstCP = False previo
Set wks6 = wkb.Sheets.Add
With wks6
Dim rstCP As Recordset
Dim firstCP As Boolean
Dim previousPot As Integer
Set rstCP = CurrentDb.OpenRecordset("FUT_CR_Capacity_Count")
firstCP = False
previousPot = 0
Do While Not rstCP.EOF
If firstCP = False Then
.Range("N3", "AA3").Copy
.Range("AB" & rstCP![COuntWC] + 3).PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
previousPot = previousPot + rstCP![COuntWC] + 3
firstCP = True
Else
.Range("N" & previousPot + 1 & ", AA" & previousPot + 1 & "").Copy
Debug.Print "N" & previousPot + 1 & ",AA" & previousPot + 1 & ""
.Range("AB" & rstCP![COuntWC] + previousPot + 1).PasteSpecial _
Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Debug.Print "AB" & rstCP![COuntWC] + previousPot + 1
previousPot = previousPot + rstCP![COuntWC] + 1
End If
rstCP.MoveNext
Loop
End With
因此循环的第一部分(如果firstCP=False,那么
)运行得非常好;它会复制范围N3到AA3,并自动粘贴范围AA13到AO13中的值。但是,当循环继续进行所有其他增量(if语句的else部分)时,它会部分粘贴列AA15到AB15的值
注意:我已尝试在粘贴中指定范围:
.Range(AA#,AO#).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
。。。但这是行不通的 “部分粘贴值”是什么意思?两列中的值是否被截断?或者PasteSpecial
方法仅粘贴这两列?