2022/05/31(火)VLOOKUPではまる

VBAじゃないけれど慣れないエクセルで初めてのVLOOKUPを使おうとして手間取り、結局VBAでマクロ組んだので。
家に帰ってからゆっくりリベンジ。
サンプル通りのデータ作っているのに#N/Aと表示されるのはなぜ??
セルの左肩に小さく表示されている緑の小さな三角マークが原因でした。
vlookup010.png

今までよく見かけていましたが、気にしたことありませんでした。
vlookup020.png

エラーなんですって。緑色なのでエラーとは思ってませんでした(^^;)。
参照元も参照先もマークがついているか、どちらもついていない場合は大丈夫。
片方だけついているとエラー。
ふ~ん。

2019/04/04(木)科目別集計

Excelが苦手なのでC#で決算書を作成しようと初のWPFアプリに挑戦していましたが、間に合わず、結局こちらも初めてのExcel VBAで関数つくりました。
ちょっとダサいけれどエクセルファイル無くした時用にメモっておきます。

初めての標準モジュール作成

' 収入専用
Function 科目別収入集計(科目)
    Dim rowsData As Long '行数カウント用の変数
    rowsData = Worksheets("現金出納帳").Cells(Rows.Count, 1).End(xlUp).Row '最後の行数を取得
    'Debug.Print rowsData
    Dim total As Long
    Dim i As Long
    For i = 5 To rowsData
       If Worksheets("現金出納帳").Cells(i, 3).Value = 科目 Then
            lineVal = Worksheets("現金出納帳").Cells(i, 5).Value
            'Debug.Print Worksheets("現金出納帳").Cells(i, 5).Value
            total = total + lineVal
       End If
    Next i
    'Debug.Print total
    科目別収入集計 = total
End Function

' 支出専用
Function 科目別支出集計(科目)
    Dim rowsData As Long
    rowsData = Worksheets("現金出納帳").Cells(Rows.Count, 1).End(xlUp).Row
    Dim total As Long
    Dim i As Long
    For i = 5 To rowsData
       If Worksheets("現金出納帳").Cells(i, 3).Value = 科目 Then
            lineVal = Worksheets("現金出納帳").Cells(i, 6).Value
            total = total + lineVal
       End If
    Next i
    科目別支出集計 = total
End Function

使い方

パラメータを増やせば関数は一つで済みますが列が間違ってないか不安になり確認する回数が増えそうなので、使いやすさ優先です。

収入の例

=科目別収入集計("雑収入")

支出の例

=科目別支出集計("雑費")
OK キャンセル 確認 その他