ここから本文です

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

このエントリーをはてなブックマークに追加

質問者

gjfwm005さん

2010/3/1212:06:24

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

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

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

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

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

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

補足追記で申し訳ありません、保存先にシートを移動した時に、保存先を、移動と同時に保存が出来る様にするのには、どの様にしたら良いでしょうか?お手数おかけしますが宜しくお願いしますm(__)m

閲覧数:
6,456
回答数:
1
お礼:
100枚

違反報告

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

kamicha1さん

編集あり2010/3/1312:45:58

> 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 13:04:05

もう~凄いです! ばっちりOKですよ!本当にありがとうございますm(__)m

ちょい足しを取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル
  • このエントリーをはてなブックマークに追加

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

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

ID/ニックネームを選択し、「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問や知恵ノートは選択されたID/ニックネームのMy知恵袋で確認できます。

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