• 締切済み

マクロで出来ますか?

こんにちは。どなたか分かる方がいましたら教えてください。 sheet1のA1の数値が1ならsheet1のB1の値をsheet2のA1へコピー sheet1のA1の数値が2ならsheet1のB1の値をsheet2のA1とB1の2ヶ所へコピー sheet1のA1の数値が3ならsheet1のB1の値をsheet2のA1とB1とC1の3ヶ所へコピー という風に出来ますか?出来るのならどういうコードを書いたらいいでしょうか?

みんなの回答

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.3

条件分岐させれば良いのですが、本当なら Sheet2 側をクリアする処理とかも必要でしょう。 実際はどんな事をしたいのかな? Sub Test() With Worksheets("Sheet1")  Select Case .Range("A1").Value  Case 1   Worksheets("Sheet2").Range("A1") = .Range("B1").Value  Case 2   Worksheets("Sheet2").Range("A1:B1") = .Range("B1").Value  Case 3   Worksheets("Sheet2").Range("A1:C1") = .Range("B1").Value  End Select End With End Sub

全文を見る
すると、全ての回答が全文表示されます。
  • 7_7_7
  • ベストアンサー率24% (115/469)
回答No.2

下のNo1のものですが 当たり前ながらマクロを実行させるためにコマンドボタンなどを作る必要があります。 コマンドボタンを CommandButton1 としますと Private Sub CommandButton1_Click()  If Sheet1.Range("A1") = 1 Then Sheet2.Range("A1") = sheet1.Range("B1")  If Sheet1.Range("A1") = 2 Then Sheet2.Range("A1:B1") = sheet1.Range("B1")  If Sheet1.Range("A1") = 3 Then Sheet2.Range("A1:C1") = sheet1.Range("B1") End Sub ですね

全文を見る
すると、全ての回答が全文表示されます。
  • 7_7_7
  • ベストアンサー率24% (115/469)
回答No.1

簡単にいきますと! If Sheet1.Range("A1") = 1 Then Sheet2.Range("A1") = sheet1.Range("B1") If Sheet1.Range("A1") = 2 Then Sheet2.Range("A1:B1") = sheet1.Range("B1") If Sheet1.Range("A1") = 3 Then Sheet2.Range("A1:C1") = sheet1.Range("B1") と言った具合でも出来ますよ。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 【Excel】2つのBook間のマクロ

    Excel2003を使用しています。 BookAのSheet1とSheet2のある範囲をそれぞれBookBのSheet1とSheet2に値のみコピーするというマクロを作成しようとしています。 (1)Sheet1を値のみコピーするコード   を書いて (2)Sheet2を値のみコピーするコード   を書こうと思っていたのですが、(1)から(2)へどのように続けて書いたらいいでしょうか? (1)のコードは  Sheets("Sheet1").Range("A1:G30").Select  Selection.Copy  Workbooks.Open Filename:="A:\B.xls"  Sheets("Sheet1").Range("A1").Select   Selection.PasteSpecial Paste:=xlPasteValues   Application.CutCopyMode = False と書いています。 また、こういう場合は、BookAとBookBのどちら側にコードを書いた方がいいのでしょうか?

  • VBA(マクロ)について

    エクセルのマクロを使って下記のように実行を考えています。 A列のコード番号が一定ではないため、処理に困っています。 どなたかアドバイス頂けないでしょうか。 詳細についてです。A列にコード番号があり、B列に数値があります。 例えば、A列の1~3行目まで100とあり、4~5行目まで400と1~3行目と4~5行目の数値はおなじです。3行分だったり2行分だったりと不規則に下に続いていきます。 そのA列の同じコード番号全てに対して、B列の値を合計してC列に合計値を入力したいのです。 C列の合計値入力箇所は、A列の1~3行目までだとするとC列1行目に合計値がくるようにしたいのです。 ちなみに行数は10万桁ほどあります。

  • マクロの繰り返しコード

    たとえば繰り返す回数を仮にA1セルの数値を参照 してその分だけ繰り返す コードの書き方を教えてください 例として B1からB10の数値をコピーしてD1に張り付けC1に1列追加。 この作業を(A1)の回数分だけ繰り返す。 初心者です、ご回答のコードをそのまま貼り付けて利用したいので よろしくおねがいします

  • マクロを教えてください

    次のようなマクロを組みたいのですが...。 全くの素人なのでわかりません。 詳しい方、ご回答頂けたらと思います。 エクセルでシート1のA-1~A-5に入力した数値がシート2のA-1~A-5に入力されている基本数値とそれぞれ比較して、「多い」「同じ」「少ない」をシート1のB-1~B-5にそれぞれ表示するマクロ A-1に1月、B-1に2月、C-1に3月...というように毎月数値を入力していき、12ヶ月分の数値が埋まった時点でボタンを押すと入力されていた数値がクリアされるマクロ

  • エクセル(2013)の繰り返し処理マクロについて

    以下のような処理をマクロで行いたいのですが、どなたかお詳しい方教えて頂けませんでしょうか。 1.[シート(1)]A1を検索値にする 2.[シート(2)]のB3を範囲指定する。 3.一致しない場合→次行を検索 4.一致する場合、C3をコピーし、[シート(2)]のC10に値で貼り付ける。 5.[シート(2)]のB4を範囲指定する。 6.一致しない場合→次行を検索 7.一致する場合、C4をコピーし、[シート(2)]のC11に値で貼り付ける。 以下B列が空白セルになるまで繰り返し お手数ですが、ご教授頂けますようお願い致します。

  • エクセルマクロで条件に該当する数値を探す

    エクセル初心者です。 シート1のA1~A18に1~18の数値がランダムに入っています。(重複した値は無し) シート2の3行目C3~T3にも1~18の数値がランダムに入っています。(空欄あり、重複した数値は無し) シート2の2行目C2~T2までは左から順に1~18の数値が入っています。(順位表示) 以上の条件下で下記の作業をマクロで実行させる式を教えてください。 シート1のA1~A18の値と同じ値を、 シート2の3行目C3~T3の中からどのセル(列)に入っているかを確認して、さらに該当する列の2行目C2~T2の値を、シート3の1行目A1~R1に表示させる。 例:シート1のA1=3、A2=2、A3=1の時、 シート2のC3=3、D3=1、E3=2でした。 シート2のC2=1、D2=2、E2=3です(この行の数値は毎回同じ) 上記の時シート3にはA1=1、B1=3、C1=2となります。 *シート1のA列A1~A18とシート3の1行目A1~R1の位置関係はリンクしています。(列→行) シート1 A列 1 3 2 シート2   A列 B列 C列 D列 E列 2行見出し見出し1  2  3 3行見出し見出し3  1  2 シート3 A列 B列 C列  2  1  3 ご理解頂けたでしょうか? 初心者ですので分かりやすい回答を宜しくお願いいたします。

  • オートフィルタの指定の値以上抽出マクロについて

    VBA初心者です。 よろしくお願いします。 オートフィルタの指定の値以上を抽出するマクロを作りたいのですが、 うまくいきません。 内容は、Sheet1のB6にSheet2のA2の値を代入し A列のA2の値以上の抽出をしたいのですが、Seet1のB2の5000は抽出されるのに どうしてもB6に代入した5000の値が抽出されません。 自分なりにマクロ記録を少しいじってつくったのですが。。。 Sub aa() ' Dim a As Integer a = Sheets("Sheets2").Range("A2").Value Range("B6").Select ActiveCell.FormulaR1C1 = a ActiveSheet.Range("$A$5:$FX$307").AutoFilter Field:=4, Criteria1:=">" & a _ End Sub B6の5000の値は他の数値とは異なる扱いになっているようです。 Sheet1 .......A......... B..........C............D 1 数値|数値2|数値3|数値4 2 5000...1000 3 2000.. 2000 4 3000...3000 5 4000...4000 6 5000..←-----(抽出されない) Sheet2 .......A 1  値  2 5000 3 0 素人のため、説明もうまくできませんが、わかる方どうぞご指導願います。 使用しているのはEXCEL2007です。

  • Excel2000で2つの列を見比べるマクロ

    例えば、先月に売れたものの一覧表のシートと、取扱商品の一覧表シートがあるとします。 どちらも商品コードが先頭にあるので、 その売れたものの商品コードと一覧表の商品コードとをコピーしてきて 別のシートに貼り付けます。 売れたものの商品コードがA列、取扱商品の商品コードがB列。 当然、B列には、A列に無い商品コードがあります。 二つの列を見比べて、A列に足りないものがあれば A列の末尾にコピーをするというようなことはできないでしょうか? 末尾にコピーが無理ならば、A列に無いものだけをC列にコピーするようなことはできないでしょうか? 宜しくお願いいたします。

  • Excelマクロ 別シートへ連続コピペの方法

    Excelマクロ初心者です。 現在以下のような作業をマクロを組もうとしています。 シート1のA3:A9の数値をコピー→シート1の右隣のシート(仮にシート2とします)のC3:C9へペースト→シート1へ戻りB3:B9の数値をコピー→隣の隣のシート(仮シート2の右隣のシート)のC3:C9へペースト というのをシート1のAA3:AA9まで繰り返したいです。 こういうマクロを組むのは可能なのでしょうか? もし組めるとしたらどのように組めばいいか教えて頂きたいです。 よろしくお願いします。

  • マクロ(VLOOKUP)に関しての質問です。

    現在、シート名が、A1セル~A5セルの値となっています。(状況によっては増減があります。) VLOOKUP関数の範囲指定をセルの値によってシートを選択するようにしたいと考えています。 シートには、A列とB列にデータがあり、B列の値を元のシートのA2と検索をし、B2に引っ張りたいと思っています。 以下のようなコードを考えているのですが、エラーとなってしまいます。 ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-1],Sheets(Cells(1, 2).Value)!C[-7]:C[-6],2,0)" Sheets(Cells(1, 2).Value)!C[-7]:C[-6]の部分が間違えていると思うのですが、どのように修正すればよろしいのでしょうか。 申し訳ありませんが、お力をお貸しいただけませんでしょうか、 よろしくお願いいたします。