#029

Sdílet
Vložit
  • čas přidán 20. 02. 2024
  • Excel関数をVBAのコード内で使う方法を詳しく説明しています。
    ■再生リスト
    • Excelパワークエリ
    • Excelマクロ(VBA)
    • Excel関数
    • Excelピボットテーブル
    ▼動画で説明しているサンプルコード、コピペ活用ください。
    Sub マクロ8_1()
    ' SUMを使って合計値を表示する
    Range("B12").Value = WorksheetFunction.Sum(Range("B3:B10"))
    Range("C12").Value = WorksheetFunction.Sum(Range("C3:C10"))
    End Sub
    -----------------------------
    Sub マクロ8_2()
    ' SUMの範囲を最終行を取得して合計値を表示する
    Dim maxRow As Long
    maxRow = Cells(Rows.Count, 1).End(xlUp).Row '1列目(A列)の最終行
    Range("C" & maxRow).Offset(2, 0).Value = WorksheetFunction.Sum(Range("C3:C" & maxRow))
    Range("A" & maxRow).Offset(2, 0).Value = "合計"
    End Sub
    -----------------------------
    Sub マクロ8_3①()
    ' SUMIFSも使える
    Range("C12").Value = WorksheetFunction.SumIfs(Range("C3:C10"), Range("A3:A10"), Range("A12"))
    End Sub
    -----------------------------
    Sub マクロ8_3②()
    ' SUMIFSも使える
    Range("C12").Value = WorksheetFunction.SumIfs(Range("C3:C10"), Range("A3:A10"), "みかん")
    End Sub
    -----------------------------
    Sub マクロ8_4①()
    ' XLOOKUPも使える
    Range("D3").Value = WorksheetFunction.XLookup(Range("A3"), Range("F3:F6"), Range("G3:G6"))
    End Sub
    -----------------------------
    Sub マクロ8_4②()
    ' XLOOKUPも使える
    ' 最終行を取得
    Dim maxRow As Long
    maxRow = Cells(Rows.Count, 1).End(xlUp).Row '1列目(A列)の最終行
    ' 3行目から最終行まで処理を繰り返す
    Dim i
    For i = 3 To maxRow
    Range("D" & i).Value = WorksheetFunction.XLookup(Range("A" & i), Range("F3:F6"), Range("G3:G6"))
    Next i
    End Sub
    -----------------------------
    Sub マクロ8_5①()
    ' 式のまま残す
    Range("C12").Formula = "=SUM(C3:C10)"
    End Sub
    -----------------------------
    Sub マクロ8_5②()
    ' 式のまま残して値に置換える
    Range("C12").Formula = "=SUM(C3:C10)"
    Range("C12").Value = Range("C12").Value '値に置き換える
    End Sub
    -----------------------------
    Sub マクロ8_6()
    ' 式のまま残す場合、IFも使える
    Range("A12").Formula = "=IF(C12="""","""",""合計"")"
    Range("A12").Value = Range("A12").Value '値に置き換える
    End Sub

Komentáře •