셀의 글꼴을 투명하게 만들려면 어떻게해야합니까?


18

Excel의 조건부 서식을 사용하여 히트 맵을 만들고 있습니다. 셀의 값이 색상 배경에 표시되는 것을 원하지 않습니다. 셀의 채우기 서식과 비슷한 글꼴 서식을 투명하게 만드는 방법이 있습니까?

히트 맵이므로 단일 색상 (예 : 흰색)을 사용할 수 없으며 각 셀의 글꼴 속성을 적절한 색상으로 개별적으로 포맷하지 않아도됩니다.

편집 : 명확히하기 위해 열 맵은 조건부 서식> 색 눈금> 빨강-파랑-파랑 (흰색이 밝은 회색으로 수정 된)을 사용하여 색상이 지정되므로 셀 채우기 값이 직접 설정되지 않고 계산 된 값입니다. 색상 그라디언트.

히트 맵

답변:


29

글꼴 색상을 변경하지 않지만 셀에서 텍스트를 효과적으로 제거하는 해결 방법을 찾았습니다. 값을 사용하여 셀 번호 형식을 사용자 정의로 조정하십시오 ;;;.


대단한 일입니다
Dev_Man

3

셀의 글꼴 색상을 채우기 색상 (수동 이외)과 일치시키는 워크 시트 기능을 알지 못하지만 매크로를 사용하면 매우 쉽습니다. 아래의 첫 번째 매크로는 선택한 범위의 셀에서 글꼴 색상을 채우기 색상과 일치하도록 변경합니다. 두 번째는 글꼴 색상을 기본 검은 색으로 되돌립니다.

Sub HideFont()
    Dim cell As Variant
    For Each cell In Selection
        cell.Font.Color = cell.Interior.Color
    Next cell
End Sub

Sub UnhideFont()
    Dim cell As Variant
    For Each cell In Selection
        cell.Font.Color = 0
    Next cell
End Sub

매크로를 설치하려면 선택 Developer/ Visual Basic주 리본에서 다음 선택 Insert/ Module메뉴에서. 열리는 편집 창에 코드를 붙여 넣습니다. 매크로는 메인 리본에서 Developer/ Macros를 선택하여 액세스 할 수있는 매크로 목록에 나타납니다 . 마우스로 수정하려는 범위를 선택하고 실행할 매크로를 선택하십시오.


매우 흥미로운 접근법. 나는 그것을 시도했고 그것은 놀랍게 포맷 된 채워진 셀에서 작동합니다 (즉, 셀 형식이 직접 선택된 곳). 불행히도 셀 색상이 그라디언트의 조건부 형식 인 경우 작동하지 않으며 흰색으로 변경됩니다. 이견있는 사람?
dav

유감 이네요. 이 StackOverflow 게시물의 응답 은 접근 방식을 제안합니다. 오늘 나중에 확인하겠습니다.
chuff

고마워, 지금은 숫자 형식의 부정 행위를 사용하고 있지만 더 나은 장기 솔루션을 얻기 위해 귀하의 링크에서 참조 된 VBA를 작업 할 것입니다.
dav

수락 된 답변을 변경하는 것에 대해 죄송하지만 투표 불균형으로 적절 해 보입니다. 또한, 내가 지금 정기적으로 사용하는 방법과 일치합니다.
dav

1

자, 이번이 처음으로 코드를 제출 한 것이기 때문에 여기로갑니다. 매크로 경로가 갈 길이라고 생각했지만 조건부 서식을 사용하여 글꼴을 셀 색과 동일하게 설정할 수 없으므로 다른 방법은 매크로와 비슷한 방식으로 매크로를 변경하는 것입니다 조건부 형식의 영향은 아래를 참조하십시오.

Sub change()

    Dim Rstart, Rmid, Rend, Gstart, Gmid, Gend, Bstart, Bmid, Bend, Rsd, Rdd,_
    Gsd, Gdd, Bsd, Bdd, Rcell, Gcell, Bcell As Integer
    Dim maxsel, minsel, halfsel, halfval, v As Double



    Rstart = 0
    Rmid = 230
    Rend = 255
    Gstart = 0 
    Gmid = 230
    Gend = 0
    Bstart = 255
    Bmid = 230
    Bend = 0

    Rsd = Rmid - Rstart
    Rdd = Rend - Rmid

    Gsd = Gmid - Gstart
    Gdd = Gend - Gmid

    Bsd = Bmid - Bstart
    Bdd = Bend - Bmid

    maxsel = Application.WorksheetFunction.Max(Selection)
    minsel = Application.WorksheetFunction.Min(Selection)
    halfsel = (maxsel - minsel) / 2
    halfval = minsel + halfsel
    If halfval = 0 Then Exit Sub

    Dim cell As Variant
    For Each cell In Selection
        v = cell.Value
        If v >= minsel And v < halfsel Then
            Rcell = Round((Rstart + ((halfval - v) / halfsel) * Rsd), 0)
            Gcell = Round((Gstart + ((halfval - v) / halfsel) * Gsd), 0)
            Bcell = Round((Bstart + ((halfval - v) / halfsel) * Bsd), 0)
        Else
            Rcell = Round((Rmid + ((v - halfval) / halfsel) * Rdd), 0)
            Gcell = Round((Gmid + ((v - halfval) / halfsel) * Gdd), 0)
            Bcell = Round((Bmid + ((v - halfval) / halfsel) * Bdd), 0)
        End If

    cell.Font.Color = RGB(Rcell, Gcell, Bcell)
    cell.Interior.Color = RGB(Rcell, Gcell, Bcell)

    Next cell

    End Sub

원래 질문에 비해 3 년이 늦었더라도 이것이 누군가에게 도움이되기를 바랍니다.


1

이것이 내가하는 방법입니다.

.Cells (RowTo, ColHcpDiP) .Font.Color = .Cells (RowTo, ColHcpDiP) .Interior.Color '보이지 않는 색 설정

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.