
社内販売の取りまとめをしています。
全社員に同じ注文書を送付し注文を受け付けました。
ところが送付した注文書が間違っており、正しいファイルにはないはずの行が挿入されていることがわかりました。
集計は別の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も見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAで保存しないで閉じると空の...
-
【マクロ】元データと同じお客...
-
【Excel VBA】マクロでExcel自...
-
エクセル関数>参照ファイル名...
-
マクロの保存先、開いてるすべ...
-
エクセルのvbaにて thisworkboo...
-
EXcelのマクロで相対パスでファ...
-
エクセル;相対パスを絶対パスへ...
-
EXCELのボタンによるマクロの登...
-
複数のExcelブックから特定シー...
-
複数のExcelファイルの印刷設定...
-
エクセルで未保存に対するメッ...
-
EXCELマクロで、開いてはいるが...
-
EXCELブックが勝手に開いて困っ...
-
【Excel】特定セルの内容をテキ...
-
excelで直前に参照していたブッ...
-
エクセルで使用期限付きのブッ...
-
ファイル名変更後も、マクロを...
-
エクセルVBAで作成した別ブック...
-
エクセルVBA 個人用マクロブッ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【マクロ】元データと同じお客...
-
VBAで保存しないで閉じると空の...
-
【Excel VBA】マクロでExcel自...
-
エクセル関数>参照ファイル名...
-
マクロの保存先、開いてるすべ...
-
エクセルのvbaにて thisworkboo...
-
エクセル;相対パスを絶対パスへ...
-
【Excel】マクロの保存先について
-
EXcelのマクロで相対パスでファ...
-
エクセルで未保存に対するメッ...
-
EXCELマクロで、開いてはいるが...
-
excelで直前に参照していたブッ...
-
エクセルを開いて文字を打つ際...
-
エクセルで使用期限付きのブッ...
-
EXCELのボタンによるマクロの登...
-
[フィルターオプションの設定]...
-
EXCELブックが勝手に開いて困っ...
-
【Excel】特定セルの内容をテキ...
-
エクセルVBA 個人用マクロブッ...
-
名前の変わるブックをアクティ...
おすすめ情報