Range Object - Heeyoung-Ahn/Excel_VBA GitHub Wiki

Range Object

  • VBAμ—μ„œ κ°€μž₯ λΉˆλ²ˆν•˜κ²Œ μ‚¬μš©λ˜λŠ” 객체
  • Range 객체 선택 μ‹œ Workbook, Worksheetκ°€ μƒλž΅λ˜λ©΄ ν˜„μž¬ ν™œμ„±ν™”λœ Workbook, Worksheet 의미 즉, ActiveWorkbook.ActiveWorksheet μƒλž΅

Range 객체λ₯Ό μ„ νƒν•˜λŠ” 방법

Range(β€œA1”).Select

  • Cells 속성
    Cells(1, 1), Cells(1, β€œA”).Select
  • μ—°μ†λœ λ²”μœ„
    Range(β€œA1”, β€œC10”).Select, Range(β€œA1:C10”).Select
    Range(Columns(1), Columns(3)).Select, Range("A1:C1").EntireColumn.Select, Columns("A:C").Select
  • μ—°μ†λ˜μ§€ μ•Šμ€ λ²”μœ„
    Range(β€œA1, C10”).Select
    Range(β€œA1, C1”).EntireColumn.Select, Union(Columns(β€œA”), Columns(β€œC”)).Select
  • μ„ νƒλœ λ²”μœ„μ—μ„œ 첫 번째 μ…€
    ActiveCell.EntrieRow.Cells(1, 1).Select
  • μ›Œν¬μ‹œνŠΈ 전체
    Cells.Select
  • Range.Offset 속성
    Range(β€œA1”).Offset(1), Range(β€œA1”).Offset(1, 0), Range(β€œB3”).Offset(-1, -2)
    Set rngS = Range.Find(β€œμ°ΎλŠ”λ¬Έμžμ—΄β€, lookat:= xlwhole)
    rngS.Offset(2).Activate
  • Offset은 μžμ‹ μ΄ 0, CellsλŠ” μžμ‹ μ΄ 1
  • Offset은 λ³‘ν•©λœ μ˜μ—­μ€ ν•œ 개둜 처리, CellsλŠ” λ³‘ν•©λ˜μ–΄λ„ μ…€λ§ˆλ‹€ ν•œ 개둜 처리

Range에 κ°’ μž…λ ₯

Range(β€œA1”).Value = Date
Range(β€œA1:B1).Value = Date


Range에 μˆ˜μ‹ μž…λ ₯

Range(β€œA1”).Formula = β€œ=A2 + A3”
Range(β€œA1”).FormulaR1C1 = β€œ=SUM(R1C2:R1C3)”

Sub sumFormulaDemo()

    Dim lngStartR As Long
    Dim lngLastR As Long
    
    lngStartR = 2
    lngLastR = Cells(Rows.Count, 1).End(xlUp).Row
    Rnage("A" & lngLastR).Offset(1).Value = "합계'"
    Range("B" & lngLastR).Cells(2, 1).Formula = "=SUM(B2:B" & lngLastR & ")"

End Sub

Range κ°’ μ§€μš°κΈ°

Range(β€œA1”).Clear

  • ClearContents / ClearFormats / ClearOutlines / ClearHyperlinks / ClearNotes
    Range(β€œA1”).Value = vbNullString

Range 볡사, μž˜λΌλ‚΄κΈ°, λΆ™μ—¬λ„£κΈ°

Range(β€œA1:C5”).Copy Destination:=Range(β€œD1”)
Range(β€œA1:C5”).Copy
Range(β€œD1”).PasteSpecial Paste:=xlPasteAll / xlPasteFormulas / xlPasteValues / xlPasteFormats
Range(β€œD1”).PasteSpecial Paste:=xlPasteAll, Transpose:=True
Range(β€œA1”).Cut Destination:=Range(β€œD1”)


Range μ„œμ‹

  • Font
    Range(β€œA1”).Font.Name = β€œλ‚˜λˆ”λͺ…쑰”
    Range(β€œA1”).Font.Color = vbRed, Range(β€œA1”).Font.ColorIndex = 3
    Range(β€œA1”).Font.Size = 14
    Range(β€œA1”).Font.Bold = True
  • Interior
    Range(β€œA1”).Interior.Color = vbYellow
  • Borders
    Range(β€œA1”).Borders.Color = vbBlue
    Range(β€œA1”).Borders.LineStyle = xlContinuous
    Range(β€œA1”).Borders.Weight = xlHairline
  • 기타
    Range(β€œA1”).WrapText = True
    Range(β€œA1”).ShrinkToFit = True
    Range(β€œA1”).NumberFormat = β€œ#,##0”

Range 개체의 μ£Όμš” 속성

  • Address: Range(β€œA1”).Address β†’ $A$1`
  • Value
  • Formula
  • NumberFormat(μ…€μ„œμ‹)
  • Column / Columns
  • Row / Rows
  • CurrentRegion
    cf. Worksheet의 속성 쀑 UsedRange
  • End: xlUp, xlDown, xlToLeft, xlToRight
    Range(β€œA1”).End(xlUp)
  • EntireColumn / EntrieRow
  • Resize