1

特定の範囲 (名前付き範囲) をコピーして [名前を付けて保存] ダイアログ ボックスを開く Excel シートにボタンを作成すると、ユーザーは場所を選択してその範囲を新しい Excel シートとして保存できます。これは可能ですか?

名前付き範囲をクリップボードにコピーするコードを記述でき、ユーザーはそれを MS Word などに貼り付けることができます。以下は私が今まで持っているコードです。

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

1 に答える 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
于 2013-06-11T11:42:39.760 に答える