• ベストアンサー

エクセルのマクロについての質問です。

エクセルのマクロについての質問です。 マクロボタンを作成し、発動する際に対象シートがセルに入力された値にしたいのです。 例えば シート名 「メイン」、「1月」~「12月」までの13個存在しているとして。 シート「メイン」のA1に2月と入力されている状態でマクロを発動させた時 シート「メイン」のA2の値をシート「2月」のA1に返すような感じです。 3月と入力されていればシート「3月」のA1に返すような・・・・ 文章力がなくて申し訳ありません。

質問者が選んだベストアンサー

  • ベストアンサー
  • jcctaira
  • ベストアンサー率58% (119/204)
回答No.2

※ボタンがシート「メイン」にある場合は Sub ボタン_Click()  Sheets(Range("A1")).Range("A1") = Range("A2") End Sub ※ボタンがシート「メイン」にない場合は Sub ボタン_Click()  Sheets(Sheets("メイン").Range("A1")).Range("A1") = Sheets("メイン").Range("A2") End Sub

masaking3254
質問者

お礼

ありがとうございますww 少し違う数式に変更しましたが問題なく使用できました。

その他の回答 (1)

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.1

こんな感じでどうでしょうか。 With Sheets(Sheets("メイン").Range("A1").Value) .Range("A1").Value = Sheets("メイン").Range("A2").Value End With

masaking3254
質問者

お礼

回答ありがとうございます。 WITHを使う文章を使ったことがなかったのですが、シートの指定は問題なく使用できましたww

関連するQ&A

  • エクセルのマクロについて質問です。

    エクセルのマクロについて質問です。 マクロを発動した時に、あるセルに入力してある数値を参照し、その行のX列目に数値を張り付けるものを作成しようとしています。 例えば シート「1」の A1に日付を入力 B1にある数字を入力 シート「2」の A列にA1→1~A31→31の日付が入力されている時 マクロ発動時にシート「1」A1の日付と一致する シート「2」のB列にシート「1」のB1の値を貼り付け ↑たとえばシート「1」のA1が1日でB1が500だった場合 シート「2」の1日(A1)と同じ行でB列(B1に500を 貼り付けるものです。 かなり下手な説明だと自覚しておりますが、解読できる方 どうかご教授ねがいます。

  • エクセルのマクロについて

    エクセルのマクロ初心者です。 マクロを使用して印刷プレビューが見れるようにしたいです。 vlookup関数を使いsheet1に入力し、sheet2,sheet3,sheet4、sheet5へデータを反映させています。 sheet1に入力画面を作成してあり、セルA2~A13に入力すればsheet2へ、セルA17~A28はsheet3へ、セルF2~F13はsheet4へ、セルF17~F28はsheet5へデータを反映する作りです。 sheet2~sheet5はフォーマットを作成してあり、印刷するとA4で2枚印刷されるようになっています。 入力画面で入力した内容によってはA4用紙1枚ですむこともあります。(A1~M15でA4用紙一枚、A1~M31でA4用紙2枚) 教えて頂きたいことは。 ・入力画面にマクロのボタンを設置し、ボタンをクリックすると印刷プレビューが表示されるようにしたいです。 ・sheet2用、sheet3用、sheet4用、sheet5用、とボタンを設置したい。 ・印刷プレビュー後に、(実際には印刷後)に入力画面を表示したい。 ・印刷プレビューが見たいのはsheet2,sheet3,sheet4,sheet5です。 以上です。 説明が下手ですみません><

  • エクセルの検索マクロ

    以下のようなマクロを作成しようとしているのですが、なかなかうまくいきません。 どなたかご教授お願いいたします。 ・セル(A,2)に入力されている文字を検索ボタンを押すことで検索する  ※検索ボタンはコマンドボタン ・検索対象は、Book内の全シート ・検索後は、見つかったセルに移動 ・見つからなかった場合は、”ありません”を表示

  • excelでマクロシートをコピーしたとき

    excelでbook1のsheet1のセルA1に「1」を入力→プリントアウト→A1に「11」を入力→プリントアウト・・・以下「31」まで繰り返し。 というマクロが組んであります。 (ボタンにマクロが登録されています。) このシートをbook2にコピーをしたときに マクロを実行する(ボタンを押す)とbook1が開いてしまいます。 これをbook1を開かずにbook2でマクロを実行するには どのようにしたらよいでしょうか。 book2でマクロを作成し直して さらにボタンにマクロを登録していますが、 bookの数が多いのでけっこうな手間になります。 簡単な方法があれば教えて下さい。

  • Excelのマクロでシートを表示させる方法を教えて下さい

    初心者ですみません。 エクセルでsheet1の特定のセルに入力した値と同じ名前のシートを表示させるマクロを作成したいのですが、どうすればいいか教えて下さい。

  • エクセルのマクロで悩んでます

    はじめて投稿いたします。 現在、エクセル2000でマクロを組んでいるのですが、何日も悩んでそこから動けないので質問させていただきます。 やりたいことは、 (1)検索フォームの入力テキストに記載した数値を読んで検索ボタンを押すと、 (2)データブック.xls内の完全に一致した数値のセルの行をアクティブにして (3)その行のA列からO列の値をコピーして (4)入力ブック.xlsの入力シートのB4:B18に数値だけ貼り付け したいと考えています。 検索フォームは入力ブック.xls内で作成しています。 今のところ、(3)でA列の値を読んで、(4)でB4セルに貼りつけということはできているのですが、複数になるとできていません。 根気よく、同じプログラムを書くのが良いのでしょうか? かなり面倒なので、もっと簡単にかける方法があれば教えてください。

  • エクセル マクロで行き詰まりました。助けて・・・

    エクセル初心者です。初心者にも関わらず、マクロに挑戦して壁にぶち当たりました。やはり限界です。教えてください! <やりたい事> SHEET1に必要項目を入力してから計算開始ボタンを押す。計算結果を別シートに表示させると同時に、ボタンを押す毎にその計算結果を履歴として積み重ねる。 今回の計算結果    A     B    C    D    E 1       四月   20   30   40  2   9  履歴    10  2回前   六月   40   30   40  11  1回前   五月    30   40   50 12  今回   四月   20    30   40 うまく説明できませんが、数式セルを値だけコピーして、ボタンを押す度に自動改行しながらペーストをするというマクロなんだと思うんですが・・・。 非常に困っています。どうか宜しくお願いします。

  • エクセルのマクロについて

    QNo.3421130で質問させて頂いた件の続きなのですが 入力シート(1)のA1に入力された値を、シート2のB1に表示(つまりB列の同じ行数のセルに表示)するというマクロをお教え頂き、早速実践してみましたが、入力シートA1に入っている値が入力シートA10から算出された値(例:A11に日付の2007/10/18と入っていて、A10にはMONTH関数で10だけを抽出している。そのA10の値10をA1が参照している状態やIF関数で反映された値等)がシート2に表示されません。 また本マクロは入力シート(1)とシート2の同じ行列のセルの表示しか出来ませんが、たとえば入力シート(1)のA2セルの値をシート2のB4に表示(任意で表示位置を変更する方法、シート2の反映セルを下へずらす等)が分りません。 以下、お教え頂いたマクロです。 Private Sub Worksheet_Change(ByVal Target As Range)  If Target.Column = 1 Then    Sheets("Sheet2").Cells(Target.Row, "B").Value = Target.Value  End If End Sub 続きの質問であることと、説明が分りにくく大変申し訳ありません。 非常に困っております。よろしくお願いします。

  • エクセルでマクロを作りたいのですが上手くいきません

    エクセルで会社で使うファイルを作成していますが、ファイルサイズが大きくなりすぎたので、こういうマクロが作れないかと調べていたのですが、やり方がわからないので困っています。 わからないのは、入力シートのA列にデータを入力して、シート2のB列に自動的に表示する ことを自動的にやってくれるマクロです。 今はIF関数をシート2に入力している状態ですが、セルに関数を入れる方法だとファイルサイズが大きくなりすぎてしまいます。 (IF関数をあらかじめ入力しておくセル数がとてもたくさんある為) なお、入力シートA列がブランクの場合は、シート2のB列には何も表示されないようにしたいです。 大変困っております。よろしくお願いします。 

  • エクセルのマクロに付いて教えてください。

    エクセルのマクロに付いて教えてください。 コマンドボタンで、A1セルに1と表示されたときにはSheet1へ、A1セルに2と表示されたときにはSheet2へ移動出来るようにしたいのですが、どうしても分かりません。 諸先生方のお知恵を拝借したいです。よろしくお願いします。

専門家に質問してみよう