- ベストアンサー
Excelで空白列を削除する方法
tom04の回答
- tom04
- ベストアンサー率49% (2537/5117)
こんにちは! VBAになってしまいますが、一例です。 >加えて、100列目まで関数を入れているため 質問文ではそんなに列数はないように思われますので「100行目」だという解釈です。 (100行限定ではく、A列の番号が入力してある行すべてを対象としてました。 配置は↓の画像のようになっているとします。 画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面のカーソルが点滅しているところに ↓のコードをコピー&ペースト → Excel画面に戻りマクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) Sub Sample1() 'この行から Dim i As Long, j As Long, lastRow As Long lastRow = Cells(Rows.Count, "A").End(xlUp).Row Application.ScreenUpdating = False For i = lastRow To 2 Step -1 If Cells(i, "B") = "" Then Cells(i, "B").Resize(, 5).Delete shift:=xlUp End If Next i For j = 2 To 6 i = Cells(Rows.Count, "B").End(xlUp).Row If Cells(i, j).HasFormula Then Range(Cells(i, j), Cells(lastRow, j)).FillDown Else Cells(i, j).AutoFill Destination:=Range(Cells(i, j), Cells(lastRow, j)), Type:=xlFillFormats End If Next j Application.ScreenUpdating = True End Sub 'この行まで ※ B列が空白の場合、B~F列を削除 → 上側にシフト → 最後に数式と書式を最終行までフィルしています。m(_ _)m
関連するQ&A
- エクセルVBAの質問です
sample.xlsがあり内容は下記のように A列に名前、B列に数字が入り、行数は一定でありません 田中一郎 3 鈴木健一 5 佐藤太郎 8 田中一郎 5 田中一郎 2 佐藤太郎 7 鈴木健一 3 佐藤太郎 9 鈴木健一 54 佐藤太郎 8 田中一郎 9 このエクセルシートにコマンドボタンを付け、VBAでコマンドボタンを押した場合 指定したエクセルファイル”kekka.xls”に 田中一郎 19 鈴木健一 62 佐藤太郎 32 と言うように、名前別でその氏名の横の数字の合計を表示させたいと考えています。 何卒お知恵をお貸しください、お願いします。
- ベストアンサー
- Visual Basic
- Excelで表形式の変更をしたい
Excelで質問です。 (1)のような表形式を、(2)のように、元の1列ごとに見出しを付けた形式にしたいのですが、マクロなしで可能なのでしょうか? また、マクロの使用・非使用に限らず、以下の操作を実現するマクロや関数を教えていただけると助かります。 よろしくお願いいたします。 関数や式を使ってみましたがうまくいきませんでした。。。 (1) 番号 名前 評価 1 佐藤 A 2 鈴木 B 3 田中 C (2) 番号 1 名前 佐藤 評価 A 番号 2 名前 鈴木 評価 B 番号 3 名前 田中 評価 C
- ベストアンサー
- オフィス系ソフト
- EXCELのデータで空白列を削除したい
EXCELで列数・行数が毎回変化するデータがあり、この中に数箇所に分かれて空白列が存在します。 この空白列だけをマクロで削除する方法を教えてください。
- ベストアンサー
- オフィス系ソフト
- エクセルで、ある列に不規則にある「連続した空白セルの最後尾セル」に空白の数を表示したい
エクセル(2003)を使ってます。 下のような表があるとします A B 1 年月日 鈴木太郎 2 2008/1/1 鈴木 3 2008/1/2 4 2008/1/3 鈴木 5 2008/1/4 6 2008/1/5 7 2008/1/6 8 2008/1/7 9 2008/1/8 鈴木 ↓ A B 1 年月日 鈴木太郎 2 2008/1/1 鈴木 3 2008/1/2 1 4 2008/1/3 鈴木 5 2008/1/4 6 2008/1/5 7 2008/1/6 8 2008/1/7 4 9 2008/1/8 鈴木 B2~B9(実際にはB1500くらいまで…)の"鈴木"と"鈴木"の間にある連続した空白セルの 最後尾セルに空白の数を表示したいのです。 ※ちなみにB列は同じ名前"鈴木"しか入ってません。 ご指導のほうよろしくお願いします。m(_ _)m
- ベストアンサー
- オフィス系ソフト
- エクセルのセルに入力した名前を数値化
どなたかご教授頂ければ幸いです。 エクセルの文字列(一覧表)に 田中 田中 鈴木 鈴木 佐藤 田中 田中 佐藤 佐藤 鈴木 佐藤 佐藤 と入力されているものを 集計表に 田中・・・4 鈴木・・・3 佐藤・・・5 とし、集計したいのですが、 名前を数値に読み替える方法がわかりません。 良い方法があればお教えください。 部下の月次訪問件数を容易に集計する方法を模索中です。 余計な入力を部下にさせたくないので、プルダウンで自身の 名前を選ぶだけで入力を完了とし、別の場所に作った 集計表に数値(件数)となって落ちていくものを作りたいと考えています。 よろしくお願いします。
- ベストアンサー
- Windows XP
- エクセルで2つの条件を元に
エクセル2007で名簿を作っています。 1ヶ月ごとにメンバーの順が変わります。 シート1(番号順に名簿を作りました) A B C 1 1 山田 2 2 木村 3 3 副長 佐藤 4 4 鈴木 5 5 班長 田中 6 6 長田 シート2(こちらがメンバーに配る名簿です) A B C D 1 班長 1 3 2 田中 山田 鈴木 3 4 副長 2 4 5 佐藤 木村 長田 A2に田中,A5に佐藤を選んでくるのはvlookupで成功しました。 質問したいのは C列D列に上記の番号のようにシート1の名前を入れていきたいのですが,田中,佐藤の分を抜いた上で番号の若い順に選んできたいのです。 どのような関数をどのように使えば成功するでしょうか。
- ベストアンサー
- その他MS Office製品
- EXCELの関数またはマクロ教えてください。
こんばんは。 よろしくお願いいたします。 EXCEL2000です。 (1)こんな縦に重複した名前の表を、 名前 コード 内訳名 金額 鈴木 1 飴 \100 鈴木 2 ガム \150 鈴木 4 米 \1,000 鈴木 6 食器 \500 佐藤 1 飴 \100 佐藤 2 ガム \200 佐藤 3 パン \300 田中 1 米 \1,300 田中 2 ガム \200 田中 4 米 \1,300 田中 6 食器 \600 (2)横に一人一レコードにまとめたいのです。 列の項目が内訳名になり増ますよね。 名前 飴 ガム パン 米 食器 鈴木 \100 \150 \1,000 \500 佐藤 \100 \200 \300 田中 \1,300 \200 \1,300 \600 (3)欲を言えば、飴とガムは合計したいです。これが最終形態です。 名前 お菓子 パン 米 食器 鈴木 \250 \1,000 \500 佐藤 \300 \300 田中 \1,500 \1,300 \600 せめて(1)から(2)にする方法で何かよい関数などないでしょうか。 でなくても、「はじめからこんなマクロ・VBAでこんなのできるよ。」 なんてのがあれば、モジュールで教えてください。 本当に本当によろしくお願いいたします。 このデータは後、300くらいあります。 私のレベルは、MOS上級取得なので、多少理解力はあるかと思います。 というか、必死で頑張りますのでお願いします。m(__)m
- ベストアンサー
- オフィス系ソフト
- Excel行毎に項目列数の違う表を行列変換したい
A列に何かしらの名称、B列以降に文字列値があるとします。 鈴木|あああ|いいい|ううう| 佐藤|えええ| | | 田中|ううう|かかか| | ・・・ という表を、 鈴木|あああ 鈴木|いいい 鈴木|ううう 佐藤|えええ 田中|ううう 田中|かかか ・・・ というように変換したいのですが、うまい方法ありませんか?
- ベストアンサー
- その他MS Office製品
- 列が空白なら削除したい
「もし○列が空白なら削除、空白でない(ひとつでもセルに文字が入力されている)ならそのまま」ということを×列まで順に行いたいのですがどうすればいいのでしょうか? よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルでの並べ替えについて教えてください。
0451 田中 451 佐藤 4564 加藤 777 石井 7456 鈴木 897 狭山 といった感じで200行位番号と名前が続きますこれを。 001 山川 001 山川 002 一郎 ←このように左側の列にはあっても右側 003 栢山 003 栢山 にはなかったりする表があるのが、この ような並べ替えをするにはどうしたら良い のでしょうか?宜しくお願い申し上げま す。
- ベストアンサー
- オフィス系ソフト
お礼
ご回答ありがとうございました! PC初心者の自分には少しばかりハードルが高いようです。 力不足ですいませんが、ありがとうございました!