- ベストアンサー
空白を埋めるマクロについて
myeyesonlyの回答
- myeyesonly
- ベストアンサー率36% (3818/10368)
こんにちは。 横方向に全項目空欄というレコードはないという前提でいいでしょうか? いちおう、こんなの考えてみました。 データはバックアップしてからやってくださいね。(笑) あと、解答欄のサイズの関係で、変な所に改行が入っちゃう場合がるので注意してください。 sub うまくいく保証はありません() '開始位置はA2だけどループの都合上A1から開始。 range("a1").select '終了検出用変数 n$ を空っぽじゃなくしておく '始めの一個目で終わりに飛ばない為。 n$="はじめ" while n$<>"" 'y はこれから作業する行 '注意!選択されてるセルは一つ上 y = activecell.row + 1 if cells(y,1) = "" then '空白なので前のデータが入る cells(y,1) = y1 else '空白じゃないので保持用変数y1 を新しくする y1 = cells(y,1) end if if cells(y,2)="" then '空白なので前のデータが入る cells(y,2) = y2 else '空白じゃないので保持用変数y2 を新しくする y2 = cells(y,2) end if if cells(y,3) = "" then '空白なので前のデータが入る cells(y,3) = y3 else '空白じゃないので保持用変数y3 を新しくする y3 = cells(y,3) end if if cells(y,4) = "" then '空白なので前のデータが入る cells(y,4) = y4 else '空白じゃないので保持用変数y4 を新しくする y4 = cells(y,4) end if 'この行の作業が終わったので、現在の選択されてる行(セル)を一つ下げる cells(y,1).select 'n$ はループ終了検出用 n$=cells(y,1) & cells(y,2) & cells(y,3) & cells(y,4) wend end sub
関連するQ&A
- エクセルマクロ、空白行(セル)の挿入
データがA、B、C、D、E列100行まであります。 このうちD、E列を除き、エクセルのマクロで1行ごとに空白で10行挿入したいです。 (A、B、C、D列のデータに空白セルを10行分挿入し、下にシフトするイメージ。D、E列はそのまま。) ご教授頂きたく、お願いします。
- 締切済み
- その他(Windows)
- エクセルのマクロ(指定列の空白にひとつ上の文字を入力し続ける)
エクセルのマクロを教えてください。 指定列の空白にひとつ上の文字を入力し続けるマクロです。 A列指定 A2からスタートし、1000行くらいあるデータ 空白があった場合ひとつ上の文字を入力 空白は、2行連続・3行連続となることもあるが大抵は1行空白 この場合、空白セルの上で一番近いデータをコピーする A列のデータは、文字・数字・日付と様々 1000行ある場合もあるが、それ以下の場合もあるので、10行空白が続いたらマクロが自動的に終了 エクセル2003使用 よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- 【マクロ】クリックすると空白を含む列を非表示に
上司にExcelのデータが見づらいと言われて困っています。 下記のようなマクロやVBAを教えていただけないでしょうか? 例えば、 A2のセルをクリックすると、その行(2行目)から空白セルを検索して、そのセルを含む列を非表示にして、データが入っている列だけを表するようなマクロってないでしょうか? (要は、C2とE2が空白セルのとき、A2をクリックして、A/B/D/F~の列だけ表示されるようになるマクロです。 同様に3行目でも、空白セルがB3、C3なら、A3をクリックした時、A/D/E…列だけ表示されて、B・C列が非常時になるような。) 似たような機能があれば、A2クリックでなく別にボタン等を作っても構いません。 ややこしくて、申し訳ございませんが、本当に困っているので、 どうかよろしくお願いいたします。
- 締切済み
- オフィス系ソフト
- エクセル2003のVBAを教えて
エクセル2003のVBAを教えてください。 次の対象データで、(1)(2)(3)の作業が出来るエクセルVBAを教えて下さい。 (1)(2)(3)個々のVBAでお願いします。 ●対象データ:種類(A列)、文字(B列)、 データの行数:不特定なので、データのある最終行までとします。 ●教えていただきたい項目 (1):種類だけを(C列)に取り出す。 (2):種類の先頭に空白の行を3行入れて、追加の2行目の種類(A列)に文字(B列)を入れる。 (3):種類が5行以上あるときは、5行ごとに空白行を追加する。 ●対象データ 種類(A列) 文字(B列) AA あああ BB いいい BB いい BB いいい CC うう CC うう DD ええええ DD ええええ DD ええええ DD ええええ DD ええええ DD ええええ DD ええええ ●(1)のVBAの結果(このようになるVBAを教えてください。) (C列) AA BB CC DD ●(2)、(3)のVBAの結果(このようになるVBAを教えてください。) 種類(A列) 文字(B列) あああ AA あああ いいい BB いいい BB いいい BB いいい うう CC うう CC うう ええええ DD ええええ DD ええええ DD ええええ DD ええええ DD ええええ DD ええええ DD ええええ
- ベストアンサー
- Visual Basic
- COUNTBLANKのような役割を持つマクロ
COUNTBLANKとはちょっと違うのですが、 行 ↓ A B C D ←列 1 AB AC AD AA 2 BB 3 C CC 4 DD 上記のようなデータがあります。 2,4行目みたいにA列とB列とC列が空白だったら、E2、E4セルに ○っていのを表示させるようなマクロってできないでしょうか。 また、Dのセルに値がある限り、その行数分上記の処理を繰り返す 方法があったら教えてください
- ベストアンサー
- オフィス系ソフト
- マクロにて空白のセルを一括して消去でなく削除したい
空白のセルを一括して、空白セルについた色も含めてマクロで全て削除したい。 現在のデータ(仕様)について 1.Sheet2に列ごとにセルに色をつけ、データもあるとします。 2.A列10行・B列6行・C;列18行というように、列によってデータの入った範囲が違います。 3.どの行も途中に空白セルはなく、詰めたデータです。 以上です マクロで一括処理したいと思いますが、このようなことができるコードを教えて頂けませんか。よろしくお願いします。
- ベストアンサー
- Visual Basic
- 削除して空白になった行を下から詰めたい
A行には項目の名前があり、A列には番号が上から1,2,3・・と振られています。 そして、B2からR999までにはそれぞれデータが入っています。 このとき、任意のR列のセルを選択したまま、マクロを実行すれば、 任意の行のB列からR行が削除されて、下から上に詰めるように(空白にならないように) するマクロを作りたいです。(A行に割り振っている番号を消してしまうと 連番が崩れるので、B列からR列までを詰めていくような感じです) 例: 今、R11のセルを選択しています。希望のマクロを実行すると、C11~R11が削除されて C12以降のデータが丁度上に移行するような感じです。 どのようなコードを作れば良いのか、お力をかしていただければ幸いです(/_;)
- ベストアンサー
- オフィス系ソフト
- エクセルのマクロでデータを左につめていく
お世話になります。エクセル2002でマクロを作成しようと思っています。 毎回同じ処理をしているので、良いサンプルがあったら教えてください。 やりたいこと A列からF列にランダムにデータが入力されています。 このデータをA列、B列、C列と、左に詰め表示させたいです。 ※G列以降にもデータが入力されていますが、処理したい列範囲はA列~F列です。 ※行数は、都度変わります。(UsedRange.Rows.Countで値を取得) イメージ(処理前) - : 空白セル *** : データが入力されているセル A列 B列 C列 D列 E列 F列 1行目 項目1 項目2 項目3 項目4 項目5 項目6 2行目 *** *** - *** *** - 3行目 - - - *** *** *** 4行目 *** - - - - - 5行目 *** *** - *** - - イメージ(処理後) A列 B列 C列 D列 E列 F列 1行目 項目1 項目2 項目3 項目4 項目5 項目6 2行目 *** *** - *** *** - 3行目 *** *** *** - - - 4行目 *** - - - - - 5行目 *** *** *** - - -
- ベストアンサー
- その他MS Office製品
- エクセルマクロ、集計行の上に空白行挿入
エクセルデータがA、B、C、D、E列1000行まであります。 C列基準でE列を合計するマクロを作成しましたが(集計行はデータの下に挿入)、実行の結果、新たに挿入される集計行の上に空白行を1行挿入していくということを、作成したマクロに付加できるでしょうか? ご教授頂きたく、お願いします。
- ベストアンサー
- オフィス系ソフト
- 複数列の重複と空白を削除するマクロ(VBA)
マクロの初心者です。 添付写真のように、複数列の重複セルと空白セルの両方を削除し、各列のデータを10列目から並べたいのですが、この場合、どのようなマクロを書けばよいでしょうか。 データの個数: 列によりますが、最大1000行程度 列数: A~J(空白列はありません)
- ベストアンサー
- Excel(エクセル)
お礼
投稿時は表がうまく見えてたのですが、こう見るとズレてて分かり難いですね。。こんなわかりにくい質問にお返事下さいまして、本当にありがとうございます。 調べましたら、項目によっては1列まるまる空白のものもありました。 そして修正版を貼り付けて試させて頂いたのですが、A列の一番最初の空白しかコピーされず、残りは全て空白のままでした。。私のやり方が悪いのでしょうか??申し訳ございませんが、もう少しご教授願えますでしょうか? 宜しくお願い致します。