找不到与我的情况足够接近的vba。操作是:用户点击一个“导出”按钮,将两个预定义的范围复制并粘贴到一个新的工作簿中。
目前这段代码运行良好,但我已经尝试了从定义多个范围到使用 Union 的所有方法。该站点上的所有解释立即变得如此复杂,以至于我无法理解如何应用它。我相信从我读过的内容来看,我将不得不单独复制每个范围。
我有范围 A1:F54 我也想复制范围 G12:T54 他们粘贴的方式与原始纸张的位置相同。
我的代码在一个范围内完美地(格式和所有)复制,但如果有一种方法可以复制格式、间距等......但排除公式,那会很棒,但我找不到任何关于如何粘贴值(搞砸了格式)。
子按钮2_Click() Sheets("Sheet1").Range("A1:F54").Copy
Workbooks.Add
ActiveSheet.Paste Destination:=Range("A1")
Application.DisplayAlerts = False
Application.DisplayAlerts = True
结束子
试试
Sub CopyValuesFormats()
Dim wbSource As Workbook
Dim wbDest As Workbook
Dim wsSource As Worksheet
Dim wsDest As Worksheet
Set wbSource = ThisWorkbook
Set wsSource = wbSource.Sheets("Sheet1")
Set wbDest = Workbooks.Add
Set wsDest = wbDest.Sheets("Sheet1")
'Copy values and formats of range A1:F54
wsSource.Range("A1:F54").Copy
wsDest.Range("A1").PasteSpecial xlPasteValuesAndNumberFormats
wsDest.Range("A1").PasteSpecial xlPasteFormats
Application.CutCopyMode = False
'Copy values and formats of range G12:T54
wsSource.Range("G12:T54").Copy
wsDest.Range("G12").PasteSpecial xlPasteValuesAndNumberFormats
wsDest.Range("G12").PasteSpecial xlPasteFormats
Application.CutCopyMode = False
End Sub
子导出按钮() 将 wbSource 调暗为工作簿 将 wbDest 调暗为工作簿 将 wsSource 调暗为工作表 将 wsDest 调暗为工作表
Set wbSource = ThisWorkbook
Set wsSource = wbSource.Sheets("RFQ FORM INT")
Set wbDest = Workbooks.Add
Set wsDest = wbDest.Sheets("Sheet1")
'Copy values and formats of range A1:F54
wsSource.Range("A1:F54").Copy
wsDest.Range("A1").PasteSpecial xlPasteValuesAndNumberFormats
wsDest.Range("A1").PasteSpecial xlPasteFormats
wsDest.Range("A1").PasteSpecial xlPasteColumnWidths
Application.CutCopyMode = False
'Copy values and formats of range G12:T54
wsSource.Range("G12:T54").Copy
wsDest.Range("G12").PasteSpecial xlPasteValuesAndNumberFormats
wsDest.Range("G12").PasteSpecial xlPasteFormats
wsDest.Range("G12").PasteSpecial xlPasteColumnWidths
Application.CutCopyMode = False
结束子