大体でIT

-ちょっと使えるネタを紹介-

大体でIT

Excel VBAを使って、請求書から台帳へ自動転記する方法について、ご紹介します。請求書データのみがあって台帳がない場合は、一覧形式の台帳を作成すると、集計作業がやりやすくなります。台帳がない場合は、一覧形式のデータを作成して集計作業ができるようにしていきましょう。

はじめに

この記事では、請求書のデータを、台帳に自動転記する方法について、ご紹介します。

基本的には、台帳から請求書へ転記するのが一般的です。

ただ、台帳がなく請求書のデータのみがある場合は、一覧形式でデータを作成できると集計作業がやりやすくなります。

一覧形式の台帳を作成して、集計作業をしていきましょう。

では、請求書のデータを台帳に自動転記する方法について、解説していきます。

この記事を読むメリット

  • 請求書データから一覧形式の台帳を作成することができるようになります。

本記事の内容を動画でまとめています

本記事の内容を動画にて解説しております。

VBAコードの作成手順について、動画で確認できます。

目次から見たい項目へ移動すると便利ですよ。

目次

請求書から台帳に自動転記したい

請求書から台帳に自動転記するVBAコードを作成していきます。

やりたい内容

やりたい内容は、複数の請求書を台帳に転記したい、ということになります。

複数の請求書データを台帳に転記したい

複数の請求書のデータを台帳に転記します。

複数の請求書を台帳に転記したいです
複数の請求書を台帳に転記したいです
複数の請求書を台帳に転記したいです

次のように、複数の請求書データを、台帳に一覧形式で転記したいです。

台帳に一覧形式で転記したい

複数の請求書データを、台帳に一覧形式で転記したいです

では、複数の請求書データを、台帳に一覧形式で転記するVBAコードを作成していきます。

VBAコードを作成

ポイントごとに、VBAコードを作成していきます。

1つの請求書を台帳に自動転記

1つの請求書を台帳に自動転記するVBAコードから作成していきます。

Sub TEST1()
  
  With Sheets("台帳").Cells(Rows.Count, "A").End(xlUp)
    .Offset(1, 0).Resize(3) = Sheets("請求書").Range("A2").Value '取引先
    .Offset(1, 1).Resize(3) = Sheets("請求書").Range("A10:A12").Value '品目
    .Offset(1, 2).Resize(3) = Sheets("請求書").Range("D10:D12").Value '単価
    .Offset(1, 3).Resize(3) = Sheets("請求書").Range("E10:E12").Value '数量
  End With
    
End Sub

次の1つの請求書のデータを台帳に転記します。

1つの請求書を台帳に転記する

1つの請求書のデータを台帳に転記します

次の台帳に転記します。

台帳に転記します

実行すると、請求書のデータを台帳に転記できます。

台帳に転記できた

請求書のデータを台帳に転記できました

請求書のデータを台帳に転記できました。

複数の請求書を台帳に自動転記

次は、複数の請求書を台帳に自動転記するVBAコードを作成します。

Sub TEST2()
  
  '複数の請求書をループ
  For i = 1 To 3
    With Sheets("台帳").Cells(Rows.Count, "A").End(xlUp)
      .Offset(1, 0).Resize(3) = Sheets(i).Range("A2").Value '取引先
      .Offset(1, 1).Resize(3) = Sheets(i).Range("A10:A12").Value '品目
      .Offset(1, 2).Resize(3) = Sheets(i).Range("D10:D12").Value '単価
      .Offset(1, 3).Resize(3) = Sheets(i).Range("E10:E12").Value '数量
    End With
  Next
    
End Sub

複数の請求書を台帳に転記します。

複数の請求書を台帳に転記する

1つ目の請求書です。

複数の請求書を台帳に転記したいです

2つ目の請求書です。

複数の請求書を台帳に転記したいです

3つ目の請求書です。

複数の請求書を台帳に転記したいです

実行すると、複数の請求のデータを、台帳に転記できます。

台帳に転記できた

複数の請求のデータを、台帳に転記できました

複数の請求のデータを、台帳に転記できました。

ただ、少し問題があって、請求書の一部にデータが無い場合は、空白行ができちゃいます。

請求書の一部のデータを削除して、実行してみます。

請求書の一部にデータが無い場合

1つ目の請求書です。

請求書の一部にデータがない場合でやってみます

2つ目の請求書です。

請求書の一部にデータがない場合でやってみます

3つ目の請求書です。

請求書の一部にデータがない場合でやってみます

実行すると、空白行ができてしまいます。

空白行ができちゃう

空白行ができてしまいます

空白行ができてしまいました。

空白データを削除する

請求書のデータを転記して、空白データを削除するVBAコードを追加します。

「SpecialCells」を使って、空白データの行を一括で削除します。

Sub TEST3()
  
  '複数の請求書をループ
  For i = 1 To 3
    With Sheets("台帳").Cells(Rows.Count, "A").End(xlUp)
      .Offset(1, 0).Resize(3) = Sheets(i).Range("A2").Value '取引先
      .Offset(1, 1).Resize(3) = Sheets(i).Range("A10:A12").Value '品目
      .Offset(1, 2).Resize(3) = Sheets(i).Range("D10:D12").Value '単価
      .Offset(1, 3).Resize(3) = Sheets(i).Range("E10:E12").Value '数量
    End With
  Next
  
  '空白行を削除
  Sheets("台帳").Range("A1").CurrentRegion.Columns(2).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
  
End Sub

複数の請求書データを、台帳に転記して、空白行を削除できます。

空白データを削除できる

複数の請求書データを、台帳に転記して、空白行を削除できました

複数の請求書データを、台帳に転記して、空白行を削除できました。

ただ、このままでは問題があって、空白行がない場合は、エラーとなってしまいます。

空白行がない場合で、実行してみます。

空白行がない場合にエラー

空白行がない場合にエラーとなってしまいます

空白行がない場合にエラーとなってしまいました。

エラーを回避して空白データを削除

空白行を削除する場合は、エラーを回避するために、空白データがある場合に削除をします。

「COUNTABLANKS」を使って、空白行があるかを判定して、空白行を削除します。

Sub TEST4()
  
  '複数の請求書をループ
  For i = 1 To 3
    With Sheets("台帳").Cells(Rows.Count, "A").End(xlUp)
      .Offset(1, 0).Resize(3) = Sheets(i).Range("A2").Value '取引先
      .Offset(1, 1).Resize(3) = Sheets(i).Range("A10:A12").Value '品目
      .Offset(1, 2).Resize(3) = Sheets(i).Range("D10:D12").Value '単価
      .Offset(1, 3).Resize(3) = Sheets(i).Range("E10:E12").Value '数量
    End With
  Next
  
  '空白行がある場合
  If WorksheetFunction.CountBlank(Sheets("台帳").Range("A1").CurrentRegion.Columns(2)) > 0 Then
    '空白行を削除
    Sheets("台帳").Range("A1").CurrentRegion.Columns(2).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
  End If
  
End Sub

実行すると、空白行がない場合のエラーを回避して、台帳に転記できます。

エラーを回避して転記できた

空白行がない場合のエラーを回避して、台帳に転記できました

空白行がない場合のエラーを回避して、台帳に転記できました。

おわりに

この記事では、請求書のデータを、台帳に自動転記する方法について、ご紹介しました。

基本的には、台帳から請求書へ転記するのが一般的です。

ただ、台帳がなく請求書のデータのみがある場合は、一覧形式でデータを作成できると集計作業がやりやすくなります。

一覧形式の台帳を作成して、集計作業をしていきましょう。

参考になればと思います。最後までご覧くださいまして、ありがとうございました。

関連する記事から探す

カテゴリから探す

カテゴリから見たい項目を探すと便利ですよ。

サイト内を検索する

↓キーワードを入力する

アーカイブから探す