Excel 고수님 수정 부탁드립니다.
2021.09.22 13:11
Excel - 개발도구 - Visual Basic 코드로 선택한 셀의 행 및 열 자동 강조 표시
첨부의 사진처럼 행열 강조 하면서 선택 된 셀만(선택 된 셀은 투명하게) 첨부의 사진처럼 나올수 있도록 도움을 부탁 드립니다.
수정 후 이미지
수정 전 이미지
수정 전 Visual Basic 코드(컬러 색상은 비슷한 번호가 없어서 20으로 설정해 보았습니다)
Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
'Update 20200430
Static xRow
Static xColumn
If xColumn <> "" Then
With Columns(xColumn).Interior
.ColorIndex = xlNone
End With
With Rows(xRow).Interior
.ColorIndex = xlNone
End With
End If
pRow = Selection.Row
pColumn = Selection.Column
xRow = pRow
xColumn = pColumn
With Columns(pColumn).Interior
.ColorIndex = 20
.Pattern = xlSolid
End With
With Rows(pRow).Interior
.ColorIndex = 20
.Pattern = xlSolid
End With
End Sub
댓글 [6]
-
지후빠 2021.09.22 13:53
-
gom 2021.09.22 14:16
문제 해결에 도움을 주셔서 정말로 감사 합니다.
혹시 선택 된 셀에 글씨 굵게 표시하는 것도 가능 할까요?
-
지후빠 2021.09.22 16:18
가능한데요 다른셀 선택할때는 다시 보통으로 돌려 놓은가요? -
지후빠 2021.09.22 17:18
다음처럼 하면 되는데요. 원본 굵기 정보를 보관합니다.
굵게 된것은 선택이 옮겨가도 여전히 굵게 남을 것이고, 보통은 선택하면 굵게되고 선택이 옮겨가면 원래의 보통으로 돌아갑니다.
그런데 복사 붙여넣기 등 안되는 기능들이 있을텐데 불편하지 않으시겠어요? ^^
필요할때만 잠깐 켜서 사용하시는 방향으로 하심이... ㅎ~
Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
myColor = RGB(200, 235, 240)
Static xRow
Static xColumn
Static xBold
If xColumn <> "" Then
Columns(xColumn).Interior.ColorIndex = xlNone
Rows(xRow).Interior.ColorIndex = xlNone
Cells(xRow, xColumn).Font.Bold = xBold
End If
pRow = Selection.Row
pColumn = Selection.Column
xRow = pRow
xColumn = pColumn
Columns(pColumn).Interior.Color = myColor
Rows(pRow).Interior.Color = myColor
With ActiveCell
.Interior.ColorIndex = xlNone
xBold = .Font.Bold
.Font.Bold = True
End With
End Sub
-
지후빠 2021.09.22 18:41
색상은 연한색으로 다음에서 선택해보십시오. RGB(240, 248, 255) 이렇게 연한색상으로...
셀 배경색은 투명도를 줄 수가 없어서 연한 색상을 선택하면 마찮가지로 투명한 느낌을 줍니다.
https://www.rapidtables.com/web/color/RGB_Color.html
조금 더 느낌을 살려봤습니다. 여기까지만 하겠습니다. ^^
Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
myColor = RGB(240, 248, 255)
Static xRow
Static xColumn
Static xBold
If xColumn <> "" Then
With Columns(xColumn)
.Interior.ColorIndex = xlNone
.Borders.LineStyle = xlNone
End With
With Rows(xRow)
.Interior.ColorIndex = xlNone
.Borders.LineStyle = xlNone
End With
Cells(xRow, xColumn).Font.Bold = xBold
End If
pRow = Selection.Row
pColumn = Selection.Column
xRow = pRow
xColumn = pColumn
With Columns(pColumn)
.Interior.Color = myColor
.Borders.Color = RGB(220, 220, 220)
End With
With Rows(pRow)
.Interior.Color = myColor
.Borders.Color = RGB(220, 220, 220)
End With
With ActiveCell
.Interior.ColorIndex = xlNone
xBold = .Font.Bold
.Font.Bold = True
End With
End Sub
-
줄넘기 2021.09.23 08:13
여기 숨은 고수님들이 매우매우 많군요
바로 외출해야해서 귀가 해서 좀 더 보겠습니다.