【Excel VBA】 시인성이 좋은 심플한 괘선・폰트 설정을 하는 매크로

매크로 실행 전후 비교



【비후아】

【아후타】


무엇을 위해



위 그림과 같이 구조화된 정보를 리스트업할 때, 셀 결합에 의한 시인성 향상을 하고 싶지 않기 때문.
(필터 추출할 수 없게 되지 않을까 아아아)

위의 셀과 비교하여 셀 내용이 같으면 글꼴 색상을 얇게 하고 셀 내용이 다르면 테두리를 실선으로 그립니다.
그 범위 지정이 베타 쓰기이므로 아름다운 코드가 아닙니다. 매번 코드 수정.
간단한 코드이기 때문에 이 정도로 좋은가-라고…

코드


    Sub 視認性良く罫線とフォント設定()

      '範囲選択
      Range("A1").Select
      Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select

      '書式設定を初期化
      Cells.FormatConditions.Delete

      '罫線書式設定
      Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=$C1<>$C2"
      Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
      With Selection.FormatConditions(1).Borders(xlBottom)
          .LineStyle = xlContinuous
          .TintAndShade = 0
          .Weight = xlThin
      End With
      Selection.FormatConditions(1).StopIfTrue = False

      'フォント書式設定
      Range("B2").Select
      Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
      Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=B2=B1"
      Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
      With Selection.FormatConditions(1).Font
          .ThemeColor = xlThemeColorDark1
          .TintAndShade = -0.249946592608417
      End With
      Selection.FormatConditions(1).StopIfTrue = False

      '最後に罫線設定
      Range("A1").Select
      Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
      '基本的に実線
      With Selection.Borders
          .LineStyle = xlContinuous
          .ColorIndex = xlAutomatic
          .TintAndShade = 0
          .Weight = xlThin
      End With
      '内側水平線のみ点線
      With Selection.Borders(xlInsideHorizontal)
          .Weight = xlHairline
      End With

    End Sub

좋은 웹페이지 즐겨찾기