VBA에 익숙하지 않지만 3 가지 이상의 조건부 서식을 허용하도록 Excel을 변경해야했습니다.VBA 오류 13 형식 : 불일치
나는 아래 코드를 온라인에서 발견했으며 6 가지 값 중 하나를 선택하여 내용에 따라 셀의 색을 변경하려고합니다.
내 코드는 다음과 같습니다
Private Sub Worksheet_Change(ByVal Target As Range)
Set MyPlage = Range("G3:AG115")
For Each Cell In MyPlage
If Cell.Value = "." Then
Cell.Interior.ColorIndex=28
Cell.Font.Bold = True
End If
If Cell.Value = "X1" Then
Cell.Interior.ColorIndex=32
Cell.Font.Bold = True
End If
If Cell.Value = "1X" Then
Cell.Interior.ColorIndex=6
Cell.Font.Bold = True
End If
If Cell.Value = "2X" Then
Cell.Interior.ColorIndex=45
Cell.Font.Bold = True
End If
If Cell.Value = "3X" Then
Cell.Interior.ColorIndex=4
Cell.Font.Bold = True
End If
If Cell.Value = "XY" Then
Cell.Interior.ColorIndex=44
Cell.Font.Bold = True
End If
If Cell.Value = "bt" Then
Cell.Font.ColorIndex=27
Cell.Interior.ColorIndex=27
End If
If Cell.Value = "bl" Then
Cell.Font.ColorIndex=28
Cell.Interior.ColorIndex=28
End If
If Cell.Value <> "bt" And Cell.Value <> "bl" And Cell Value <> "." And Cell.Value <> "X1" And Cell.Value <> "1X" And Cell.Value <> "2X" And Cell.Value <> "3X" And Cell.Value <> "XY" Then
Cell.Interior.ColorIndex=xlNone
End If
Next
End Sub
내용은 BT와 BL이 행이 강조 표시되어 있는지 확인하려면 기록 된 다른 드롭 다운 목록에서 또는 중 하나를 선택한다.
콘텐츠를 변경하려고 시도하면 Error: 13 Type Mismatch
이됩니다.
라인
If Cell.Value = "." Then
오류 소스로 강조 표시됩니다 (나는 다음 지침의 설정
If Cell.Value = "X1" Then
는 강조 표시하는 선을 제거하면 문제가 "."
함께하지만 줄 알았는데)
내가 봤는데 당신이 할 수있는 루프를 할 수있는 오류 Then Next
, 나는 정확히 어떻게이 코드를 작성하고 난 woul d는 빠른 수정보다 코딩 문제를 해결합니다.
내가 잘못하고있는 부분에 대한 아이디어가 있다면/훌륭한 해결책이 될 것입니다. 당신이 (예 #NA
#DIV/0
등) 시트에 오류 값이있는 경우
이 오류의 원인은 무엇입니까? 암시 적 및 명시 적 변수 선언을 사용하여 다양한 유형의 내용을 시도했지만이 오류를 재현 할 수 없습니다. – GSerg
xl03은 3 가지 조건부 형식으로 제한되어 있다고 가정합니다 (해결 방법이 있지만). – brettdj
질문에 대한 답변이 아니지만 'For Each Cell In My Target'을 선택하는 동안 'For Each Cell In MyPlage'를 선택하는 이유는 무엇입니까? –