No.4ベストアンサー
- 回答日時:
プロシージャの頭の方で、
Sheets().Select
と、全シートを選択しているようですが、Findメソッドは、アクティブシート(この場合は先頭のシート)にしか適用されません。
したがって、2枚目以降のシートでは削除されません。
全シートを行いたいのであれば、シートでループします。
Dim Koumoku(2) As String
Dim i As Long
Dim j As Long
Koumoku(0) = "クライアント"
Koumoku(1) = "代理店"
Koumoku(2) = "開始日"
For j = 1 To WorkSheets.Count
WorkSheets(j).Select
For i = 0 To 2
Cells.Select
Selection.Find(What:=Koumoku(i), MatchCase:=False).Select
Selection.EntireColumn.Delete Shift:=xlToLeft
Next i
Next j
No.3
- 回答日時:
再びmaruru01です。
Findメソッドの引数"What"が検索する文字列です。
したがって3行を削除する項目分繰り返します。
Dim Koumoku(2) As String
Dim i As Long
Koumoku(0) = "クライアント"
Koumoku(1) = "代理店"
Koumoku(2) = "開始日"
For i = 0 To 2
Cells.Select
Selection.Find(What:=Koumoku(i), MatchCase:=False).Select
Selection.EntireColumn.Delete Shift:=xlToLeft
Next i
この回答への補足
ご回答ありがとうございます。
早速以下のようにためしましたが、今度は”クライアント" の項目すら削除できなくなってしまいました。
以下のどちらがいけないのでしょうか?
教えていただけると幸いです。
Sub test1()
Sheets().Select
' Sheets("03年01月 ").Activate
Sheets().Copy
Sheets().Select
' Sheets("02年5月").Activate
Dim Koumoku(2) As String
Dim i As Long
Koumoku(0) = "クライアント"
Koumoku(1) = "代理店"
Koumoku(2) = "開始日"
For i = 0 To 2
Cells.Select
Selection.Find(What:=Koumoku(i), MatchCase:=False).Select
Selection.EntireColumn.Delete Shift:=xlToLeft
Next i
ActiveWindow.ScrollColumn = 1
ChDir "\\Venus\Sales\フォルダA"
ActiveWorkbook.SaveAs FileName:="\\Venus\Sales\フォルダA\pseat" _
& DatePart("yyyy", Date) & "年" _
& DatePart("m", Date) & "月" _
& DatePart("d", Date) & "日" _
& " .xls", FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False
'Sheets("02年10月").Select
End Sub
No.2
- 回答日時:
Findを使った解答がでたので、幼稚ですが繰り返し法でやって見ました。
テスト済み。2行目に項目名があると仮定しています。iの終わり値2はUBound(k)で置き換え可。
Sub test01()
k = Array("クライアント", "代理店", "2次店")
' MsgBox UBound(k)
For j = 1 To 99
If Cells(2, j) = "" Then Exit For
For i = 0 To 2
If Cells(2, j) = k(i) Then
' MsgBox Cells(2, j)
Columns(j).Delete Shift:=xlToLeft
End If
Next i
Next j
End Sub
上記ルーチンをCommandButtonなどのClickをイベントとして使う手もあるでしょう。
No.1
- 回答日時:
こんにちは。
maruru01です。アプリケーションとバージョンは何ですか?
そういう情報はちゃんと書きましょう。
とりあえず、Excel2000とします。
Cells.Select
Selection.Find(What:="クライアント", MatchCase:=False).Select
Selection.EntireColumn.Delete Shift:=xlToLeft
各メソッドや引数などはヘルプで確認して下さい。
なお、見つからなかった場合の対処はしてません。
また、探す文字列("クライアント")がいくつもある場合は、うまく動きません。
この回答への補足
早速のご回答、ありがとうございました!
バージョンは Excel97です。(すみません・・。)
補足というか、"クライアント”以外の”代理店”などを連続で指定する時は、
Cells.Select
Selection.Find(What:="クライアント", MatchCase:=False).Select
Selection.EntireColumn.Delete Shift:=xlToLeft
のどこに次の項目名である"代理店”を追加したらいいのでしょうか?
マクロ初心者で申し訳ないです。
教えて下さい。
ちなみに、見つからなかった場合の対処や、項目名がだぶる事はないので、
大丈夫です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【至急】 当方初心者です。 マクロについて知恵をお貸しください。 ★したい動作 ①リストE列2行目か 4 2022/09/29 18:56
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- Excel(エクセル) VBA 指定した列にある日時データから時間を削除する方法について 4 2022/04/14 11:17
- Excel(エクセル) VBA 文字列変換と指定した列にある日時データから時間を削除する方法について 2 2022/04/14 15:23
- Visual Basic(VBA) セルの変更で処理するマクロについて 1 2022/12/20 18:09
- Excel(エクセル) VBA 選択範囲とUnionの使い方について 8 2023/08/17 13:25
- Excel(エクセル) 表示形式、文字列セル(列)に数式を入力するには マクロ 1 2022/09/18 10:53
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/06 17:46
- Excel(エクセル) マクロの保存先、開いてるすべてのブックの意味 エクセルを開き、表示→マクロ→マクロの表示と順番に開く 3 2022/06/25 17:52
- Visual Basic(VBA) エクセルのマクロについて教えてください マクロを実行すると メッセージボックスが表示されて okをク 4 2023/07/05 19:32
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルファイルを開く時、常...
-
エクセル印刷時 一枚の書類に...
-
エクセルで複数のシートの1枚目...
-
1ヶ月分の日付を一度に出す方法...
-
エクセルの一部のセルの背景色...
-
エクセルのマクロで複数シート...
-
マクロで印刷→セルの値から部数...
-
エクセルでのヘッダーをページ...
-
エクセルで行番号、列アルファ...
-
エクセルの行タイトルを特定の...
-
Excel 特定のシートを印刷不可...
-
エクセルのシート名を印刷した...
-
カラーで一括印刷したいです
-
EXCELで複数のシートを同時に印...
-
【Excel】複数シートがあるエク...
-
エクセルの複数シートをNアップ...
-
エクセルのページ設定を他のペ...
-
エクセルで複数のシートを同じ...
-
Excel 2シートを1枚に印刷した...
-
特定のセルに数値が入っている...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルファイルを開く時、常...
-
エクセルの一部のセルの背景色...
-
エクセル印刷時 一枚の書類に...
-
エクセルの行タイトルを特定の...
-
エクセルでのヘッダーをページ...
-
1ヶ月分の日付を一度に出す方法...
-
マクロで印刷→セルの値から部数...
-
Excel 特定のシートを印刷不可...
-
エクセルでシートの色がグレー...
-
Excelのシート背景に不明な文字...
-
エクセルで複数のシートの1枚目...
-
エクセルで複数のシートを同じ...
-
エクセルで行番号、列アルファ...
-
エクセルのマクロで複数シート...
-
条件によって印刷するシートを...
-
なぜか「Nextに対応するForがあ...
-
カラーで一括印刷したいです
-
EXCELで複数のシートを同時に印...
-
エクセルのページ設定を他のペ...
-
エクセルのシート名を印刷した...
おすすめ情報