2017-09-28 233 views
0

光环所有人 我想要做的是复制c6中的填充单元格:d20并跳过空白单元格 但结果当我粘贴时只有d6:d20 也许是因为列C是式充满Excel VBA宏录制跳过空白复制重复的粘贴

这是我的第一个记录的宏编辑

Sub RoundedRectangle1_Click() 
' 
' RoundedRectangle1_Click Macro 
' 

' 
Sheets("Resume").Select 
Range("C6:D20").Select 
Selection.SpecialCells(xlCellTypeConstants).Copy 
Sheets("Input").Select 
Range("A" & Rows.Count).End(xlUp).Offset(1).Select 
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 
    :=False, Transpose:=False 
End Sub 

任何帮助将是不错 谢谢

+0

你在哪里粘贴你的数据? –

+0

在另一张表格(“输入”) –

回答

0

如果你只想要到c没有公式OPY粘贴值以下可能有助于

Sub RoundedRectangle1_Click() 
    Dim srcSht As Worksheet, destSht As Worksheet 
    Dim srcRng As Range, destRng As Range 

    Set srcSht = ThisWorkbook.Sheets("Resume") 'this is your input sheet 
    Set destSht = ThisWorkbook.Sheets("Input") 'this is your output sheet 

    Set srcRng = srcSht.Range("C6:D20")   'set range to be copied 
    Set destRng = destSht.Range("A" & destSht.Rows.Count).End(xlUp).Offset(1).Resize(srcRng.Rows.Count, srcRng.Columns.Count) 'set range to paste 
    destRng.Value = srcRng.Value    'copy only values 
    destRng.SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp 'delete blnk cells 
End Sub 

注:您应该避免使用SELECT。有关详细信息,请参见this

+0

You Rock ..这解决了我的问题..谢谢@ Mrig,顺便说一句我如何标记人? –

+0

@TriKuntartoKunKun - 不客气! – Mrig