
そもそも出来るかどうか、わかりませんが、
もしかしたらと思い、質問させていただきました。
2つのエクセルファイル「個別」と「合計」があるとします。
「個別」はCドライブの「所属者」フォルダに
「合計」はCドライブの「集計」フォルダにあるとします。
「個別」ファイルには以下のような表とコマンドボタンがあります。
A1 A2・・・はセルの位置を表しています。
A1 A2 A3
B1 B2 B3
C1 C2 C3
コマンドボタンをクリックすると、この表と同じ内容が
「合計」ファイルの以下の位置に移動するようにしたいです。
E1 E2 E3
F1 F2 F3
G1 G2 G2
要するに「個別」ファイルにある表をコピーして、
「合計」ファイルの指定した位置に貼り付けるという操作を
マクロを使ってコマンドボタンをクリックすることで
自動に行えるようにしたいのです。
もし可能ならば、
どのようにコードを入力するべきか教えてください。
マクロに関しては素人ですので、
できれば入力すべきものをそのまま回答していただけると
ありがたいです。
No.3ベストアンサー
- 回答日時:
>Private Sub CommandButton1_Click()
なのでそのボタンのあるシートモジュールに記述されていると思います。
記録マクロが記述されている標準モジュールに書き換えて動作確認してみてください。
マクロの名前は記録マクロを参考に Sub マクロ名() としてください(Private Sub ではありません)
設置したボタンから起動したければ今記述しているコードを
Private Sub CommandButton1_Click()
マクロ名
End Sub
とすればよいでしょう。
※シートモジュールではイベントマクロが記述できるので興味深いのですがシートを超えたコーディングなどはより知識を必要とするので結構難解です
返信が送れて申し訳ありません。
Sinogiさんの回答通りやってみました。
モジュールという言葉を知らなかったので、時間がかかりましたが、
自分のやりたいことができるようになったので、非常に助かりました。
ありがとうございます。
No.2
- 回答日時:
「実行エラー'9’インデックスが有効範囲にありません」のメッセージウィンドウでデバッグを選択すれば該当のコードが黄背景で表示されます。
どこでとまっていますか?提示のコードでは "C:\集計\合計.xls" が開いた状態で実行しなければエラーになります。
"C:\集計\合計.xls"を開くところからコーディングしたければ、「開く」作業も記録できるので、そこからやってみましょう。
この回答への補足
"C:\集計\合計.xls"を開くところを含めて以下のように
コードを改良しました。
Private Sub CommandButton1_Click()
Range("A1:C3").Select
Selection.Copy
Workbooks.Open Filename:="C:\集計\合計.xls"
Range("E1").Select
ActiveSheet.Paste
Windows("個別.xls").Activate
ActiveWindow.WindowState = xlNormal
ActiveWindow.WindowState = xlNormal
End Sub
このコードで貼り付けたいファイルが開けるようになりました。
しかし以下のようなエラーが出てしまいます。
実行時エラー”1004”
RangeクラスのSelectメソッドが失敗しました。
デバックするとRange("E1").Selectが黄色く表示されます。
この場合はどう対処するべきでしょうか。
No.1
- 回答日時:
まずはマクロ記録をしましょう。
そのコードで必要な動作が最低限再現できるはずだから、希望の動作にするために必要な加工をします。そのときにわからないことがあれば具体的に明示して質問しましょう。
>できれば入力すべきものをそのまま回答していただけると
>ありがたいです。
ひょっとしたら希望通りの回答をする人が居るかもしれませんが、まずは「自分で考える」姿勢が無ければご希望の目的に達するのは困難だと思います。
この回答への補足
アドバイスありがとうございます
マクロの記憶を参考に自分なりやってみた結果が以下の通りです。
Private Sub CommandButton1_Click()
Range("A1:C3").Select
Selection.Copy
Windows("C:\集計\合計.xls").Activate
ActiveWindow.WindowState = xlNormal
ActiveWindow.WindowState = xlNormal
Range("E1").Select
ActiveSheet.Paste
Windows("個別.xls").Activate
ActiveWindow.WindowState = xlNormal
ActiveWindow.WindowState = xlNormal
End Sub
これだと、「実行エラー'9’インデックスが有効範囲にありません」
と表示させ、うまくできません。
どこを直せばよいでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAコードを張り付け後のエクセルの進め方 2 2023/02/07 18:24
- Excel(エクセル) Excel、同じフォルダ内のExcelファイルの特定シートのみを1つのファイルに集約したい 8 2022/09/07 15:12
- Excel(エクセル) 【マクロ】同じフォルダ内にある複数ブックから1つのブック内の1シートにデータを集めたい 6 2022/09/28 18:16
- Visual Basic(VBA) VBA初心者です。電話番号の数字の前に0を表示させたいです。 2 2022/12/14 03:58
- Visual Basic(VBA) 顧客ごとに違う点検案内を作成するマクロ 4 2022/09/16 05:34
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- Visual Basic(VBA) エクセルのマクロについて教えてください マクロを実行して 作業フォルダの中にある PDFファイル名を 3 2023/07/01 15:16
- Visual Basic(VBA) エクセルのマクロについて教えてください 物件ごとのフォルダを作成してます そのフォルダ内にサブフォル 2 2023/07/02 17:58
- Visual Basic(VBA) エクセルのマクロについて教えてください マクロを実行すると メッセージボックスが表示されて okをク 4 2023/07/05 19:32
- Visual Basic(VBA) 指定月分の顧客データファイルを統合して並べ替え、所定の場所に貼り付ける 3 2022/09/10 07:55
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
マクロ
-
複数のデータ系列の線の太さを...
-
エクセルの表にボタンを付けたい
-
hostent.h_addrの説明URL
-
エクセルシートをまとめて印刷...
-
VBAコードでシート名を取得した...
-
VBAの質問です
-
マクロの作成について
-
最初の1回のみにボタンクリッ...
-
勤怠管理でコマンドボタンを押...
-
妹のためにゲームを作りたい!
-
【エクセルVBA】エクセルファイ...
-
PowerpointファイルにCtrl+Vで...
-
エクセルマクロでオブジェクト...
-
cellsで特定の離れた範囲を選択...
-
現在選択している行すべてに色...
-
エクセルマクロのグラフ操作
-
エクセルでのユーザー定義用紙...
-
エクセルでツールバーに「縮小...
-
VBAを使ってエクセルシート...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
複数のデータ系列の線の太さを...
-
エクセルでツールバーに「縮小...
-
ファイル名を今日の日付、時刻...
-
VBA[Private Sub]のコードをシ...
-
cellsで特定の離れた範囲を選択...
-
Powerpointでランダムな数字の...
-
どのドキュメントは暗号化され...
-
最初の1回のみにボタンクリッ...
-
【ExcelVBA】クエリの更新とピ...
-
エクセルVBAで、画像の倍率を知...
-
VBAを使ってエクセルシート...
-
別ブックからユーザーフォーム...
-
エクセルのマクロでSelection.S...
-
ピボットグラフの書式の固定に...
-
wordのマクロで縮小して貼り付...
-
Pictures.Insertメソッド⇒Shape...
-
EXCELにクリップボードにある画...
-
エクセル2007 テキストボ...
-
エクセルで「ODBC Microsoft Ac...
-
ACCESS VBAからWordのテンプレ...
おすすめ情報