excel 单击按钮时将多个范围复制到新工作簿

hjzp0vay  于 2023-04-07  发布在  其他
关注(0)|答案(2)|浏览(142)

找不到与我的情况足够接近的vba。操作是:用户单击“导出”按钮,两个预定义范围将复制并粘贴到新工作簿中。
目前这段代码工作得很好,但我已经尝试了从定义多个范围到使用Union的所有方法。这个网站上的所有解释都变得非常复杂,我无法理解如何应用它。我相信从我所读到的内容来看,我将不得不单独复制每个范围。
我有范围A1:F54,我也想复制范围G12:T54,他们粘贴的方式是与原始工作表相同的位置。
我的代码复制完美(格式和所有)与一个范围,但如果有一种方法来复制格式,间距等...但排除公式,这将是伟大的,但我找不到任何关于如何除了粘贴值(这搞砸了格式)。
子按钮2_单击()Sheets(“Sheet1”).Range(“A1:F54”).Copy

Workbooks.Add

ActiveSheet.Paste Destination:=Range("A1")

Application.DisplayAlerts = False

Application.DisplayAlerts = True

结束接头

wwtsj6pe

wwtsj6pe1#

尝试

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
brvekthn

brvekthn2#

子导出按钮()尺寸wb来源为工作簿尺寸wbDest为工作簿尺寸wsSource As Worksheet Dim wsDest As Worksheet

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

结束接头

相关问题