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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルVBA ダブルクリックしたら色反転を指定したセルのみにしたい 2 2022/04/06 12:52
- Visual Basic(VBA) Worksheet_Change 4 2023/03/12 21:54
- Excel(エクセル) EXCEL マクロで行を挿入して貼り付けようとするとエラーになる。 2 2022/05/24 09:43
- Visual Basic(VBA) エクセルのVBAでダブルクリックでチェックを入れたあと 1 2022/10/26 20:30
- Excel(エクセル) 日付で矢印マクロ 4 2023/07/25 16:47
- Visual Basic(VBA) いつもお世話になります 下記のコード実行すると エラーになります わかるかた教えてくれませんでしょう 6 2022/12/17 15:01
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- Visual Basic(VBA) countifsについての質問 3 2023/03/08 13:45
- Visual Basic(VBA) VBAが止まります。 3 2022/08/31 14:09
- Visual Basic(VBA) エラーコード1004 6 2022/06/09 14:12
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フィルターかけた後、重複を除...
-
ExcelのVBAコードについて教え...
-
1日に1人がこなせるプログラム...
-
Exel VBA 別ブックから該当デ...
-
VB6のComboBox関連の書き方をVB...
-
HTML電卓で1文字消す方法
-
VLookup関数を使ってラベルに表...
-
access2003 クエリSQL文に...
-
Excel VBA素人です。VBAで図形...
-
pythonにてseleniumを使うも、...
-
ExcelVBAで「Shift_JIS(MS932)...
-
エクセルに見えない文字(JISX0...
-
レポートでグループレベルの変...
-
chatgptでつくってもらったコー...
-
JANコードとPOSコードは同じ?
-
ACCESSで、履歴事項を管理する...
-
1、Rstudioで回帰直線を求める...
-
videopadについて
-
VBAでファイルオープン後にコー...
-
CheckBoxのコントロール配列に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フィルターかけた後、重複を除...
-
access2003 クエリSQL文に...
-
1日に1人がこなせるプログラム...
-
Exel VBA 別ブックから該当デ...
-
pythonにてseleniumを使うも、...
-
ExcelのVBAコードについて教え...
-
ExcelのVBAコードについて教え...
-
chatgptでつくってもらったコー...
-
欠番の抽出について
-
JANコードとPOSコードは同じ?
-
JavaScriptの定数名が取り消し...
-
1、Rstudioで回帰直線を求める...
-
特定行の背景色を変えたいのですが
-
変数名「cur」について
-
PreviewKeyDownイベントが2回...
-
将来AIが進歩してくるにつれて...
-
ACCESSユニオンクエリでORDER B...
-
COBOLの文法
-
VBAでファイルオープン後にコー...
-
Nullの使い方が不正です。
おすすめ情報