ここから本文です

解決済みのQ&A

Excelマクロを使って、シートを別のExcelファイルに保存したいのですが、宜しくお...

gjfwm005さん

Excelマクロを使って、シートを別のExcelファイルに保存したいのですが、宜しくお願いしますm(__)m

件名でも記載しましたが、Excelのユーザーフォームを使って、数種類あるシートを選択し、選択したシートのみを、別のExcelファイルに移動したいと考えております。

例えば、Excelファイル(A)があり、そのファイルの中に、何種類かのシート名があります。
ユーザーフォームで移動したいシート名を選択し
Excelファイル(B)に移動が出来ると良いです。

保存先のパスですが、同じフォルダー内に、(A)(B)とも存在しています。
この様な事は、可能でしょうか?

もし可能でしたら、保存先のExcelファイルを選択も出来ると助かります。
Excelファイル(A)をExcelファイル(B)またはExcelファイル(C)を選択でき、なおかつ移動したいシートも選択と言った感じです。

大変、ご迷惑をおかけしますが、お願しますm(__)m

補足
追記で申し訳ありません、保存先にシートを移動した時に、保存先を、移動と同時に保存が出来る様にするのには、どの様にしたら良いでしょうか?お手数おかけしますが宜しくお願いしますm(__)m
  • 質問日時:
    2010/3/12 12:06:24
  • 解決日時:
    2010/3/13 13:04:05
  • 閲覧数:
    5,978
    回答数:
    1
  • お礼:
    知恵コイン
    100枚

ベストアンサーに選ばれた回答

kamicha1さん

> Excelファイル(A)があり、そのファイルの中に、何種類かのシート名があります。
> ユーザーフォームで移動したいシート名を選択し
> Excelファイル(B)に移動が出来ると良いです。
>
>保存先のExcelファイルを選択も出来ると助かります。
> Excelファイル(A)をExcelファイル(B)またはExcelファイル(C)を選択でき、なおかつ移動したいシートも選択

Excelファイル(A)の
UserFormに、ComboBoxとCommandButtonを1個ずつ用意しておき、
以下のコードを記述することで実現できると思います。

なお、
> 保存先のExcelファイルを選択も出来る
とのことなので、マクロ実行時は、開いていないものとします。

Private Sub CommandButton1_Click()
Dim strFileName As String
Dim WB1 As Workbook
Dim WB2 As Workbook
Dim strWS As String

strFileName = Application.GetOpenFilename("Excelファイル,(*.xls;*.csv)", , "移動先ブックを選択してください")
If strFileName = "False" Then
MsgBox "処理を中止します"
Exit Sub
End If

Set WB1 = ActiveWorkbook
Set WB2 = Workbooks.Open(strFileName)
strWS = Me.ComboBox1.Value
WB1.Worksheets(strWS).Move After:=WB2.Worksheets(WB2.Worksheets.Count)
MsgBox "移動しました"
End Sub

Private Sub UserForm_Initialize()
Dim WS As Worksheet

For Each WS In Worksheets
Me.ComboBox1.AddItem WS.Name
Next
End Sub

> 保存先にシートを移動した時に、保存先を、移動と同時に保存が出来る様にする

MsgBox "移動しました"
の上に、
WB2.Save
とします。
さらに、閉じるのであれば、
WB2.Close True
とてもよいです。

  • 違反報告
  • 編集日時:2010/3/13 12:45:58
  • 回答日時:2010/3/12 19:03:12

質問した人からのお礼

  • もう~凄いです! ばっちりOKですよ!本当にありがとうございますm(__)m
  • コメント日時:2010/3/13 13:04:05

グレード

Q&Aをキーワードで検索:

総合Q&Aランキング

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。

知恵コレに追加する

閉じる

知恵コレクションをするID/ニックネームを選択し、「追加する」ボタンを押してください。
※知恵コレクションに追加された質問や知恵ノートは選択されたID/ニックネームのMy知恵袋で確認できます。

ほかのID/ニックネームで利用登録する