エクセルvbaでチェックボックスのCaptionの比較が上手く動きません。
ユーザーフォームのチェックボックスのCaptionの文字列とセルの文字列を比べ、一致しなければその行を削除するvbaを作成しましたが、何故か全ての行が削除されます。(一致していると思われる行も全てです)
原因がわかりません。何が原因か教えてください。お願いします。
概要
チェックボックスは4つあります。(chb1からchb4まで。CaptionをAからDとします。)E列のセルの文字列とチェックボックスのCaptionの文字列が一致しなければその行を削除を一番下から順に行いたいです。(E列にはランダムにAからDの文字列が並んでいます。シート名"オール")"オール"をコピーしてE列の該当しない列を削除し、Aだけのシート、Bだけのシートという具合にチェックが入っているシートを作成したかったのですが…
Dim i As Long 'チェックボックス用の変数
Dim s As Long '下から順番
Dim Maxrow As Long'一番下
For i = 1 To 4
If Controls("chb" & i).Object.Value = True Then
Worksheets("オール").Copy After:=Worksheets("オール")
ActiveSheet.name = Controls("ChB" & i).Caption
End If
For s = MaxRow To 2 Step -1
If Cells(s, 5).Value <> Controls("ChB" & i).Caption Then
Rows(s).Delete
end if
Next s
next i
End Sub
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
質問文の提示されている値で検証を求めるのも良いのですが、気になるのはセルの値と表示に相違があるのかどうかでしょうか。
セルの書式設定により表示方法を変えていたとしたら、目に見えるのは実際のセルの値ではありません。
たまにありがちなミスですけどね。
その時は .Value ではなく .Text としてみるとか?
デバックしている最中に、なぜかうまくいきました。チェックボックスのCaptionを入力し直してたら動いたのでミスがあったみたいです。お騒がせしました。ありがとうございました!^_^
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 数字が「0」の列を削除するため、下記のコードを実行しましたが、コンパイルエラーSubまたはFunct 3 2022/12/04 00:00
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- Visual Basic(VBA) コード名シートA列と集計シートA列のコードが一致したら、コード名シートA5からk12の範囲をコピーし 1 2022/08/29 23:46
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
- Excel(エクセル) VBAの指示の内容 昨日こちらでご教示頂いたのですが初心者な為、一つ一つの指示が何をやっているのかわ 2 2022/10/25 18:08
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Visual Basic(VBA) VBA処理追加 こちらでご教示頂いたのですが回答完了させてしまいましたのでこちらからまた質問させてく 2 2022/10/27 09:57
- Visual Basic(VBA) マクロ実行時、自動で背景色を変えたい。 C列にあるチェックボックスをチェックするとB列に「TRUE」 4 2022/11/08 11:14
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ExcelVBAを使って、値...
-
特定のセルが空白だったら、そ...
-
【Excel VBA】指定行以降をクリ...
-
エクセルVBAでコピーして順...
-
i=cells(Rows.Count, 1)とi=cel...
-
screenupdatingが機能しなくて...
-
Excelで指定した日付から過去の...
-
特定の文字を条件に行挿入とそ...
-
Excelのプルダウンで2列分の情...
-
【EXCEL VBA】Range("A:A").Fi...
-
Excel VBA、 別ブックの最終行...
-
Excel vbaで特定の文字以外が入...
-
excelで置換をしたいんですが
-
VBからEXCELのセルの値を取得す...
-
【Excel】指定したセルの名前で...
-
VBAマクロで結合セルを含む列に...
-
EXCELのVBA-フィルタ抽出後の...
-
セルの結果でマクロ実行
-
【VBA】指定したセルと同じ値で...
-
エクセル マクロで セルの範...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelVBAを使って、値...
-
特定のセルが空白だったら、そ...
-
【Excel VBA】指定行以降をクリ...
-
i=cells(Rows.Count, 1)とi=cel...
-
【Excel】指定したセルの名前で...
-
Excelで指定した日付から過去の...
-
特定の文字を条件に行挿入とそ...
-
Excel VBA、 別ブックの最終行...
-
EXCELで変数をペーストしたい
-
Excelのプルダウンで2列分の情...
-
TODAY()で設定したセルの日付...
-
Excel vbaで特定の文字以外が入...
-
screenupdatingが機能しなくて...
-
DataGridViewの各セル幅を自由...
-
Sub 要具ライフ() ActiveSheet....
-
【EXCEL VBA】Range("A:A").Fi...
-
VBAを使用した時間管理
-
VBAでセルをクリックする回...
-
セル色なしの行一括削除
-
エクセルVBAでコピーして順...
おすすめ情報