- ベストアンサー
エクセルVBAで教えてください!初心者で困っています
- エクセルVBAを初めて使う初心者が困っています。A列とB列とC列のデータを操作する方法について教えてください。
- B列にいる自分のセルを基準に、A列のデータによって操作を行いたいです。A列がBならば、隣のCセルのデータを自分のセルにコピーし、A列がDならば、上のセル(Bの時にコピーしたデータ)を自分のセルにコピーします。
- A列のデータが空白になるまで、上記の操作を繰り返すことで、B列を埋めたいです。エクセルVBAに詳しい方、ご教授お願いします!
- みんなの回答 (2)
- 専門家の回答
関連するQ&A
- Excel VBAの繰り返し構文について
A列に日付、B列に曜日、C列に休、D列に1直、E列に2直、という形の年間シフトを作成しています。 初期値としてA2セルに数字を入力→C列が空白の時だけD列に記入するマクロを作成したと思っています。 現在仮として、 Sub C列のセルが空白の行のD列に数値を入力() 下端行 = Range("A" & Rows.Count).End(xlUp).Row '下端検出 For 行 = 3 To 下端行 '1行目から下端行まで1行ずつ繰り返す If Range("C" & 行).Value = "" Then 'その行のC列のセルの値が空白の時 Range("A2").Copy 'A2をコピーする Range("D" & 行).PasteSpecial Paste:=xlPasteFormulas 'その行のA列のセルを起点に 'して数式を貼り付ける End If Next End Sub というマクロを置いていますが、「Range("A2").Copy」の部分を 「A2を初期値として、最初にC列が空白でなくなる時まで初期値を繰り返し、次にC列が空白になった場合は初期値+1の数をD列に入力する。 ただし初期値+1の最大数は6までとする(要するに1~6の繰り返しです)」 という感じに変更したいのですが、どうすればいいのかさっぱりです…。 VBAレベルはこの質問をする程度なのでかなり初級です。
- ベストアンサー
- その他MS Office製品
- Excel VBAによる検索処理?
Excelで以下の例のように、A列・B列に入力されているとします。A列を検索して、C列にB列の値を返す式を考えてますが、さっぱりわかりません。VBAとかも正直素人ですが、サンプルもしくは考え方を教えていただければと思います。以下の処理内容です。 ・AXセルが「B」であった場合、次のセル(A(X+1))を検索し、次が空白になるまで検索し、空白になる前の最後の行のB列の値をCXセルに返す。該当しない場合は空白のまま 下記の例ですと3行目、8行目のB列の値を2・3、6-8行目のC列のセルに返すことになります。よろしくお願いいたします。 (処理前) ___A__B__C ------------- 1 2__B__2 3__B__3 4______4 5______5 6__B__6 7__B__7 8__B__8 9______9 (処理後) ___A__B__C ------------- 1 2__B__2__3 3__B__3__3 4______4 5______5 6__B__6__8 7__B__7__8 8__B__8__8 9______9
- ベストアンサー
- その他(プログラミング・開発)
- EXCEL VBAで
EXCEL VBAで シート1のA2~G2までの列にA,B,C,D~と題名があり、それぞれの下の行には数字が並んでます。シート2のA2~G2までの列にもA,B,C,D~と題名がありますが、ランダムに並んでます。シート1のAの行を、シート2のAの行に、BにはBへという風にコピーをさせるにはどのようにすればよいでしょうか。またシート1A~Gのどれかが欠けている場合もあります。その場合はシート1にあるもののみコピーすることとします。 わかりにくいかも知れませんか、どうかよろしくお願いします。
- ベストアンサー
- その他MS Office製品
- エクセルVBAで質問です。
エクセルVBAで質問です。 A列 B列 AAAA 1111 BBBB 2222 CCCC 3333 とあります。 上記を AAAA (空白) (空白) 1111 (空白) BBBB (空白) (空白) 2222 (空白) CCCC (空白) (空白) 3333 (空白) A列にB列を挿入し、2・3・5行目に空白のセルを入れていきたいのです。 9000行ぐらいあります。 他の列に A列、B列のものを取得していく形でも構いません。 とにかく、縦1列に並べたいです。 どなたか、ご教授お願い致します。
- ベストアンサー
- Visual Basic
- エクセルマクロ、空白行(セル)の挿入
データがA、B、C、D、E列100行まであります。 このうちD、E列を除き、エクセルのマクロで1行ごとに空白で10行挿入したいです。 (A、B、C、D列のデータに空白セルを10行分挿入し、下にシフトするイメージ。D、E列はそのまま。) ご教授頂きたく、お願いします。
- 締切済み
- その他(Windows)
- エクセルVBAを教えてください。
エクセルVBAを教えてください。 エクセル初心者です。 仕事の都合で下記のようなマクロを作らないといけないのですが作り方がよくわかりません・・・。 宜しくお願い致します。 ----------------------------------------------- 列A 列B 列C 列D 1行目 名前 金額 日時 2行目 Aさん 100円 12/1 3行目 200円 12/2 4行目 300円 12/3 5行目 合計 600円 6行目 Bさん 100円 12/1 7行目 200円 12/2 8行目 300円 12/3 8行目 400円 12/4 9行目 合計 1000円 10行目 Cさん 100円 12/1 11行目 200円 12/2 12行目 合計 300円 のExcel表があります。 これを下記のように変更したいです。 列を1つ挿入し、追加した列に合計行までそれぞれの人の名前をペーストしたいです。 列A 列B 列C 列D 列E 1行目 名前 名前 金額 日時 2行目 Aさん Aさん 100円 12/1 3行目 Aさん 200円 12/2 4行目 Aさん 300円 12/3 5行目 合計 Aさん 600円 ←合計欄まで名前をコピーしたいです。 6行目 Bさん Bさん 100円 12/1 7行目 Bさん 200円 12/2 8行目 Bさん 300円 12/3 8行目 Bさん 400円 12/4 9行目 合計 Bさん 1000円 10行目 Cさん Cさん 100円 12/1 11行目 Cさん 200円 12/2 12行目 合計 Cさん 300円
- ベストアンサー
- オフィス系ソフト
- エクセル マクロ VBA
エクセルのマクロについて質問です。 『集計』というブックの『集計開始』というシートに A列 B列 C列 1行目 見出し 見出し 見出し (商品名) (支店) (個数) 2行目 コメント 空白 空白 3行目 空白 空白 空白 4行目 商品名 支店 個数 5行目 空白 空白 空白 6行目 空白 空白 コメント1 7行目 空白 空白 空白 8行目 空白 空白 コメント2 9行目以降 上記のデータ(見出しを除く)の繰り返し というデータが入っています。 B列の中に『AAA』という文字が含まれていたら、そのセルを空白に置換し、 含まれていなかったら、そこで処理がとまったりエラーが出たりしないで次のステッップへ進み、 C列の中に『B』という文字が含まれていたら、そのセルを空白に置換し、 含まれていなかったら、そこで処理がとまったりエラーが出たりしないで次のステッップへ進み、 (今は、手作業で編集→置換→検索する文字列の中に『B*』と入力し、 置換後の文字列を空白にしてすべて置換ということをやっています。) ABC列(データーの入っている行まで)の空白を含む行を一括削除し、 以下のような形にしたいのです。 A列 B列 C列 1行目 見出し 見出し 見出し (商品名) (支店) (個数) 2行目 商品名 支店 個数 3行目 商品名 支店 個数 ・ ・ このようにするマクロ文はどのようになりますでしょうか?
- 締切済み
- その他(プログラミング・開発)
- "VBAの繰り返し"についてお尋ねします。VBA初心者です。
"VBAの繰り返し"についてお尋ねします。VBA初心者です。 例えば「A列の最後のセルに何か入れば、その行のB列、C列・・・の一つ上のセルに入っている計算式を繰り返しコピーする」と言うコードを教えていただけたらと思います。A列の最後のセルに何か入ってくれば、その行の一つ上のセルに入っている計算式を繰り返しコピーするというコードです。コード記述の例を教えていただけたらと思います。よろしくお願いします。
- ベストアンサー
- Visual Basic
- exlel 繰り返し マクロ VBA
エクセルのシートで A B 1空白 100 2空白 A 3空白 B 4空白 C 5空白 空白 6空白 空白 7空白 200 8空白 A 9空白 B 10空白 空白 11空白 300 12空白 A 13空白 B 14空白 C 15空白 D 16空白 空白 上記のデータを下記の様に空白行をはさんだ不特定行のB列の各行のはじめのセルの値をA列に書き込んでいくマクロをお教えください。 A B 1100 100 2100 A 3100 B 4100 C 5100 D 6空白 空白 7200 200 8200 A 9200 B 10空白 空白 11300 300 12300 A 13300 B 14300 C 15300 D 16空白 空白 お願い致します。
- ベストアンサー
- オフィス系ソフト
- エクセルVBAについて教えてください。
エクセル2007を使ったVBAについて2つ質問です。 1つ目の質問は、5列目の右端の数字を2列目の右端に持ってくるため、 Range("B2").End(xlToRight).Next.Select ActiveCell.FormulaR1C1 = Range("A5").End(xlToRight) というVBAを組んだのですが、2列目に空白が入っている場合うまく動かないため動くように したいのですが、どのように組めばいいのかわかりません。 例 A B C D E F G H I J K 1 2 【数値1】 □ □ □ 1 2 3 4 5 3 4 5 【数値2】 6 7 8 9 10 6 ※□は空白 上記の例の場合、5行目の右端である10を2行目の空白を除いた右端である5の隣に持っていきたいです。 2つ目の質問ですが上記例の2列目の両端(1と5)を選択してDeleteする方法がわかりません。 2つの質問についてわかる方おりましたら教えていただけると助かります。 よろしくお願いしします。
- ベストアンサー
- その他MS Office製品
お礼
誠にありがとうござます。無理を言って申し訳ありませんでした素晴らしく成功しました 助かりました。感謝いたします