
No.8ベストアンサー
- 回答日時:
マクロを起動するとファイル選択ダイアログボックスが表示されます。
コピー先のファイルを選択してください。
選択するとそのファイルの祝日シートにコピーが行われます。
Public Sub 祝日コピー()
Dim Target As String
Dim wb As Workbook
Dim ws As Worksheet
Dim ms As Worksheet
Dim maxrow As Long
Set ms = Worksheets("祝日")
Target = Application.GetOpenFilename("Excel ブック,*.xls?")
If Target = "False" Then Exit Sub
Set wb = Workbooks.Open(Target)
Set ws = wb.Worksheets("祝日")
ws.Range("A1:B" & Rows.Count).ClearContents
maxrow = ms.Cells(Rows.Count, 1).End(xlUp).Row
ws.Cells(1, 1).Resize(maxrow, 2).Value = ms.Cells(1, 1).Resize(maxrow, 2).Value
wb.Save
wb.Close
MsgBox ("完了")
End Sub
できました~ \(^o^)/
早速来年の予定表が作成できます。
本当に長い時間ありがとうございました。
これからもよろしくお願いいたします。
No.7
- 回答日時:
No6です。
補足拝見しました。以下不明点です。
1.マクロを格納するブックはどれですか。
①祝日元のブック
②班ごとのブック
③それ以外
2.祝日元のブックのコピー元のシート名は"Sheet1"であってますか。
違う場合は、シート名を提示してください。
3.班ごとのブックのコピー先のシート名は"Sheet2"であってますか。
違う場合は、シート名を提示してください。
4.マクロを実行したとき、
1回の実行で、全ての班ごとのブックへコピーすることを想定していますか。
それとも
1回の実行で、1つの班ごとのブックへコピーすることを想定していますか。
No.6
- 回答日時:
No5です。
以下のような前提で良いでしょうか。
1.マクロは、各予定表ファイルに登録する。
2.ボタンとマクロの関連付けは、質問者(あなた)が行う。
3.祝日一覧ファイルの拡張子も含めたファイル名は「祝日一覧.xlsx」とする。
4.マクロの機能は以下とする。
フォルダB内の祝日一覧.xlsxのSheet1のA列とB列を
予定表ファイルのSheet2のA列、B列へコピーする。
上記で良ければ提供可能です。前提に齟齬があれば、補足してください。
フォルダ(A)は「祝日元」のブックだけが入っています。
フォルダ(B)の中は各部署ごとのフォルダが入っています。その各部署のフォルダに班ごとのブックがあります。
フォルダ(A)の「祝日元」のA列、B列をコピーして
フォルダ(B)の中の各部署フォルダの中の班ごとブックのA列、B列に貼り付けるというものです。
フォルダから別のフォルダへのマクロができません。
この説明でわかりますでしょうか?
よろしくお願いいたします。
No.5
- 回答日時:
1.部署数はいくつほどありますか。
2.1年に1回限り、部署数の数だけ、祝日一覧から、予定表の祝日へコピペすれば済む話かと思いますが、そうではないのでしょうか。
マクロで行いたい理由は何でしょうか。
ありがとうございます。
部署は4つありますがその中にいくつもの班があります。
①人数分の印刷
②今月の予定を同ブックのシートにコピー
③今月の予定を削除
①②③をボタンでやっています。
これが初めてのボタンです。
予定表などは個々によって内容が違いますが、祝日はどの部署でも共通しているので祝日というブックから各部署のブックに自動で上書きしたいです。
ボタンしか経験がないのでこだわりました。
よろしくお願いいたします。
No.4
- 回答日時:
No3です。
補足です。
1.wb.Saveで上書きするので、この行もコメント化してから試してください。
2.今回提示したのは、使い勝手を実感するサンプルですので、
機能不足です。このまま実務に適用しないでください。
No.3
- 回答日時:
祝日ファイルの祝日シートにボタンを作り以下のマクロを登録します。
ボタンを押せばファイル選択画面が表示されるので予定表を選ぶ。
内容OKなら保存して閉じる
ボタン押す
これを繰り返す
マクロの記録をベースにしているのでシートやセルは適当です。
Sub Macro1()
'
' Macro1 Macro
'
Dim OpenFileName As String
Dim wb As Workbook
Application.ScreenUpdating = False
OpenFileName = Application.GetOpenFilename("Microsoft Excelブック,*.xls?") → エクスプローラーのファイル選択画面表示
Set wb = Workbooks.Open(OpenFileName)
'
ThisWorkbook.Activate '予定表
Range("B2:B9").Select
Selection.Copy
wb.Activate '部署ファイル
Worksheets("sheet2").Select
Range("A1").Select
ActiveSheet.Paste
Range("A1").Select
wb.Save
Application.CutCopyMode = False
MsgBox " Copy End = " & OpenFileName メッセージは好みで変更
’wb.Close 'コメント化し内容確認後手動でクローズ。
確認不要であれば、コメント外すことによって部署ファイルはクローズされる。
End Sub
No.1
- 回答日時:
こんばんは
ボタンを押したらある一定の処理をして欲しいということでしょうか?
ボタンに「そのような処理を行うマクロ」を登録しておけば可能です。
ただし、マクロを個別のブックに登録しておくと、毎回そのブックが開かれることになるので、マクロのテンプレートに保存しておくほうが良いでしょう。
マクロの内容自体はさほど難しいものではないので、ご自身で作成してください。
フォルダBの位置が固定で良いのなら、マクロの記録を修正しても可能だと思います。
・・・というか、そんな面倒なことをしなくても、「予定表」のテンプレートを作成しておいて、そこに「祝日一覧」への参照リンクを貼っておけば、ボタンなど作ったり、押したりしなくても自動で更新表示されますけれど?
参照リンクが嫌なら、クエリを利用して読み込むようにしておいても、ほぼ同等の手間で読み込みが可能です。
ありがとうございました。
参照リンク、クエリー便利なようですがまだ経験がありません。
今後勉強していくつもりです。よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
エクセルで 例えばA1のセルに1+1 と入力すると B1のセルに2 と答えが出る関数があったと思いま
Excel(エクセル)
-
Excelです。 Excelしてたら 点線?みたいのが出て来ました これは何ですか?どうやったら消せ
Excel(エクセル)
-
Excel 値を返す数式についてです
Excel(エクセル)
-
-
4
Excel 計算式を教えて下さい
Excel(エクセル)
-
5
excelについて。
Excel(エクセル)
-
6
excelにて、ある固定値から連番を振りたいが、上限値が異なる連番を振る処理を複数回行いたい場合
Excel(エクセル)
-
7
エクセル自動の年月
Excel(エクセル)
-
8
Excelにて、下記のようなデータを月だけ変えて下にドラックしていきたいです。どうすれば良いですか?
Excel(エクセル)
-
9
エクセルの質問です
Excel(エクセル)
-
10
Excelの関数詳しい方お願いします。
Excel(エクセル)
-
11
特定の条件で計算式を組みたいのですが、教えて頂けますでしょうか?
Excel(エクセル)
-
12
COUNTIFS関数で結果が1多い
Excel(エクセル)
-
13
10円の誤差が分からない
Excel(エクセル)
-
14
Excelでの並べ替えについて
Excel(エクセル)
-
15
Excel関数
Excel(エクセル)
-
16
エクセルの関数を教えてください
Excel(エクセル)
-
17
エクセルの数式で教えてください。
Excel(エクセル)
-
18
Excelで過去の最大値より大の場合、塗りつぶすには
Excel(エクセル)
-
19
Excel 知恵を下さい。 下記表は、例です。本来の表のデータ量は、1000件以上あります… A列:
Excel(エクセル)
-
20
Excelで2つの条件のうちどちらかにあてはまるときの数式を教えてください。
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
マイドキュメントのフォルダの...
-
5
フォルダの上書きで、上書きさ...
-
6
copyコマンドについて
-
7
フォルダの上書きコピーってで...
-
8
USB内のフォルダが「ファイル」...
-
9
フォルダ内のファイルを取得し...
-
10
Safariのブックマークの消し方
-
11
Macでエイリアスがつくれない。...
-
12
フォルダーをコピーするとファ...
-
13
Windowsからのテキストファイル...
-
14
WIndows 2008にてZIP解凍
-
15
ファイルのプロパティの属性の...
-
16
「隠しファイル・フォルダを別...
-
17
メール新着時に「You've Gotta ...
-
18
バッチ処理でファイルのコピー
-
19
フォルダ内の多重フォルダを解...
-
20
スマホのブックマークはどこに...
おすすめ情報
公式facebook
公式twitter
フォルダはAとBと書きましたが部署ごとにあります。
また予定表も部署によって色々あります。
「祝日」はどの部署とも共通していますので、1回/年更新するだけです。
「予定表」ファイルのSheet1→月予定 Sheet2→祝日としてあります。
祝日のシートにコピーを貼り付けたいと思っています。
質問する前にマクロでやってみましたが、別のフォルダからコピーすると何も表示されませんでした。
説明もわかりずらいと思いますがよろしくお願いいたします。
ありがとうございます。
申し訳ありませんが方法を教えていただけないでしょうか?
よろしくお願いいたします。
フォルダ(A)は「祝日元」のブックだけが入っています。
フォルダ(B)の中は各部署ごとのフォルダが入っています。その各部署のフォルダに班ごとのブックがあります。
フォルダ(A)の「祝日元」のA列、B列をコピーして
フォルダ(B)の中の各部署フォルダの中の班ごとブックのA列、B列に貼り付けるというものです。
フォルダから別のフォルダへのマクロができません。
この説明でわかりますでしょうか?
よろしくお願いいたします。
ありがとうございます。
1.マクロを格納するブックはどれですか。
祝日元のブックです
2.祝日元のブックのコピー元のシート名は"Sheet1"であってますか。
"祝日"です
3.班ごとのブックのコピー先のシート名は"Sheet2"であってますか。
"祝日"です
4.マクロを実行したとき、
1回の実行で、全ての班ごとのブックへコピーしたいと思っています。
できれば
1回の実行で、1つの班ごとのブックへコピーすることも教えていただきたいです。
よろしくお願いいたします。