• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【エクセル】タイトル行のみ一括削除)

【エクセル】タイトル行の一括削除方法とは?

このQ&Aのポイント
  • エクセルの添付ファイルに複数行存在するタイトル行を一括削除する方法を教えてください。
  • タイトル行を選択またはオートフィルタで指定し、選択行を削除する方法ではデータ行数が多いと苦労します。一括で削除する方法(マクロまたはVBA)があれば教えてください。
  • 添付ファイルの黄色のタイトル行および空欄行を一括で削除したいです。タイトル行の数はファイルにより異なりますが、一番上のタイトル行は残したいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.6

No3とNo5です 蛇足かもしれませんが > タイトル行を消す方法(マクロorVBE) と書かれてるのを見てちょっと気になったので、ご存知かもしれませんがマクロの設定を書いておきます。 シートが開いた状態でALTとF11を同時に押します。するとVBEが開きますので、左側の窓でデータの加工をしたいシート名が書かれているところをダブルクリックします。すると、右側に白い画面が開きますので、回答にあるマクロをそこにコピー貼り付けしてください。 後は、メニューのマクロから実行してください。 それで、実際の作業ですが、毎回マクロをデータのあるブックにコピー貼り付けするのではなく、マクロのあるブックを作業用のブックとして、データをそのブックのマクロのあるシートに読み込む、もしくはコピー貼り付けします。次に、マクロを実行してできたデータを保存用のブックにコピー貼り付けして保存する、という流れにしたほうがいいのではないかと思います。 ただ、上記の作業をするよりも、No3の作業のほうが結果的には多分早いのではないかとは思われます。

gxtsf295
質問者

お礼

ご回答ありがとうございます。 NO5のマクロを実行したところ、うまくいきました。 また、わからない事ありましたらよろしくお願いします。

その他の回答 (5)

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.5

どうしてもマクロでというのでしたら Sub 不要行削除() Dim i As Long For i = Range("A" & Rows.Count).End(xlUp).Row To 2 Step -1 If Range("A" & i).Value = "売上日" Or Range("A" & i).Value = "" Then Rows(i).Delete Shift:=xlUp End If Next End Sub こんな感じでいかがでしょう

回答No.4

Sub 選択削除  For rw = [A65535].End(xlUp).Row To 2 Step -1   If Cells(rw, 1).Value = "" Or Cells(rw, 1).Value = "売上日" Then Rows(rw).Delete  Next rw End Sub こういうことではあると思うんですが(意味は「自分で」調べてください)、 行数がかなり多いなら、毎回このマクロを張り付けて実行するよりもオートフィルタでA列の「売上日」または空白を抽出して削除のほうが早いです。 フィルタをかけてからの削除は自動で「行削除」になるので何も考えなくても該当行だけ削除されるでしょう?

gxtsf295
質問者

お礼

ご回答ありがとうございます。 試したところうまく行きました。 わからない事ありましたら再度質問投稿させて頂きますのでその際は御教授よろしくお願い致します。

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.3

マクロを作るほどでもないのではないでしょうか。 オートフィルタで売上日を指定して、上から二つ目の売上日の行を選択、Shift+Ctrl+↓で一気に最終行まで選択できますから、それで行の削除をする、同じように、選択肢を空白にして同じ動作をすれば、行数が多くても慣れれば殆ど秒単位で削除できますよ。 同時に売上日と空白を選択することもできますが、Shift+Ctrl+↓で一気に最終行まで選択できないので何度かShift+Ctrl+↓が必要になります。同時に売上日と空白を選択するには、2003だとオートフィルタのオプションで「売上日」「と等しい」 or をチェック 次の左のボックスには何も入力せず右だけ「と等しい」にする。2010だとプルダウンメニューで売上日と空白にチェックを入れたらいいだけ。

gxtsf295
質問者

お礼

ご回答ありがとうございます。

  • kteds
  • ベストアンサー率42% (1883/4441)
回答No.2

回答すれば、いろいろ追加条件が付くような質問ですが、私なら次のようにします。 表示したデータ(タイトル行)を消す、という発想ではなくて、 取り込む前のデータから不要な行(売上日の行(トップ以外の行))をカットしてエクセルに取り込みます。 --- 取り込む前のデータは、何らかの区切りの csv データでしょうから、上記の判定で1行ごとにselectすれば、該当データだけを抽出できます。 抽出したデータを csv としてエクセルに読み込むだけでOKです。

gxtsf295
質問者

お礼

ご回答ありがとうございます。 実践してみます。

  • STICKY2006
  • ベストアンサー率29% (1536/5269)
回答No.1

1.「A列」に、1列挿入。 2.「A列」に、上から連番をつける。 3.「並び替え」で、全てを選択して、「B列」を対象とする。 4.「売上日」のタイトル行が、上か下のどちらかに固まるので、黄色のとこ全部選択して削除。 5.「並び替え」で、「A列」を対象として、昇順で並び替え。 6.「A列」を削除する。 試してませんが、「2」で連番つけることによって、元の順番は変わらない&間の、空白行も残せる。かと。 (空白行もいらないなら、「4」と「5」の間に、数字ついた空白行消す。を入れる。 >>出来れば一括でタイトル行を消す方法(マクロorVBE)があれば マクロにすべきかすべきじゃないか。の判断は、今後も定期的にずっと続けなきゃいけない作業なのか。 とか、こうやって質問してる間に、手作業でやってりゃ終わる作業なのか。 といったところですかね。。。 当然、マクロ頑張って作れば、「売上日」が2回目以降に登場したら、その行削除して~を繰り返すようなものは出来ますが、上の作業でも1~2分で終わると思いますので、 1~2分×ファイル数×今後発生する回数が、ここで、回答を待つに値するかどうか。。。マクロ組むに値するかどうか。。。。 ってとこですかね。。。 まぁ、それで判断した上で、マクロが必須っぽいのならば、他回答者さんの回答がつくことを祈ってます。。。

gxtsf295
質問者

お礼

ご回答ありがとうございます。 この作業は、他社が定期的に実施する作業なのでなるべく簡素化したいと思いますのでマクロを組む方向で勉強してみます。 何かいいマクロがあれば追加ご指導よろしくお願いします。

関連するQ&A

専門家に質問してみよう