私的 Excel VBAめも

はてなブックマーク  Topsy.com

2007.5.30 作成

むちゃくちゃ初歩的なことばっかです。ぼちぽちほちと更新して行きます...。

参考リンク 3

いっぱい勉強させて頂きましたー。ありがとうございます。

ページ先頭 U

参照(オブジェクト) 4

ワークブック(ファイル)参照

※省略可能

Workbook オブジェクトは、Workbooks プロパティ、ActiveWorkbook プロパティ、ThisWorkbook プロパティから取得可能。

ページ先頭 U

ワークシート参照

※省略可能

Worksheet オブジェクトは、Worksheets プロパティ、ActiveSheet プロパティから取得可能。

ページ先頭 U

セル参照

Cells.SpecialCells(xlCellTypeFormulas).Select
Cells.SpecialCells(xlCellTypeFormulas, xlErrors).Select

ページ先頭 U

プロパティ / 定数 5

下記のように記述

対象.プロパティ(.プロパティ) = 定数/値/数式など

セルの設定

ページ先頭 U

列 / 行 の調整

ページ先頭 U

その他

ページ先頭 U

メソッド 6

下記のように記述

対象.メソッド引数:=対象/定数

ページ先頭 U

形式を選択して貼り付け

対象.PasteSpecial 引数:=定数, 引数:=真偽値, ...

※引数は省略可能

Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False

ページ先頭 U

列 / 行 の最適化

ページ先頭 U

ワークシートの扱い

ページ先頭 U

プログラム制御文 7

ページ先頭 U

“ミニ”マクロ 8

選択領域を太線で囲む
Sub 太線で囲む()
    With Selection
      .Borders.Weight = xlThick
      .Borders(xlInsideVertical).LineStyle = xlNone
      .Borders(xlInsideHorizontal).LineStyle = xlNone
    End With
End Sub
列Aの一番下のセルを選択
Sub 一番下のセルを選択()
   Range("A65536").End(xlUp).Select
End Sub
Sub 一番下のセルを選択()
   Range("A" & Rows.Count).End(xlUp).Select
End Sub
アクティブセルのある列の一番下のセルを選択
Sub 一番下のセルを選択EntireColumn()
   Selection.EntireColumn.Select             '列を選択
   ActiveCell.Offset(65535).End(xlUp).Select '65536行からCtrl + ↑
End Sub
Sub 一番下のセルを選択()
   Dim i As Long
   Dim h As Long
   i = Rows.Count               'シート最終行の番号
   h = ActiveCell.Column        'アクティブセルの列番号
   Cells(i, h).End(xlUp).Select '最終行からCtrl + ↑
End Sub
フィルハンドルをWクリック

例えば、A列にデータ、B1に数式入力してフィルハンドルをWクリックする時の動作風に。

Sub オートフィルWクリック風()
   Selection.Copy
   ActiveCell.Offset(0, -1).Select              '左のセルへ移動
   Selection.End(xlDown).Select                 'Ctrl +  ↓
   ActiveCell.Offset(0, 1).Select               '右のセルへ移動
   Range(Selection, Selection.End(xlUp)).Select 'Ctrl+Shift+↑
   ActiveSheet.Paste
   Application.CutCopyMode = False
End Sub
選択領域内の空白セルを選択

値を入れてセンタリング

Sub 空白セル選択()
   With Selection.SpecialCells(xlCellTypeBlanks)
     .Value = "--"
     .HorizontalAlignment = xlCenter
   End With
End Sub
重複削除

キーとなる列のセルを選択して実行。新規シートに重複行を除きコピー。

Sub 重複削除()
    Columns(ActiveCell.Column).AdvancedFilter Action:=xlFilterInPlace, Unique:=True
    Selection.CurrentRegion.Select
    Selection.Copy
    Sheets.Add Before:=ActiveSheet
    Selection.PasteSpecial Paste:=xlPasteColumnWidths
    ActiveSheet.Paste
    Application.CutCopyMode = False
End Sub

ページ先頭 U

ワークシート関数 9

ページ先頭 U

Written by yassy