
Sub Sample1()
Dim c As Range, myRng As Range, myCnt As Long
With Range("H11")
Set myRng = Union(.Offset(, -1), .Offset(-1), .Offset(, 1), .Offset(1))
For Each c In myRng
If c < .Value Then
myCnt = myCnt + 1
End If
Next c
Select Case myCnt
Case 3
.Interior.ColorIndex = 1 '←「黒]
.Font.ColorIndex = 2 '←「白」
Case 2
.Interior.ColorIndex = 6 '←「黄」
.Font.ColorIndex = 3 '←「赤」
Case 1
.Interior.ColorIndex = 5 '←「青」
.Font.ColorIndex = 2
Case 0
.Interior.ColorIndex = 3 '←「赤]
.Font.ColorIndex = 2 '←「白」
Case Else
.Interior.ColorIndex = xlNone
.Font.ColorIndex = xlAutomatic
End Select
End With
End Sub
前回の質問で上記のコードを押していただきました。
With Range("H11")の設定なんですが、H11しか比較できなく
たとえば、H6 J6 L6と規則性があります。(一個飛ばしです)
その時にWith Range("H11")をcellsでH6~AL6までを表すことはできますか?
ほぼ丸投げですが、いま、自分でもネット、本で調べてますが、できるのか、どうかもわからないので、ご教示お願いします。
No.2ベストアンサー
- 回答日時:
こんばんは!
お示しのコードに手を加えてみました。
Sub Sample2()
Dim j As Long '★
Dim c As Range, myRng As Range, myCnt As Long
For j = 8 To Cells(6, Columns.Count).End(xlToLeft).Column Step 2 'H6セルから1列おき★
With Cells(6, j) '←変更☆
Set myRng = Union(.Offset(, -1), .Offset(-1), .Offset(, 1), .Offset(1))
For Each c In myRng
If c < .Value Then
myCnt = myCnt + 1
End If
Next c
MsgBox myCnt
Select Case myCnt
Case 3
.Interior.ColorIndex = 1 '←「黒]
.Font.ColorIndex = 2 '←「白」
Case 2
.Interior.ColorIndex = 6 '←「黄」
.Font.ColorIndex = 3 '←「赤」
Case 1
.Interior.ColorIndex = 5 '←「青」
.Font.ColorIndex = 2
Case 0
.Interior.ColorIndex = 3 '←「赤]
.Font.ColorIndex = 2 '←「白」
Case Else
.Interior.ColorIndex = xlNone
.Font.ColorIndex = xlAutomatic
End Select
End With
myCnt = 0 '←「myCnt」をクリア★
Next j '★
End Sub
※ コード内の「★」の行が追加で「☆」が変更です。m(_ _)m
No.3
- 回答日時:
No.2です。
たびたびごめんなさい。
前回のコードの
>Next c
の下にある
>MsgBox myCnt
の1行は削除してください。
こちらで動きを確認するために余計なコードを入れていました。
どうも失礼しました。m(_ _)m
No.1
- 回答日時:
こんな感じで如何でしょう?
----------------
Dim rs As Range
Dim r As Range
Dim i As Long
Set rs = Range("H11") ' 基本のセル
Set r = rs.Offset(-5) ' H6
Set rs = Union(rs, r) ' rs に H6を追加する。
' rs に J6,……, AL6を追加する
For i = 1 To 15
Set r = r.Offset(, 2)
Set rs = Union(rs, r)
Next i
' この時点で、rs = H11,H6,J6,……, AL6
For Each r In rs ' rsの要素を一つずつとりだす
With r ' With Range("H11")の代わり
' With~End With間に各要素についての処理を記載する
End With
Next
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フィルターかけた後、重複を除...
-
Excelシート上で右クリックがで...
-
JANコードとPOSコードは同じ?
-
access2021 VBA メソッドまたは...
-
ホワイトノイズの生成コードに...
-
1日に1人がこなせるプログラム...
-
access2003 クエリSQL文に...
-
ユーザーフォームで銀行に対応...
-
Excel VBA素人です。VBAで図形...
-
なぜシフトJISにロシア語がある...
-
データバインドした値のコード...
-
日立のEBCDIKコード表を探してます
-
IF文、条件分岐の整理方法
-
変数名「cur」について
-
ExcelのVBAコードについて教え...
-
python コードについて(初学者...
-
課題なのですがどなたかコード...
-
Accessでの抽出で完全一致。
-
1、Rstudioで回帰直線を求める...
-
オートフィルタで抽出結果に 罫...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フィルターかけた後、重複を除...
-
1日に1人がこなせるプログラム...
-
access2021 VBA メソッドまたは...
-
1、Rstudioで回帰直線を求める...
-
JANコードとPOSコードは同じ?
-
Exel VBA 別ブックから該当デ...
-
VBAでファイルオープン後にコー...
-
Excelシート上で右クリックがで...
-
変数名「cur」について
-
COBOLの文法
-
access2003 クエリSQL文に...
-
エクセルに見えない文字(JISX0...
-
オートフィルタで抽出結果に 罫...
-
UWSCでMOUSEORG関数が上手く処...
-
特定行の背景色を変えたいのですが
-
Nullの使い方が不正です。
-
Excel VBA素人です。VBAで図形...
-
ACCESSユニオンクエリでORDER B...
-
JavaScriptの定数名が取り消し...
-
C# コードビハインドについて
おすすめ情報