首页 文章

将excel范围导出为新的Excel工作表,并将其另存为对话框

提问于
浏览
1

我想在Excel工作表中创建一个按钮,它将复制特定范围(命名范围),然后打开另存为对话框,用户可以选择该位置并将该范围保存为新的Excel工作表 . 这可能吗?

我能够编写一个代码,将命名范围复制到剪贴板,然后用户可以将其粘贴到MS字等中 . 下面是我现在的代码 .

Sub copyValueTable()
  Dim oRange As Range
  Set oRange = Sheets("Analysis").Range("FullValueTable")
  oRange.CopyPicture xlScreen, xlPicture
  oRange.Copy
End Sub

1 回答

  • 1

    试试以下代码:

    Sub copyValueTable()
    
        On Error Resume Next
    
        Dim rng As Range
        Dim wkb As Workbook
        Dim sht As Worksheet
    
        Set rng = Application.InputBox("Please select the range" & vbNewLine & "Enter named range", Type:=8)
    
        On Error GoTo 0
    
        If Not rng Is Nothing Then
            fileSaveName = Application.GetSaveAsFilename(fileFilter:="xls Files (*.xls), *.xls")
            If fileSaveName <> False Then
    
                ActiveSheet.Copy
                Set wkb = ActiveWorkbook
                Set sht = wkb.Sheets(1)
                sht.Cells.Clear
                rng.Copy sht.Range("A1")
    
                wkb.SaveAs fileSaveName
                wkb.Close
            End If
        End If
    End Sub
    

相关问题