Nariki 2022年11月26日 カード88 いいね2

広告

単語カード

  • 引数

    プロシージャから別のプロシージャを呼び出すとき、呼び出し先のプロシージャに「計算や処理の元となる値」を渡すことができる仕組み

    ・Sub プロシージャ名 A As Long(引数)
     →長整数型の引数Aを引き取る
    ・Function A As String(引数)
     →文字列型の引数Aを引き取る

  • ByRef

    参照渡し(初期値)

  • ByVal

    値渡し(By Valueの略)

  • 配列

    複数の値を同時に格納できる変数

  • 動的配列

    Dim A() As String のように宣言時に要素数を指定しない配列

    動的配列の宣言後、配列を宣言する時は
    Dim A() As String のあとに
    Redim A(要素数)という命令を書く

  • Split

    配列を返す関数(Variant型で返す)
    Split(元の文字列,区切り文字)
    Split(”A-B-C”,"-")

  • UBound

    配列の上限を返す
    UBound(配列)

    Dim A As Variant,i As Long
    Split(”A-B-C”,"-")
    For i= 0 To UBound(A)

  • LBound

    配列の下限を返す
    LBound(配列)


    Dim A As Variant,i As Long
    Split(”A-B-C”,"-")
    For i= LBound(A) To UBound(A)

  • Preserve

    ReDimで消えてしまう値を消さないで要素数を変更するキーワード

    ReDim Preserve A(2) のように使う

  • Set

    オブジェクト名にオブジェクトを格納する時に使う命令

    Set 変数名 =オブジェクト
    例えば、オブジェクト変数AにセルA1を格納する時のコード↓
    Dim A As Range
    Set A = Range("A1")

  • Nothing

    オブジェクト変数を破棄する時のキーワード

    Set A = Nothing

  • Exit

    処理を途中で終わらせる命令
    なんの処理を終了させるかは、Exitステートメントの後ろに指定する

    ・Exit Sub
    →Subプロシージャを終了する
     Sub Macro()
    Exit Sub
    End Sub

    ・Exit Function
    →Functionプロシージャを終了する
     Function Macro()
    Exit Function
    End Function

    ・Exit For
    →For...Nextステートメントを終了する
     Sub Macro()
      For i =1 To 100
    Exit For
    End Sub

    ・Exit Do
    →Do...Loopステートメントを終了する
     Sub Macro()
      Do While i<1000
    Exit Do
    Loop
    End Sub

  • Select Case

    複数の条件を同時に判定する時に使用
    Select Case 値
     Case 条件1
        処理1
     Case 条件2
        処理2
    〔Case Else〕
        その他の処理
    End Select

    ・値を比較対象とするときは Is というキーワードを使う
    ・【1または2または3】
     →Case 1,2,3

  • Do...Loopステートメント

    指定した条件によって処理を繰り返す命令
    【繰り返しの前で条件を判定】
    Do 条件
      処理
    Loop

    【繰り返しの後で条件を判定】
    Do
     処理
    Loop 条件

  • Until

    条件が正しくない間は繰り返す
    Until 条件 と指定

    Until Range("A1").Value<>""
    →セルが空白でない間は繰り返す

  • While

    条件が正しい間は繰り返す
    While 条件 と指定

    While Range("A1").Value⁼""
    →セルが空白の間は繰り返す

  • For Each...Next

    グループのメンバーを一つずつ取り出して操作。
    For Each 変数 In グループ名
     変数を使った操作
    Next 変数

    ・もし存在していたら~にも使える
    For Each wb In Workbooks
    If wb .Name=”合計.xlsx” then
    MsgBox"OK"
    End If

  • Openメソッド

    ブックを開くときのメソッド

    Sub Sample()
    Workbooks.Open "C:¥Work¥営業部_売上.xlsx"
    End Sub

  • SaveAs

    ブックを保存する

  • Format

    日付を加工したいときの関数
    Format(値,書式記号)
    →Format(Now,"yyyymmdd")
    →Format(i,"0000")

  • FileCopy

    ファイルをコピーする
    FileCopy コピー元のファイル名,コピー先のファイル名

    ・コピー先のファイル名は、元のファイルと異なる名前もOK
    ・存在しないフォルダにコピーはNG
    ・既に同名のファイルが存在している場合は勝手に上書きされる

  • MkDir

    フォルダの作成をするメソッド
    MkDir 作成するフォルダ名

  • WorksheetFunction

    ワークシート関数を使う時に書く
    WorksheetFunction.関数名(引数)

  • Sum関数

    足し算の関数
    Range("A6")=WorksheetFunction.Sum(Range("A1:A5")

  • CountIf関数

    特定のデータの件数をカウントする時に使う関数
    Range("A6")=WorksheetFunction.CountIf(Range("A1:A5","佐々木")

    データが存在するかを調べるときにも使える

  • CountSum関数

    特定のデータと同じ行にある数値だけを合計する時に使う関数
    Range("A6")=WorksheetFunction.CountIf(Range("A1:A5","佐々木",Range("B1:B5")

    オートフィルターで使う場合は、見えている範囲だけの計算をする

  • Large関数

    大きい順に見た時に何番目の数値はいくつかを調べる
    Range("A6")=WorksheetFunction.Large(Range("A1:A5","2)

    MAX関数は範囲内の最大値を調べ、引数が一つ

  • Small

    小さい順に見た時に何番目の数値はいくつかを調べる
    Range("A6")=WorksheetFunction.Small(Range("A1:A5","2)

    MIN関数は範囲内の最小値を調べ、引数が一つ

  • Match関数

    検索する文字列が範囲の中で上から何番目か調べる

    Match(Range("A1"),Range("B2:B5"),0)
    MATCH(検査値, 検査範囲, [照合の型])

  • Index関数

    指定した範囲の中で上から何番めか調べる

    Index(Range("B2:B5"),3)
    INDEX(配列, 行番号, [列番号])

  • EoMonth関数

    指定した月の月末の日を調べる

    EoMonth(開始日,月)

  • DataSerial関数

    年月日の数値からExcelが日付と認識できる形式を作成する
    DataSerial(年,月,日)

  • Find

    セルを検索する時に使う

    【完全一致で検索する】
    セル範囲.Find(What:=検索する語句,LookAt:=xlWhole)
    【部分一致で検索する】
    セル範囲.Find(What:=検索する語句,LookAt:=xlPart)

  • xlWhole

    セル検索の時、完全一致で検索する
    セル範囲.Find(What:=検索する語句,LookAt:=xlWhole)

  • xlPart

    セル検索の時、部分一致で検索する
    セル範囲.Find(What:=検索する語句,LookAt:=xlPart)

  • Not

    ~ではない

    If A Is Nothing then
    →もしAがなかったら~
    If Not A Is Nothing then
    →もしAがNothingでなかったら~

  • EntireRow

    そのセルを含む行全体

  • EntireColumn

    そのセルを含む列全体

  • Delete

    行や列を削除する時に使う

    削除する行.Delete
    →EntireRow.Delete
    →EntireColumn.Delete

  • Offset

    見つかったセルを起点として、別のセルを操作する時に使う

    起点セル.Offset(行,列)

  • Resize

    セルの大きさを指定する

    起点セル.Resize(行,列)

  • Copy

    データのコピーをするときに使う

    コピー元のセル範囲.Copy コピー先セル

  • AutoFilter

    表のデータ内で特定のデータを抽出したいときに使用

    表内のセル.AutoFilter 列番号,条件1,記号,条件2
    →Range("A1").AutoFilter 3,"A"
    →Range("A1").AutoFilter 3,"A",XlOr,"B"

  • xlOr

    絞り込みに関する指示を指定
    「または~」

  • xlAnd

    絞り込みに関する指示を指定
    「なお且つ」

  • xlFilterValues

    記号の一つ。値を指定する時に使う

  • CurrentRegion

    ひとかたまりのセル範囲
    セル.CurrentRegion

  • SubTotal

    オートフィルターで絞り込んだ件数は何件あるか調べる
    SubTotal(集計方法,セル範囲)
    →N=WorksheetFunction.SubTotal(3,range("A:A"))

  • Sort

    並び替えの挙動
    ソートする範囲.Sort.引数

  • Key1

    並び替える列にあるセル

  • Order1

    並び順(昇順・降順)
    ・昇順:xlAscending
    ・降順:xlDescending

  • Header

    見出しの有無
    ・見出し有:xlYes
    ・見出し無:xlNo

  • SortOn

    並べ替えのタイプ
    ・セル内のデータで並替:xlSortOnValues
    ・セルの背景色で並替:xlSortOnCellColor
    ・セルの文字色で並替:xlSortOnFontColor
    ・条件付き書式のアイコンで並替:xlSortOnIcon

  • DataOption

    文字列に数字と文字列が混在していた場合の並び替え
    ・数値と文字列を別に並び替え:xlSortNormal
    ・文字列を数値として並び替え:xlSortTextAsNumbers

  • Clearメソッド

    並び替えの条件をクリアする
    .Sort.SortFields.Clear

  • Add2メソッド

    並び替えの条件を設定する
    .Sort.SortFields.Add2 key:=.Range("C1"),Order:=xlAscending

  • Headerプロパティ

    見出しの有無を設定する

    ・Excelが自動判定する:xlGuess
    ・1行目はタイトル行:xlYes
    ・1行目はタイトル行でない:xlNo
    .Sort.Header=xlYes

  • SetRangeメソッド

    ソートする範囲を設定する
    .Sort.SetRange.Range("A:E")

  • Applyメソッド

    .Sort.Apply

  • Phonetic

    ふりがなを表示する
    漢字が入力されているセル.Phonetic.Text

    ※ふりがなを空白にはできない(ふりがなの)消去はできない

  • ListObject

    テーブル内のセルから特定する
    テーブル内のセル.ListObject

    シートからテーブルを特定する
    対象のシート.ListObjects(インデックス)
    →Sheets("Sheet1").ListObjects(1)
    対象のシート.ListObjects(テーブル名)
    →Sheets("Sheet1").ListObjects("テーブル1")

  • Range(テーブルを特定する)

    テーブルには必ず固有の重複しない名前が付けられていることから、テーブル名とRangeを使ってテーブルを指定する

    Range("テーブル1")

  • ListObject.Range

    見出し行を含むテーブル全体

  • ListObject.DataBodyRange

    見出し行を含まないテーブル全体

  • ListObject.HeaderRowRange

    見出し行

  • ListObject.ListColumn

    テーブル内の列(1列のみ)

    全体を表すときはListObject.ListColumns

  • ListObject.ListRow

    テーブル内の行(1行のみ)

    全体を表すときはListObject.ListRows

  • [#All]

    見出し行を含むテーブル全体

    テーブル名[[特殊項目指定子],[列指定子]]
    →Range("テーブル1[#All]")

  • [#Data]

    見出し行を含まないテーブル全体
    Range("テーブル1[#名前")のように、特殊項目指定子を省略して列指定子だけ記述すると[#Data]を指定したものとなる

    テーブル名[[特殊項目指定子],[列指定子]]
    →Range("テーブル1[#Data]")

  • [#Headers]

    見出し行

  • [#Totals]

    集計

  • ListColumns.Add

    列を挿入する

  • ListColumns.Count

    ListColumnsオブジェクト の「Count」プロパティ。列数を取得

  • On Error

    エラーが発生した時にあらかじめ定めた命令に処理をジャンプさせる

    On Error GoTo ジャンプ先のラベル名
     この中でエラーが発生
    ラベル名:
     エラーが発生した場合はここにジャンプする

  • Err.Number

    エラーごとに決まっているエラー番号を返す

  • Err.Description

    エラーごとに決まっているメッセージを返す

  • Resume Next

    発生したエラーを無視する
    OnError Resume Next

  • ProtectStructure

    ブックが保護をされているとTrueを返す

  • StrConv関数

    文字列の半角と全角を変換する
    StrConv(元の文字列,変換する文字種)

    ・半角→全角:VbWide
    ・全角→半角:VbNarrow
    ・文字列を大文字に変換:vbUpperCase
    ・文字列を小文字に変換:vbLowerCase

  • Replace関数

    不要な文字を除去する
    Replace(元の文字列,検索文字,置き換え文字)

  • DataSerial関数

    Excelが日付と認識できるシリアル値に変換する
    DataSerial(年,月,日)

  • ?変数

    関数の結果が表示される。
    この場合、プロシージャを用意しなくても、イミディエイトウィンドウのみで確認

  • F9

    ブレークポイントを設定する

  • Stopステートメント

    マクロが一時停止する

  • F8

    ステップイン(マクロを1行ずつ止めながら実行)

  • TypeName関数

    引数に指定したものがどんな種類のデータか調べる

  • IsNumeric関数

    引数に指定した値が数値か調べる
    数値であればTrue
    数値と認識できなければFalse

  • IsDate関数

    引数に指定した値が日付か調べる
    日付であればTrue
    日付と認識できなければFalse

広告

コメント