今日給大家推出VBA代碼方案之十五,如何利用VBA代碼替換完成復制的過程,。在EXCEL中復制和粘貼時非?;镜牟僮鳎赩BA代碼中復制和粘貼時如何操作的呢,?今日給大家詳細的講解,,這些代碼可以在程序中直接利用,也可以在實際工作中稍加修改,,加以利用,,希望朋友們能活學活用。結合自己的實際工作靈活的運用,。 Range對象的Copy方法的語法如下: Copy(Destination) 參數Destination表示復制單元格區(qū)域的目標區(qū)域,,如果省略該參數,Excel將把該區(qū)域復制到剪貼板中,。使用Copy方法復制單元格區(qū)域時,,也復制了該單元格區(qū)域的格式, 復制單元格區(qū)域時,如果目標區(qū)域為非空單元格區(qū)域,,Excel將顯示消息框提示是否替換單元格內容,,可以設置Application.DisplayAlerts屬性值為False,使復制時不出現該消息框,。 我們看下面的實際代碼: Sub MyCopy() Application.DisplayAlerts = False Sheet1.Range('A1').CurrentRegion.Copy Sheet2.Range('A1') Application.DisplayAlerts = True End Sub 代碼解析: 上面MyCopy過程將Sheet1工作表中A1單元格的當前區(qū)域復制到Sheet2工作表中以A1單元格為左上角單元格的區(qū)域 第2行代碼通常復制單元格區(qū)域的操作不會將單元格區(qū)域的列寬大小同時復制,,如果希望在復制單元格區(qū)域的同時,也復制源區(qū)域的列寬大小,可以使用下面的代碼。 Sub MyCopyWithSameColumnWidths() Sheet1.Range('A1').CurrentRegion.Copy With Sheet3.Range('A1') .PasteSpecial xlPasteColumnWidths .PasteSpecial xlPasteAll End With Application.CutCopyMode = False End Sub 代碼解析: 第4行代碼使用Range對象的PasteSpecial方法選擇性粘貼剪貼板中的Range對象的列寬,。 第5行代碼粘貼剪貼板中的Range對象全部內容。 第7行代碼取消應用程序復制模式,。 應用于Range對象的PasteSpecial方法將剪貼板中的Range對象粘貼到指定區(qū)域,在粘貼時可以有選擇的粘貼對象的部分屬性,。其語法如下: PasteSpecial(Paste, Operation, SkipBlanks, Transpose) 參數Paste指定要粘貼的區(qū)域部分,,可為如下所列的XlPasteType常量之一。 xlPasteAll -4104全部(默認值) xlPasteAllExceptBorders7邊框除外 xlPasteColumnWidths8列寬 xlPasteComments-4144批注 xlPasteFormats-4122格式 xlPasteFormulas-4123公式 xlPasteFormulasAndNumberFormats11公式和數字格式 xlPasteValidation6有效性驗證 xlPasteValues-4163數值 xlPasteValuesAndNumberFormats12值和數字格式 參數Operation指定粘貼操作,。XlPasteSpecialOperation為下面常量之一,。 xlPasteSpecialOperationNone-4142無(默認值) xlPasteSpecialOperationAdd2加 xlPasteSpecialOperationSubtract3減 xlPasteSpecialOperationMultiply4乘 xlPasteSpecialOperationDivide5除 參數SkipBlanks指示是否跳過空單元格,若參數值為True,,則不將剪貼板上區(qū)域中的空白單元格粘貼到目標區(qū)域中,。默認值為False。 參數Transpose指示是否進行轉置,,若參數值為True,,則粘貼區(qū)域時轉置行和列。默認值為False,。 代碼截圖: |
|