以下は「E職名順名簿 E職番順名簿 」という名の2つのシートを除くシート名を
リストボックスのリストに表示するマクロです。
これを一部変更して、頭文字にR E B G Pのついたシートを表示させない
ようにするには、どのように記述したらよいでしょうか?
((1)図をクリックすると、全シートのうち特定の頭文字をもつシートのみ表示させたい。
(2)後から追加するシートにマクロを変更することなく対応させたい。)
Sub image_本図1250344412_Click()
Dim i As Integer
UserForm6.Show vbModeless
'「E職番順名簿」と「E職員名順名簿」を除く全てシートを表示
Const EXCEPT_NAME = "E職名順名簿● E職番順名簿● "
For i = 1 To Worksheets.Count
If InStr(EXCEPT_NAME, Worksheets(i).Name & "●") = 0 Then
UserForm6.ListBox1.AddItem Worksheets(i).Name
End If
Next i
End Sub
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
こんにちは。
Like演算子を使えば楽なのではないでしょうか。
Dim i As Integer
For i = 1 To Worksheets.Count
If Not (Worksheets(i).Name Like "R*" And _
Worksheets(i).Name Like "E*" And _
Worksheets(i).Name Like "B*" And _
Worksheets(i).Name Like "G*" And _
Worksheets(i).Name Like "P*" then
UserForm6.ListBox1.AddItem Worksheets(i).Name
End If
Next i
この回答への補足
早速 ご回答ありがとうございます。
ただ、残念ながらこのマクロ文で動作させたところ
頭文字のないものも、あるものも全てのリストが表示されました。
結論が同じなら、アプローチの方法を変更して、今回は「単純に頭文字Rのシートだけ表示させる」方法をお知らせください。勝手をいって申し訳ありません。お手数をおかけします、
No.2
- 回答日時:
No.1の者です。
失礼しました。完全に間違ってますね(汗
条件判定式のAndのところを全てOrにしていただけば動作すると思います。
動作チェックもしておらず申し訳ありませんでした。
>単純に頭文字Rのシートだけ表示させる
こちらのコードで可能です。
今度は手持ちのExcel 2007で動作確認済みです (^^;
Dim i As Integer
For i = 1 To Worksheets.Count
If Worksheets(i).Name Like "R*" Then
UserForm6.ListBox1.AddItem Worksheets(i).Name
End If
Next i
何度もお手数をおかけしました。貴重なお時間を割いていただいて誠にありがとうございます。
両方ともに問題なく動作しました。
今後は、少しでも自力で解決できるようにはげみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ユーザーフォームの表示を追加したい 2 2023/03/26 23:18
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Excel(エクセル) Excelのマクロについて教えてください。 4 2022/05/31 14:07
- Visual Basic(VBA) コード名シートA列と集計シートA列のコードが一致したら、コード名シートA5からk12の範囲をコピーし 1 2022/08/29 23:46
- Visual Basic(VBA) 集めたシートのシート名を変更したい。 下記のコードでサブフォルダにあるファイルのSheet3を集めて 6 2022/08/23 10:38
- Visual Basic(VBA) userformでSheetを選択して開くコード 1 2023/05/15 16:27
- Visual Basic(VBA) シート削除のマクロで「deleteメソッドは失敗しました」となります。助けてください! Sub 不要 6 2022/09/08 16:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルファイルを開く時、常...
-
エクセル印刷時 一枚の書類に...
-
マクロで印刷→セルの値から部数...
-
エクセルの一部のセルの背景色...
-
1ヶ月分の日付を一度に出す方法...
-
EXCELで宛名だけ連続変更...
-
エクセルで行番号、列アルファ...
-
エクセルのマクロで複数シート...
-
エクセルのシート名を印刷した...
-
エクセルで横置きのシートにペ...
-
エクセルでシートの色がグレー...
-
エクセルVBAで日報自動印刷
-
Wordで差込印刷。テーブル...
-
条件によって印刷するシートを...
-
Excel 2シートを1枚に印刷した...
-
EXCELで、A3からA4に縮小印刷し...
-
エクセル 改ざん防止のため ...
-
エクセルで、ヘッダーに他のシ...
-
エクセルの複数シートをNアップ...
-
エクセルの行タイトルを特定の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルファイルを開く時、常...
-
エクセルの一部のセルの背景色...
-
エクセル印刷時 一枚の書類に...
-
1ヶ月分の日付を一度に出す方法...
-
マクロで印刷→セルの値から部数...
-
エクセルの行タイトルを特定の...
-
エクセルのマクロで複数シート...
-
Excel 特定のシートを印刷不可...
-
エクセルで複数のシートの1枚目...
-
エクセルでのヘッダーをページ...
-
エクセルでシートの色がグレー...
-
エクセルで行番号、列アルファ...
-
条件によって印刷するシートを...
-
EXCELで複数のシートを同時に印...
-
エクセルのシート名を印刷した...
-
エクセルで複数のシートを同じ...
-
エクセルで、ヘッダーに他のシ...
-
EXCELで宛名だけ連続変更...
-
Excelであるシートだけ印刷でき...
-
エクセルの複数シートをNアップ...
おすすめ情報