(税理士用)仕訳インポート▼仕訳取込ブックをcsv形式に保存する方法は、VBA? ショートカットキー?

1.問題の所在

エクセルの効率化の方法の考え方は、

  • ファイル内の処理であれば、基本的に関数
  • ファイルをまたぐ、複数のファイルを扱う処理であれば、もうVBAでないと不可能

である。

他方、VBAは、完成に時間がかかるし、バグも生じやすい。

この、VBAをどこまで使うかの考えを整理する。

 

2.結論

csv形式で保存する際には、VBAは使わない。ショートカットキーで済ます。

 

3.理由

csvファイルの後工程を含めた、当事務所の仕訳取込の全体の流れは以下の通り。

  1. クライアントごとに、仕訳取込ごとに、3個~10個のエクセルファイルがある。
      1. 3シートから成るブック形式のエクセルファイルを、一番左→右→右へと、作成し、
      2. 一番右のシートを、CSV保存し、
      3. 上の2行を削除して、上書き保存する
        (上の2行を使うことで、補助簿のシートと同じ行数にして、仕訳対象のモレを一瞥でchするためにあえて残している)
      4. (だいたい半分ほど)保存の都度にOKかの確認メッセージがでるが、無視して上書き保存する、
      5. これを、3個~10個のエクセルファイルについて順に繰り返す。
  2. 3個~10個のCSVファイルを、マクロファイルで1つのCSVファイルに統合して保存する(仕訳として取り込むので、順番は任意でOK)
  3. マクロファイルの都合で、1行目が空白で出力されるので、それを削除して、上書き保存して、完成。
  4. この完成した1つのcsvファイルを、弥生会計AEで取り込む。

 

まず、方法論としては、以下の1.または2.がある(いずれも保存先は、カレントフォルダである):

  1. 「3個~10個のブック形式のファイルの特定のシートを、上の2行を削除しながら統合し」、「できた1枚のシートをCSV保存する」
  2. 「3個~10個のブック形式のファイルごとに、上の2行を削除しながらCSV保存し」、「3~10個のCSVファイルを1つに統合する」

1.の前半がVBAで実行可能であれば、後半と併せてクリック2回で済むので、究極の効率化になる。しかし、1.の前半をマクロ化することが、かなり難しい。特に、当事務所のエクセルファイルは、仕訳データのシートは、空行にも iferror関数 を入れているので、この関数を読み取られてしまうと、仕訳データとしては使えない。そのため、2.が前提になる。

(当該仕訳データのシートに、は、空行にも iferror関数 を入れない、という選択肢もあろう。それついては、後述)

以上の検討の結果、論点は、2.の前半を、VBAでするか、ショートカットキーでするかが課題となる。(2.の後半は、ファイル間の作業なので、もうVBAしかない)

普通に考えると、VBAでやった方がカンタンと思われるが、

 

  • (以下、VBAの作成は、ゼロから記述するのではなく、既存のサンプルを加工する方針が前提であるが)「VBAを呼び出して、実行をして、同じフォルダに、同じファイル名で保存」まで一気通貫を満たすサンプルマクロは限定される。
  • 一番のネックは、VBAを、3個~10個のエクセルファイルに、これから逐一、コピペしないといけない手間である。
  • ファイル形式が、.xlxm になるので、ファイルを開く都度、有効の許可のクリックの労を要する。
  • (またここでも、上の()の課題がある。)

他方、同じ作業を、CSV保存をショートカットキーでするのは、

  • 意外と手間がかからない。
  • (かつ、上の、は、空行にも iferror関数 を入れて問題がないメリットがある)

 

4.補足

将来、上の()が解消するVBAを作成できれば、方針を変更する可能性がある。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA