/ / Export excel range jako nowy arkusz Excel z zapisem jako okno dialogowe - excel-vba, export-to-excel, vba, excel

Eksportuj zakres Excela jako nowy arkusz Excela z zapisem jako oknem dialogowym - excel-vba, export-to-excel, vba, excel

Chcę utworzyć przycisk w arkuszu Excela, któryskopiuje określony zakres (nazwany zakres), a następnie otworzy okno dialogowe Zapisz jako i użytkownik może wybrać lokalizację i zapisać ten zakres jako nowy arkusz programu Excel. czy to możliwe?

Jestem w stanie napisać kod, który kopiuje nazwany zakres do schowka, a następnie użytkownik może wkleić go do słowa MS itd. Poniżej znajduje się kod, który mam do tej pory.

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

Odpowiedzi:

1 dla odpowiedzi № 1

Spróbuj poniżej kodu:

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