Range object

셀에 값 입력하기

VBA는 취미로 2023. 6. 25. 17:19

1.셀에 값 입력하기

Sub WriteCellValue()
    Dim rng As Range
    
    ' 범위 지정
    Set rng = ThisWorkbook.Worksheets("Sheet1").Range("A1")
    
    ' 셀에 값 입력
    rng.Value = "Hello, World!"
    
    ' 메시지 출력
    MsgBox "셀에 값이 입력되었습니다."
End Sub

2.연속된 여러 개의 셀에 값 입력하기

Sub WriteMultipleCellValues()
    Dim rng As Range
    
    ' 범위 지정
    Set rng = Range("A1:B5")
    
    ' 연속된 여러 셀에 값 입력
    rng.Value = "Hello"
    
    ' 메시지 출력
    MsgBox "연속된 여러 셀에 값이 입력되었습니다."
End Sub

3. 여러 영역에 값 입력하기

Sub WriteMultipleRanges()
    Dim rng1 As Range
    Dim rng2 As Range
    Dim rng3 As Range
    
    ' 첫 번째 영역 지정
    Set rng1 = Range("A1:A5")
    
    ' 두 번째 영역 지정
    Set rng2 = Range("C1:C3")
    
    ' 세 번째 영역 지정
    Set rng3 = Range("E1:E10")
    
    ' 각 영역에 값 입력
    rng1.Value = "Hello"
    rng2.Value = "World"
    rng3.Value = "Excel"
    
    ' 메시지 출력
    MsgBox "여러 영역에 값이 입력되었습니다."
End Sub

Sub PrintSameValueToMultipleRanges()
    Dim rng As Range
    Dim outputValue As String
    
    ' 출력할 값 설정
    outputValue = "Hello, World!"
    
    ' 개체 변수에 여러 영역을 지정합니다.
    Set rng = Range("A1:A5, C1:C3, E1:E5")
    
    ' 각 영역에 동일한 값을 출력합니다.
    rng.Value = outputValue
    
    ' 메시지 출력
    MsgBox "여러 영역에 동일한 값이 출력되었습니다."
End Sub

 

4.Value속성,Value2속성,Text속성의 차이

Sub PrintRangeProperties()
    Dim rng As Range
    Dim cell As Range
    
    ' 데이터가 있는 범위를 지정합니다.
    Set rng = Range("A1:A4")
    
    ' 각 셀의 속성 값을 출력합니다.
    For Each cell In rng
        Debug.Print "Value: " & cell.Value
        Debug.Print "Value2: " & cell.Value2
        Debug.Print "Text: " & cell.Text
        Debug.Print "-------------------"
    Next cell
End Sub

 

Value속성은 실제 값을 읽어옵니다.Currency일 경우 소수점 4자리만 가져옵니다.

Value2속성은 Currency와 Date 형식는 사용하지 않습니다.(소숫점 이하가 모두 출력되었고 날짜대신 일련번호를 반환합니다.)

Text속성은 눈에 보이는대로 출력합니다.