
たびたびマクロで質問です。
windows-xp、エクセル2003を使っています。
教えてください。
1行目に表の「項目」がいろいろ入っています。
そこで、指定する項目「品目コード、個数、」の行だけを残し、それ以外は全て削除というコードを教えて頂けませんでしょうか。
1行目に表の「項目」がくるというのはたぶん今後も変わらないと思うのですが、項目位置がときどき変わることがあるかもしれません。
(たとえばB列の項目が、時にはF列の項目になっていたり・・・)
なので、指定する項目(品目コード、手番、在庫・・・)だけを残して列を削除する。ということをしたいのです。
本をみたりしたのですが、列の削除ってそんなになくて。。。行の削除ならあるのですが・・・
すみませんが、宜しくお願い致します。
No.4ベストアンサー
- 回答日時:
再度の補足です。
エクセルのマクロにはFor文だけでなく、DOループが用意されている
ようです。これを使えばもっと簡潔に記述できます。
Sub Macro2()
Dim i
i = 2 '探索開始列
Do
If Cells(1, i) <> "品目コード" And Cells(1, i) <> "手番" Then
Columns(i).Delete
Else
i = i + 1
End If
Loop Until Cells(1, i) = ""
End Sub
No.3
- 回答日時:
2番に回答した者です。
補足説明です。
1列目を残して2列目以降にこの処理をしたければ、
For i = 2 To
としてくださいね。
いきなり試さず、データをバックアップした上で
自己責任でお願いします。
No.2
- 回答日時:
こんなんでどうでしょう?
1行目のセルの中身を見て空白セルなら終了。
そうでなければ、「品目コード」「手番」かチェックし違うなら列削除
削除した場合は、次の列が左へシフトしてるので、もう一度同じ列を
チェックするためにカウンター(i)を戻す(1引く)
この例では、抽出する列を10と仮定してループをまわしています。
Sub Macro1()
For i = 1 To 10
If Cells(1, i) = "" Then
Exit For
ElseIf Cells(1, i) <> "品目コード" And Cells(1, i) <> "手番" Then
Columns(i).Delete
i = i - 1
End If
Next i
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
mp3ファイルで「Windows Media ...
-
Windows11のデスクトップアイコ...
-
imgファイル→isoファイル変換
-
OneDriveのアイコンに赤の×印
-
動画をDVDに書き込んだが、...
-
ファイル名の文字の色を変えたい
-
VMGファイルを開くには
-
ファイルを削除してもNAS(ネッ...
-
削除できないtmpファイル
-
VOB・IFO・BUPのデータがありま...
-
フリーゲーム ダウンロード ...
-
パソコン版LINEについて。 PDF...
-
ファイルを一箇所にまとめたいです
-
パソコンが動かない
-
Googledriveの重複ファイルを削...
-
終了時ApUsbPnPのプログラムが...
-
Updregって何ですか?
-
MediaID.binについて
-
エクスプローラーのファイルサ...
-
デスクトップのアイコンが全て...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
レジストリに文字化け (添付画...
-
フォルダがクリック等の操作で...
-
エクセルで指定した項目の列だ...
-
バージョンダウンは?
-
完全削除を分かりやすく教えて...
-
レジストリに関する質問
-
システムの復元について。
-
Mac内にある個人情報を消したい
-
Wordの文章を削除する
-
音声が聞こえなくなってしまい...
-
サウンドデバイスに問題が…
-
削除したフォルダを復元したい
-
ゴミ箱
-
ウィンドウズメディアプレーヤ...
-
windowsのオートランについての...
-
xpです。先日ノートパソコンの...
-
HKEY_LOCAL_MACHINEの、Microso...
-
d3d8.dllの復元方法
-
≪フォルダを誤って削除してしま...
-
右下のスピーカーマークのアイ...
おすすめ情報