No.4ベストアンサー
- 回答日時:
n-junです。
>また下記のコードでは他ブランクも色付けされてしまいます。
>range範囲はブランクをカウントしている下記の部分なのですが
>n1/n2をひかないと本来指定したい範囲で色付けができません。
ある範囲においてセルが空白且つ”何か”の条件で色をつけるのであれば、
その”何か”を具体的にされては。
それがないと”ひかないと本来指定したい範囲”が、どこなのかわかりません。
No.3
- 回答日時:
#2です。
もしかしてですけど、
Sub try()
Dim 空白セル範囲 As Range
On Error Resume Next
Set 空白セル範囲 = Range("B3:G17").SpecialCells(xlCellTypeBlanks)
On Error GoTo 0
If Not 空白セル範囲 Is Nothing Then
空白セル範囲.Interior.ColorIndex = 6
MsgBox 空白セル範囲.Cells.Count & "個の未入力セルがあります"
Set 空白セル範囲 = Nothing
End If
End Sub
こうゆう事でしょうか?
No.2
- 回答日時:
#1です。
>こちらrangeの範囲に変動がありn1 とn2を
>範囲2 = Range(Cells(c1.Row, 2), Cells(c2.Row, 7))から引かなければならないと思うのですが
質問と補足からでは、なぜ引かなければいけないのかがわかりません。
>Dim 範囲2 As Range
>範囲2 = Range(Cells(c1.Row, 2), Cells(c2.Row, 7))
>Select Case 範囲2
>Case ""
これも複数のセル範囲の値をまとめて判定しようとしてますよね。
この回答への補足
申し訳ありません。
修正する前のコードを載せてしまいました。
下記のコードが n-junさんからのコードを参考にしたものを
先程のコードに追加しました。
当初の質問と違ってはいるのですが本来この中に組み込まなければいけなく、また下記のコードでは他ブランクも色付けされてしまいます。
range範囲はブランクをカウントしている下記の部分なのですが
n1/n2をひかないと本来指定したい範囲で色付けができません。
n = WorksheetFunction.CountBlank( _
Range(Cells(c1.Row, 2), Cells(c2.Row, 7))) - n1 - n2
'★
Dim 範囲2 As Range
For Each 範囲2 In Range(Cells(c1.Row, 2), Cells(c2.Row, 7))
If 範囲2.Value = "" Then
With 範囲2.Interior
.ColorIndex = 6
.Pattern = xlSolid
End With
End If
Next
'★
No.1
- 回答日時:
セルの値が空白でありそのセルに色を付けるのなら、1個ずつチェックしなければならないのでは?
>If Range("B2:G6") = "" Then
まとめて判定しようとしてるからダメなのでしょうね。
Dim r As Range
For Each r In Range("B2:G6")
If r.Value = "" Then
With r.Interior
.ColorIndex = 6
.Pattern = xlSolid
End With
End If
Next
とかかな?
この回答への補足
ありがとうございます。こちらrangeの範囲に変動がありn1 とn2を
範囲2 = Range(Cells(c1.Row, 2), Cells(c2.Row, 7))から引かなければならないと思うのですが
範囲2 = Range(Cells(c1.Row, 2)-n1, Cells(c2.Row, 7)-n2 としたりしているのですが
うまくいきません。範囲の指定の仕方をご教授頂ければ幸いです。
Sub 集計及びブランクチェック()
Dim 範囲 As Range
Dim r1 As Range, r2 As Range
Dim c1 As Range, c2 As Range
Dim n As Long, n1 As Long, n2 As Long
Set 範囲 = Range("B3").Resize(15, 6) '全範囲
Set r1 = 範囲.Item(1) '先頭セル
Set r2 = 範囲.Item(範囲.Rows.Count, 範囲.Columns.Count) '最後のセル
'データ始まりのセル
Set c1 = 範囲.Find("*", r1, xlFormulas, , xlByRows, xlNext)
If c1 Is Nothing Then Exit Sub
n1 = c1.Column - 2 '前方空白カウント
'最後のデータのあるセル
Set c2 = 範囲.Find("*", 範囲(1), xlFormulas, , xlByRows, xlPrevious)
n2 = 7 - c2.Column '後方空白カウント
n = WorksheetFunction.CountBlank( _
Range(Cells(c1.Row, 2), Cells(c2.Row, 7))) - n1 - n2
'★
Dim 範囲2 As Range
範囲2 = Range(Cells(c1.Row, 2), Cells(c2.Row, 7))
Select Case 範囲2
Case ""
.Value = 範囲2
.Interior.ColorIndex = 6
End Select
'★
If n > 0 Then
MsgBox n & " 個の未入力セルがあります"
End If
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルVBA ダブルクリックしたら色反転を指定したセルのみにしたい 2 2022/04/06 12:52
- Excel(エクセル) 日付で矢印マクロ 4 2023/07/25 16:47
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Excel(エクセル) Excel VBA 空白行があるセル範囲に色を付ける 3 2022/06/13 15:58
- Visual Basic(VBA) エクセルで、1つのセルで上書き足し算して セルの範囲を指定できますか? パソコン初心者です。 お時間 3 2023/07/05 06:13
- Visual Basic(VBA) excel2021で実行できないマクロ。どこを直したらいいのか 2 2022/03/28 03:40
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- Visual Basic(VBA) VBAが止まります。 3 2022/08/31 14:09
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAマクロ実行時エラーの修正に...
-
Excelで空白セル直前のセルデー...
-
エクセルVBA 配列からセルに「...
-
【Excel VBA】一番右端セルまで...
-
EXCEL VBA 文中の書式ごと複写...
-
Excel UserForm の表示位置
-
入力規則のリスト選択
-
特定の色のついたセルを削除
-
VBA 複数条件の分岐処理の上手...
-
DataGridViewで指定したセルの...
-
DataGridViewのフォーカス遷移...
-
エクセルのカーソルを非表示に...
-
指定した文字から指定した文字...
-
DataGridViewでグリッド内に線...
-
Rangeの範囲指定限界
-
エクセルの選択範囲のセルの値...
-
Excel VBA 同じ処理を複数回行...
-
エクセルの合計を自動で表示さ...
-
Excel VBA IF文がうまく動作し...
-
Excelのセルから日付情報を取得...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAマクロ実行時エラーの修正に...
-
エクセルVBA 配列からセルに「...
-
VBA 複数条件の分岐処理の上手...
-
Excelで空白セル直前のセルデー...
-
Excel UserForm の表示位置
-
EXCEL VBA 文中の書式ごと複写...
-
特定の色のついたセルを削除
-
VBA にて、条件付き書式で背景...
-
VBAでユーザーフォームにセル値...
-
【VBA】写真の貼り付けコードが...
-
【Excel VBA】一番右端セルまで...
-
Excel VBAでCheckboxの名前を変...
-
エクセルの合計を自動で表示さ...
-
【VBA】【ユーザーフォーム_Lis...
-
VBA:日付を配列に入れ別セルに...
-
Excel VBA IF文がうまく動作し...
-
下記のマクロの説明(意味)を...
-
入力規則のリスト選択
-
C# DataGridViewで複数選択した...
-
関数の引数でrangeを指定したとき
おすすめ情報