VB(A)

숫자 합치기 + 음수만 빨갛게

당근쨈 2016. 12. 23. 12:58

http://cafe.naver.com/excelmaster/133903


이상하게 카페에 글이 안 올라가지네...

ColorScripter.com 도 접속이 잘 안되고

여기 컴터가 구린 듯



Option Explicit
 
Sub PlusMinus()
 
    Dim SingleCell As Range
    Dim NumberData As Range
    
    '기존 자료 삭제
    Columns("B").Clear
        
    '데이터 영역 설정(여기서는 D행)
    Set NumberData = Range("D2", Cells(Rows.Count, "D").End(3)(2))
    
    'D행에서 데이터가 있는 영역만 순환
    For Each SingleCell In NumberData.SpecialCells(2)
        
        With SingleCell
            
            'D열과 E열 숫자를 연결해줌
            .Offset(, -2= .Value2 & "(" & .Offset(, 1& ")"
            
            '마이너스는 빨갛게
            Call CheckMinus(.Offset(, -2), .Cells)
            Call CheckMinus(.Offset(, -2), .Offset(, 1))
            
        End With
    
    Next SingleCell
    
End Sub
 
Sub CheckMinus(NowCell As Range, WhichCell As Range)
    
    '마이너스는 빨갛게 표시해주는 프로시저입니다.
    'NowCell은 B행, WhichCell은 D행 또는 E행이 됩니다.
    
    If WhichCell < 0 Then
        
        NowCell.Characters(InStr(NowCell, WhichCell), Len(WhichCell)).Font.Color = vbRed
    
    End If
    
End Sub
 
cs

Book1.xlsm