ExcelVBAへの道
 
第6章 オブジェクト

オブジェクトとはエクセルの全ての部品のことです。

  1. Application
    1. Dialog
    2. WorksheetFunction
    3. Workbook
      1. Worksheet
        1. ChartObject
          1. Chart
            1. ChartArea
            2. PageSetup
            3. ChartTitle
            4. Series
              1. DataLabels
            5. Axis
              1. AxisTitle
              2. Gridlines
            6. Legend
        2. Range
          1. Border
          2. Font
          3. Interior
          4. Character
            1. Font
          5. Style
          6. Comment
      2. PageSetup
      3. Comment
2、ブック
  • ActiveWorkbook         (アクティブになっているブックを取得)
  • Workbooks("XXXXX.xls")   (ブックを指定して取得)
  • Workbooks            (全てのブックを取得する)
3、ワークシート
  • Workbooks("XXXX.xls").ActiveSheet           (アクティブシートを取得)
  • Workbooks("XXXX.xls").Worksheet("Sheet1")      (Sheet1を取得する)
  • Workbooks("XXXX.xls")Worksheets            (全てのシートを取得)
4、セル
  • セルの取得
    1. Rangeプロパティ(セル番地で指定する)
      • Range("A1").Select<==============セル番地A1を選択
      • Range("A1:B4").Select<===========A1からB4を範囲選択
      • Range("A1","D10").Select<========A1からD10を範囲選択
      • Range("1:7").Select<==============1行目から7行目まで選択
      • Range("A:D").Select<=============A列からD列まで選択
      • Range("A1,B6,H8").Select<=========A1とB6とH8の3つのセルを選択
      • Range("A1:G8,Y3:AA20").Select<====A1からG8、Y3からAA20まで選択
      • Range("A1").CurrentRegion.Select<=============連続したリストを選択する。
      • Range("A1").End(xlDown).Select<===========下最終セルを選択
      • Range("A1").End(xlUp).Select<=============上最終セルを選択
      • Range("A1").End(xlToLeft).Select<==========左最終セルを選択
      • Range("A1").End(xlToRight).Select<=========右最終セルを選択
    2. Cellsプロパティ(行・列を指定して取得する)
      • Cells(1,1).Selct<===================セル番地A1を選択
      • Cells("5","F").Select<==============F5番地を選択
      • Ragne(Cells(1,1),Cells(7,7)).Select<====A1からG7まで選択
    3. Offsetプロパティ(相対位置を指定して取得する)
      • Offset(2,3).Select<=================2行下、3列右へアクティブセルを移動選択する。
      • Offset(0,8).Select<=================行は変えずに8列右へ移動選択する。
      • Offset(0,-8).Select<================行は変えずに8列左へ移動選択する。
      • Offset(5,0).Select<=================列は変えずに5行下へ移動選択する。
      • Offset(-5,0).Select<================列は変えずに5行上へ移動選択する。
      • Range("A1").Offset(1,1).Select<=============A1番地から移動してB2番地を選択する。
      • Range("A1:C3").Offset(2,3).Select<==========A1からC3まで選択後、下へ2行右へ3列移動する選択したセルの大きさは変化しない。
    4. ActiveCellプロパティ(現在選択しているセルを取得する)
    5. Unionメソッド(離れた範囲を取得する)
  • セルへの入力
    1. Range("A1").Value=12345
    2. Range("A1:C3").Value=12345
  • ActiveCell は1つのアクティブセルを取得する。
    1. ActiveCell.Value=12345
  • Selection は選択している全てのセルを取得する。
    1. Selection.Value=12345
  • Activate は他のブックを選択する。
    1. Workbooks("XXXX.xls").Worksheets("Sheet1").Activate
  • 数式を入力する場合
    A1参照形式かR1C1参照形式でコードが違う。
    Formulaプロパティは数式をA1形式でセルに入力するときに使う。
    1. Range("A1").Formula="=B1+C1"
    2. Range("A1").Formula="=SUM(A1:C3)"
    3. Range("A1").Formula="=MAX(A1:C3)"
    FormulaR1C1プロパティは数式をR1C1形式でセルに入力するとき
    使う。
    1. Range("A1").FormulaR1C1="=R1C2+R1C3"
    2. Range("A1").FormulaR1C1="=SUM(R1C2:R1C3)"
    3. Range("A1").FormulaR1C1="=R[-1]C[-2]+R[-1]C[-3]"
    4. マクロ機能で記録した場合、すべてFormulaR1C1形式でコードが作成される。
  • 削除
    1. Clear セルの内容と書式の両方を削除する
      Range("A1").Clear
    2. ClearContents セルの内容のみ削除、書式は残る。
      Range("A1").ClearContents
    3. ClearFormats 書式のみ削除、内容は残る。
      Range("A1").ClearFormats
  • セルの色
    Range("A1").Interior.Color=RGB(255,255,255)
    Range("A1").Interior.ColorIndex=3
    文字の色
    Range("A1").Font.Color=RGB(255,255,255)
    Range("A1").Font.ColorIndex=3
  • シート
    シートの追加
    Worksheets.Add(Before,After)
    1. Worksheets.Add After:=Worksheets(1),Count:=3 シート1の右に新しいシートを3枚挿入する。
    シートの選択
    1. Worksheets("Sheet1").Activate   シート1を選択する。
    2. Worksheets(2).Activate   左から2番目のシートを選択する。
    3. Worksheets.Select   全てのワークシートを選択する。
    4. Worksheets(Array(1,3)).Select  離れたシートを同時選択する。
    5. Worksheets.Delete   アクティブシートを削除する。
    6. Sheets(2).Delete    シート2を削除する。
    7. Worksheet("Sheet1").Delete シート1を削除する。
    8. Worksheets("Sheet2").Move After:=Worksheets("Sheet3") シート3の後ろにシート2を移動する。
    9. Worksheets("Sheet2").Copy After:=Worksheets("Sheet3") シート3の後ろにシート2をコピーする。
    10. Worksheets("Sheet2").Visible=False  シート2を非表示にする。
    11. Worksheets("Sheet2").Visible=True  シート2を表示する。
  • 行・列
    1. Rows("4:8").Select       4行目から8行目まで行選択
    2. Rows("4:8").Hidden=True   4行から8行目まで非表示
    3. Rows.Count            行を数える
    4. Selection.Columns.Count    列を数える