|
▼さちきょん さん:
こんにちは
>E列の1行目から77行目まで(増える可能性があります)で
>ABCDEFの選択により、背景色を変えたいと思います。
>本をみながら一応書いてみたのですが、RGBカラーで指定
>したいと思います。
>1.Case "B"のところで、.Font.Color = RGB(0, 0, 0)
> としてみたら、エラーになってしまいました。
> どうやったらいいのでしょうか?
背景色を変えるということで良いのですよね?
>2.また、E列のABCDEFの選択により、同時に他のセルの色も
> 変えたいのですが、どのようにすればいいでしょうか?
>
> 例)E8がAのとき赤色→G8、I8、K8、M8も赤色
> E9がBのとき緑色→I9、K9、M9も緑色.......
>
前回の続きということでコードを追加してみました。
良ければ試してみてください。
Sub セル統合()
Dim v As Integer
Dim i As Integer
Dim strSize(0 To 7) As String
Dim strTEXT As String
Dim lngEndROW As Long
Dim intRED As Integer
Dim intGREEN As Integer
Dim intBLUE As Integer
lngEndROW = Range("E65536").End(xlUp).Row
If lngEndROW < 8 Then Exit Sub
For v = 8 To lngEndROW
For i = 0 To 7
strSize(i) = IIf(Cells(v, i * 2 + 7).Value = "", "", "S/" & Cells(v, i * 2 + 7).Value & ",")
Next i
Select Case Cells(v, 5).Value
Case "A"
strTEXT = strSize(0) & strSize(1) & strSize(2) & strSize(3) & strSize(4)
intRED = 255
intGREEN = 0
intBLUE = 0
Case "B"
strTEXT = strSize(1) & strSize(2) & strSize(3)
intRED = 0
intGREEN = 255
intBLUE = 0
Case "C"
strTEXT = strSize(5)
intRED = 0
intGREEN = 0
intBLUE = 255
Case "D"
strTEXT = strSize(6)
intRED = 255
intGREEN = 0
intBLUE = 255
Case "E"
strTEXT = strSize(7)
intRED = 255
intGREEN = 255
intBLUE = 0
Case "F"
strTEXT = strSize(0) & strSize(1) & strSize(2) & strSize(3)
intRED = 0
intGREEN = 255
intBLUE = 255
Case Else
intRED = 255
intGREEN = 255
intBLUE = 255
End Select
If strTEXT <> "" Then
strTEXT = Left(strTEXT, Len(strTEXT) - 1)
Cells(v, 24).Value = strTEXT
strTEXT = ""
End If
For i = 5 To 21 Step 2
Cells(v, i).Interior.Color = RGB(intRED, intBLUE, intGREEN)
Next
Next v
End Sub
|
|