セルの移動、貼り付けの繰り返し
- Excel2003を使用して、データが入った各行の日付の下に3行挿入し、値を切り取って貼り付けたいです。VBAを使って一括で処理したいですが、やり方がわかりません。初心者なので助けてください。
- Excel2003でA列からC列までのデータが入った各行の日付の下に3行挿入し、値を移動して貼り付けたいです。手作業では時間がかかるので、VBAを使って効率化したいです。初心者なので具体的なコードがわかりません。教えてください。
- Excel2003のA列からC列までの各行には必ずデータがあり、日付の下には3行空行を挿入したいです。また、B列の値をA列に移動し、C列の値をA列に移動した後は、空行にしたいです。手作業では面倒なので、VBAを使って一括処理したいです。初心者なのでコードがわかりません。お助けください。
- ベストアンサー
セルの移動、貼り付けの繰り返し
お世話になります。 Excel2003を使用しています。 A列からC列まで各行に必ずデーターが入っており、日付の入った各行の下に3行挿入した後、B1の値をA2へ、C1の値をA3へそれぞれ切り取って貼り付け、その下の行は空白にしたく、今現在手作業で行っています。VBAで一括で処理したく、データーがある限り同じように繰り返したいのですがやりかたがわかりません。初心者なので自分で考えたコードも記述していなく、丸投げですみませんが、どなたかご教授していただけませんか?よろしくお願いします。 A B C 1 3月1日 大阪 日帰り 2 3月2日 東京 出張 3 3月3日 名古屋 日帰り 4 ・・ ・・ ・・ 下図のようにしたいのですが。 A B C 1 3月1日 2 大阪 3 日帰り 4 空白 5 3月2日 6 東京 7 出張 8 空白 9 ・・
- yanohara
- お礼率85% (80/94)
- その他MS Office製品
- 回答数2
- ありがとう数2
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは! 関数でもできそうですが、VBAをご希望だというコトですので・・・ 一例です。 Sheet1のデータをSheet2に表示するようにしてみました。 Alt+F11キー → メニュー → 挿入 → 標準モジュール → VBE画面に ↓のコードをコピー&ペーストしてマクロを実行してみてください。 Sub Sample1() 'この行から Dim i As Long, cnt As Long, wS1 As Worksheet, ws2 As Worksheet Set wS1 = Worksheets("Sheet1") Set ws2 = Worksheets("Sheet2") Application.ScreenUpdating = False ws2.Cells.Clear For i = 1 To wS1.Cells(Rows.Count, 1).End(xlUp).Row cnt = cnt + 1 wS1.Cells(i, 1).Resize(1, 3).Copy ws2.Activate ws2.Cells((cnt - 1) * 4 + 1, 1).Select Selection.PasteSpecial Paste:=xlAll, Transpose:=True Next i Application.ScreenUpdating = True End Sub 'この行まで こんな感じではどうでしょうか?m(_ _)m
その他の回答 (1)
マクロを使用しない別解 Sheet2!A1: =IF(MOD(ROW(),4),OFFSET(Sheet1!A$1,(ROW()-1)/4,MOD((ROW()-1),4)),"") このセルを必要な行数だけ下方にズズーッとドラッグ&ペースト
お礼
一番早いご回答ありがとうございました。結局はtom04さんのコードで出来ました。 今後もよろしくお願いします。
関連するQ&A
- 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を書きたいのですが、なかなか上手くできません。 〈処理〉 A列の空白セルに対して、空白セル(例えばA2)の上のセル(A1)の値(2003)をコピーし、空白セル(A2)に貼り付ける。 次に、ひとつ下空白セル(A3)も同様に1つ上のセル(A2)の値(2003)をコピーし、空白セル(A3)に貼り付ける。 を繰り返す。 このようなプログラムを書きたいのですが。 A B C … A B C… 1 2003 1 2003 2 2 2003 3 3 2003 4 2005 ⇒ 4 2005 5 5 2005 6 6 2005 7 7 2005 8 1999 8 1999 : : : : よろしくお願いします。
- ベストアンサー
- Visual Basic
- セルの選択、貼り付け
よろしくお願いします。 次のような処理をするプログラムを書きたいのですが、うまく書けません。教えてください。 (処理) 1つのExcelファイルの中で、sheet1A列のセルの値と同じ値を有するセルがsheet2A列にある場合、当該行のB列の値をsheet1のセルに貼り付ける。 (前) 〈sheet1〉 〈sheet2〉 A B … A B … 1 c1 1 c1 200 2 b2 2 a1 300 3 d5 3 b3 500 : 4 b2 400 5 d5 500 : (後) 〈sheet1〉 A B … 1 c1 200 2 b2 400 3 d5 500 :
- ベストアンサー
- Visual Basic
- セルの値と色を変えたい
OS WIN10 Office2007の環境で A列B列C列で各行は20づづあります 実現したいのは 1. D列に文字列(D2に)Hが入力されると、その行のB列(B2)の値を削除2の行(A2 B2 C2)の背景色を黄色にしたい 2. D列に文字列(D2に)Gが入力されると、その行のB列(B2)の値を削除2の行(A2 B2 C2)の背景色を緑色にしたい 条件付き書式とか設定していますが うまくいきません ご指南ください
- 締切済み
- Excel(エクセル)
- Excel(2000)で行毎にセルをみて、値を返す
例えば、以下のようなデータがあったとして、各行毎に左から見た結果、最初にデータがあったセルの列の1行のセルの値を各行のG列に返したい。 ______A__B__C__D__E__F__G__ 1行_ア__イ__ウ__エ__オ__カ____ 2行_1__3__5__2__4__1__ア__ 3行_____2__5__1__5__4__イ__ 4行_____________2__8__2__エ__ 5行_____2______2__1__4__イ__ 6行_________5______2______ウ__ G列に結果。 例えば、G3のセルに何らかの関数を入れて、A3~F3を左から見た結果、B3に2というデータがあるので、その列の1行であるB1の値、イをG3に返すといったないようです。 _ は、スペースをとるためのものです。 実際のデータは500行あり、各行の検索する列数は23列あります。 よろしくお願い致します。
- ベストアンサー
- オフィス系ソフト
- 2つの値が同じという条件で行を消したい。
下のような表で、1列目、2列目の値がともにダブっている行のみを消したいです。 1 A 1 B 1 B 1 C 2 A 3 C 3 A 3 C でいうと2、3行めの 1 B と 6、8行めの 3 C がダブっているので それを行ごと消して 次のようにしたいのです。 1 A 1 B 1 C 2 A 3 C 3 A ちなみに各行には他の列にもデータがならんでいます (3 A あ カ・・・・・・のようになっています)。 また、ダブるのは2行に限らず3行4行にわたるものもあります。 これってけっこう難しいのでしょうか? ぜひアドバイスを。
- ベストアンサー
- オフィス系ソフト
- エクセルマクロにて条件比較後にセル挿入をしたい
下記の様な表(処理前)があるとします。 2行目から行毎に"A列 = C列 AND B列 = D列"という比較を行い、 TRUEなら次の行へ、FALSEなら該当行のC列とD列に 空白セルを挿入し(処理後の表の様にしたいです)次の行へ進む という処理をマクロにて実現したいです。 どのようなマクロを組めば宜しいでしょうか?ご教授お願い致します。 <処理前> A列 B列 C列 D列 東京 斎藤 東京 斎藤 東京 田中 東京 後藤 東京 伊藤 東京 井上 東京 後藤 東京 三沢 東京 井上 大阪 田中 東京 三沢 <処理後> A列 B列 C列 D列 東京 斎藤 東京 斎藤 東京 田中 <両列に空白セル挿入> 東京 伊藤 <両列に空白セル挿入> 東京 後藤 東京 後藤 東京 井上 東京 井上 大阪 田中 <両列に空白セル挿入> 東京 三沢 東京 三沢
- ベストアンサー
- Visual Basic
- 空白セルのカウント方法
どなたかご存じでしたら回答をお願いします。 【質問】 各列毎に●や★が任意の数がある8行のセルがあります。 各列毎に8行目から上に遡り、●までの間の空白のセルを数える方法が知りたいです。 但し、★も”空白の1つ”として数えます。 【入力】 A B C D E F G ・・・・ 1 ● ★ 2 ● ● 3 ★ ● 4 ★ 5 6 7 ● 8 ● 【結果】 A B C D E F G ・・・ 7 8 6 6 8 1 0 ※結果の説明 A:●の下には空白が7個。 B:●が無く空白が8個。 C:●の下に★があるが空白とみなして6個。 D:●の下に空白が6個。 E:★があるが空白とみなして8個。 F:●の下には空白が1個 G:●の下には空白が0個 使用するエクセルは2010です。 以上、よろしくお願いします。
- ベストアンサー
- その他MS Office製品
- 空白セルを飛ばして転記したい
こんばんは。 またもやexcelで悩んでおります。どうぞご教授ください。 下のようなデータがあります。 A B C D E F G 1 山岡 山田 丸山 山岡 山田 丸山 2 平尾 南田 平尾 南田 3 ・ ・ A列からD列まで名前のデータがあり、空白のセルもあります。 E列からG列には、各行のA列からD列の名前を、空白セルを飛ばして表記したいのです。(詰めて表記したいです) 名前は各行とも0から3つまでです。 前回同様(QNo.4073079)行き詰ってしまいました。 よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- データ抜き出し・別シートへ貼付マクロ
WinXP、Office2003を使用しています。 Sheet1に入力されている情報から、下記条件を抜き出し、あらかじめ用意 してある別シートに書き出したいをしたいと思っております。 業務が多く恥ずかしながら手が回らず、少しでも負荷を軽くしたいのですが ご存知の方がいらっしゃいましたらマクロを教えていただけませんでしょうか? なお、1行目にはタイトルが入っており、2行目以降に情報が入っています。 【実施したい処理】 ・B2セルに「/愛知」と入っていたら、A2・B2・C2セルの値を あらかじめ作成してある "/愛知"シートへ書き出す。 ・B2セルに「/東京」と入っていたら、A2・B2・C2セルの値を あらかじめ作成してある "/東京"シートへ書き出す。 ・B2セルに「/大阪」と入っていたら、A2・B2・C2セルの値を あらかじめ作成してある "/大阪"シートへ書き出す。 ※2000行ぐらい情報が入っています。 【イメージ(処理前)】 A列 B列 C列 1行目 A列タイトル B列のタイトル C列のタイトル 2行目 あああ/1234/111 あああ/1234/111/愛知 56789 3行目 ててて/2222/987 ててて/2222/987/東京 11122 4行目 くくく/5467/232 くくく/5467/232/愛知 65656 5行目 ままま/5555/741 ままま/5555/741/大阪 33444 【イメージ(処理後)】 愛知シート A列 B列 C列 1行目 A列タイトル B列のタイトル C列のタイトル 2行目 あああ/1234/111 あああ/1234/111/愛知 56789 3行目 くくく/5467/232 くくく/5467/232/愛知 65656 東京シート A列 B列 C列 1行目 A列タイトル B列のタイトル C列のタイトル 2行目 ててて/2222/987 ててて/2222/987/東京 11122 大阪シート A列 B列 C列 1行目 A列タイトル B列のタイトル C列のタイトル 2行目 ままま/5555/741 ままま/5555/741/大阪 33444 わかりにくくて申し訳ございませんが、よろしくお願い致します。
- 締切済み
- その他MS Office製品
お礼
できました。 初心者だからといっても、もう少し勉強してから質問しないといけないのに、ご丁寧なご回答ありがとうございました。 非常に助かりました。