社内販売の取りまとめをしています。
全社員に同じ注文書を送付し注文を受け付けました。
ところが送付した注文書が間違っており、正しいファイルにはないはずの行が挿入されていることがわかりました。
集計は別のbookにマクロが組んであり、それを利用します。
集計用book中のボタン押下で注文書から必要項目を抽出してくれる仕組みになっています。
誤送付したbook(注文書)に余分な行が挿入されているため注文項目がずれてしまい正しい集計ができません。
注文書は200枚以上あり、一つ一つのbookを開いて不要な行を削除していくのは気の遠くなるような作業になってしまいます。
一度に複数のbookから特定の行を削除するような方法はあるでしょうか?
よろしくお願いします。
No.4ベストアンサー
- 回答日時:
「複数のブックを纏めて行削除」なんてことは,マクロを使っても出来ません。
折角マクロを使ってるのですから,マクロを使って1つ1つブックを開いては修正していく作業を自動でやらせるだけですね。
#もちろんその過程の中で,たとえば「実施済みのブックを誤ってマクロを走らせてしまい,ホントは要り用な範囲も削ってしまった」みたいな間違いも起こり得るワケですが。
sub macro1()
dim myPath as string
dim myFile as string
mypath = "c:\test\" ’注1
mkdir mypath & "DONE\"
myfile = dir(mypath & "*.xls*") ’注2
do until myfile = ""
workbooks.open filename:=mypath & myfile
activeworkbook.worksheets(1).rows(1).delete shift:=xlshiftup ’注3
activeworkbook.saveas filename:=mypath & "DONE\" & myfile
activeworkbook.close false
myfile = dir()
loop
end sub
「実際に動くマクロ」を誰か代わりに書いて教えてくれってご相談の場合,次のような「具体的な実際のエクセルの姿や状況」について情報提供しないとダメです
注1:具体的にブックが保存してあるフォルダのフルパス
注2:具体的なブック名のサンプル,ブック名のルール,正しい拡張子
注3:実際に処理したい具体的なシート名,または対象シートを特定できる情報,具体的に処理したいセル範囲
丁寧な注釈つきの回答、ありがとうございます。
質問する前にもう少し勉強が必要なようですね。
具体的なソースも示していただきありがとうございました。
No.3
- 回答日時:
>一度に複数のbookから特定の行を削除するような方法はあるでしょうか?
基本的にマクロを使用することになりますが、マクロ処理では元に戻すことができないので、十分な検証のもとで実行しないとデータを消失するなど重大なエラーが発生する可能性がありますので、初心者にはお勧めできません。
>集計用book中のボタン押下で注文書から必要項目を抽出してくれる仕組みになっています。
必要項目を抽出するマクロがあるなら、こちらのコード(対象データの行位置)を修正したほうが、リスクが少なくお勧めの対応です。
この回答への補足
>データを消失するなど重大なエラーが発生する可能性があり
そうですか。
確かにデータ消失はリスクが高すぎますね・・・
>こちらのコード(対象データの行位置)を修正・・・
私もそれをチラと考えてみたのですが、集計表は外部の会社に作っていただいたものでとても恐ろしくてさわれません。
代替え案考えていただきありがとうございました。
No.2
- 回答日時:
それは大変ですね。
フォルダに入っているエクセルファイルに対して同一の行を削除するマクロをVBで組めばできますよ。
その程度のVBであれば30分もあれば作れると思いますけど。
ちなみに削除したいのは何シートの何番目の行でしょうか?
それさえ分かれば作れます。
もちろん、ここではソースコードを教えることしかできないので、ご質問者様の方でソースコードをエクセルのVBAで登録してファイルを作ってもらう必要がありますけどね。
この回答への補足
回答ありがとうございます。
削除したいのは
1シート目の1行目、2行目です。
ソースコードを教えていただけるのでしょうか?
助けていただけると幸いです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
「これはヤバかったな」という遅刻エピソード
寝坊だったり、不測の事態だったり、いずれにしても遅刻の思い出はいつ思い出しても冷や汗をかいてしまいますよね。特にものすごく怒られたときとか、とんでもない損害を与えてしまったときとか…。
-
VBA フォルダ内の全てブックの特定の行の削除方法
Excel(エクセル)
-
フォルダ内の複数ファイルから特定のシートを一括削除
その他(Microsoft Office)
-
VBAで別ブックのシートを指定して削除したい。
Visual Basic(VBA)
-
-
4
複数のExcelファイルにある同名シートを1つのシートに一括でまとめるには?
Excel(エクセル)
-
5
グラフの横・縦項目が全部表示されない
Excel(エクセル)
-
6
ブックを開かずに、フォルダ内にある複数ブックの、特定セルの値を抽出した
Excel(エクセル)
-
7
ファイルの先頭行を全て削除したい
Windows Vista・XP
-
8
フォルダ内の全ブックのシート名を変更したいです。
Excel(エクセル)
-
9
エクセルで別シートにリスト化した文字列を含むセルを持つ行を削除する方法を教えてください。
Excel(エクセル)
-
10
Excelで、複数ブックの複数シートを削除するマクロを教えて下さい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAで保存しないで閉じると空の...
-
エクセル関数>参照ファイル名...
-
【Excel VBA】マクロでExcel自...
-
マクロの保存先、開いてるすべ...
-
エクセル;相対パスを絶対パスへ...
-
EXcelのマクロで相対パスでファ...
-
【Excel】マクロの保存先について
-
エクセルのvbaにて thisworkboo...
-
エクセルで使用期限付きのブッ...
-
EXCELのボタンによるマクロの登...
-
[フィルターオプションの設定]...
-
ExecuteExcel4Macroを使って他...
-
エクセルで未保存に対するメッ...
-
マクロ 自動でパスワード及び指...
-
ファイル名変更後も、マクロを...
-
複数のExcelブックから特定シー...
-
複数のExcelファイルの印刷設定...
-
EXCELブックが勝手に開いて困っ...
-
個人用マクロブックが消えました
-
excelで直前に参照していたブッ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAで保存しないで閉じると空の...
-
エクセル関数>参照ファイル名...
-
【Excel VBA】マクロでExcel自...
-
マクロの保存先、開いてるすべ...
-
エクセル;相対パスを絶対パスへ...
-
【Excel】マクロの保存先について
-
エクセルVBAで作成した別ブック...
-
excelで直前に参照していたブッ...
-
EXcelのマクロで相対パスでファ...
-
[フィルターオプションの設定]...
-
エクセルのvbaにて thisworkboo...
-
【Excel】特定セルの内容をテキ...
-
EXCELのボタンによるマクロの登...
-
エクセルVBA 個人用マクロブッ...
-
EXCELブックが勝手に開いて困っ...
-
エクセルで未保存に対するメッ...
-
エクセルで使用期限付きのブッ...
-
個人用マクロブックが消えました
-
名前の変わるブックをアクティ...
-
エクセルを開いて文字を打つ際...
おすすめ情報