ExcelVBAで簡単なプログラムを書いてみよう!

前回ExcelVBAのプログラムの書く場所について解説しました。
では実際にプログラムを書いてみましょう。

今回は、セルA1に1を入力するプログラムを書きます。

では、開発タブからVisualBasicをクリックし、VBE(Visual Basic Editor)を起動します。

1306211

そして次のコードを入力します。マクロのタイトル以外は全て半角で入力して下さい。

Sub 文字入力()
Cells(1, 1).Value = 1
End Sub

前回のように、開発タブのマクロから実行する方法もありますが、次の方法でマクロを実行します。

1306212

これで、A1に1が入力されました。
少しCells(1,1)の数字を変更してみて、どう動くか確認してみて下さい。

それから、A1に入力する文字が数字でなくテキスト形式の場合は次のように記述します。
Cells(1, 1).Value = “三浦健二郎”
入力する値がテキスト形式のときは、半角のダブルコーテーションで囲みます。

次のメッセージが表示されたときは、コンテンツの有効化をクリックして下さい。そうすればマクロが動きます。
1306214

マクロを使ったファイルを保存するときは、保存方法にも注意して下さい。
1306215
「マクロ有効ブック」にして保存しないと、入力したVBAコードは消えてしまうのでご注意ください!!!

ExcelVBAの書き方の第一歩

ExcelVBAにはコードの書き方に決まりがあります。

最初の一行目は、
Sub ○×()
と記述します。ちなみに○×はこのマクロの名前ですので、分かりやすい名前を
ご自由につけて下さい。
ちなみに「Sub」 と 「()」 は必ず半角にして下さい。
続きを読む

ExcelVBAを使う下準備

ExcelVBAを使うには下準備が必要です。
先に開発タブを表示できるようにします。ファイルタブをクリックし、オプションを選択します。
1306201
ここで、リボンのユーザー設定をクリックし、「開発」にチェックを付けます。
続きを読む

ExcelVBAを使う上で大事なことは4つだけ

前回いきなりVBAのコードを記述しました。

前回記述したコードは、会計ソフトのフォーマットに変換する
基礎中の基礎のプログラムです。

ExcelVBAの参考書を読むと、いろいろな関数がでていますが、使うのは
①Cells(a,b)というセルの指定の仕方
②IF関数
③繰り返し処理のDo Until ~ Loop
④変数の使い方
以上の4つです。
続きを読む

現金出納帳をワンクリックで会計ソフトのフォーマットに変換する方法

ExcelVBAを使うと、今まで解説してきた動作をワンクリックで行うことができます。

真ん中の青いボタンをクリックします。
1306191

右側の会計ソフトにインポートするフォーマットに自動でデータが移ります。
1306192

実は、ボタンをクリックしたときにマクロ(VBA)が実行されるようになっています。

そのコードです。
Sub 変換()
Dim a As Integer
a = 3
Do Until Cells(a, 1).Value = “”
Cells(a, 7).Value = Cells(a, 1).Value
Cells(a, 11).Value = Cells(a, 2).Value
If Cells(a, 4).Value = “” Then
Cells(a, 8).Value = 101
Cells(a, 9).Value = 999
Cells(a, 10).Value = Cells(a, 3).Value
Else
Cells(a, 9).Value = 101
Cells(a, 8).Value = 999
Cells(a, 10).Value = Cells(a, 4).Value
End If
a = a + 1
Loop
End Sub
この解説は追ってしていきたいと思いますが、経理を効率化するには、ExcelVBAが大変役立ちます。
このコードでは科目の判別までしていませんが、それも付け加えていきます。

現金出納帳を会計ソフトにインポートする①のおさらい

今までざっとExcelの現金出納帳を会計ソフトにインポートする方法
を解説してきました。

Excelのデータを生かすことで、
①残高が必ず合う
②日付、摘要の入力が不要
という二つのメリットを通じて、入力作業を削減することができます。

この方法は、データの量が増えれば増えるほどそのメリットを発揮します。

またネットバンキングのデータを会計ソフトにインポートするときにも応用できます。

しかしこれはまだまだ序の口。

ExcelVBAを使えば、ワンクリックでこの動作を全て完了させることも
科目の判別もすることができます。

とりあえず今までの内容は手っ取り早く使えるテクニックだと思うので是非
試してみて下さい。

日付の修正

お客さんのほうで、独自の形式でExcelで現金出納帳を付けている場合に、よくある点として
日付が、月と日でセルが違うケースがあります。
1306181
そんなときは、date関数を使って、月と日を結合して一つのセルにまとめます。

そして一つにまとめたセルをインポートのフォーマットにコピーするときの注意点です。
普通にコピー貼り付けをしてしまうと、コピーしているのは数式なので、そのままコピーするとエラーになってしまいます。

そうならないために、コピーする際に、「形式を選択して貼付け」で「値」を選択して貼り付けます。
1306182
こうすることで、数式の値を貼り付けることができます。

CSVファイルとして保存する方法

会計ソフトにインポートするときは、基本的にCSV形式で保存する必要があります。

ではどうやってCSV形式にするか説明します。

1306175

CSVファイルへの変換は、「名前を付けて保存」で、保存するときのファイルの種類を
CSV(カンマ区切り)を選択し、保存をクリックして下さい。

これでCSV形式で保存することができました。
あとは、会計ソフトからインポートをかける際に、このCSVファイルを選択して下さい。

Excel現金出納帳の摘要の入力の仕方

摘要の入力の仕方はどちらが効率よく会計ソフトにインポートできるでしょうか?
1306171
一般的には左側の、①どこで ②何を が一般的です。
しかし、効率を考えると、右側の①何を ②どこで の並びに変えた方が効率がいいです。

これを摘要を基準に並べ替えます。 
1306172
違いがわかりますか?
では、どちらが科目ごとに並んでいるかというと、右側の①何を②どこでの並びです。

ですので、現金出納帳のデータを入金出金順に並べ替えるときに、レベルを一つ追加して、摘要についても
並べ替えを同時にかけます。
1306173
並べかえたデータをあとは貼り付けるだけです。

「何を」を基準に並べ替えをしたので、切手は切手で、印紙は印紙でまとまっています。
1306174
こうしておけば、現金出納帳の科目の変更も、Excelでできて更に効率があがります。

現金出納帳のデータを会計ソフトにインポートする方法①

現金出納帳のデータを会計ソフトにインポートできるようにフォーマットを整えます。
会計ソフトによってフォーマットが異なるので、その点はご使用のソフトのマニュアルをご覧ください。
図1 出納帳のサンプル
1306161
このデータを最初に入金の仕訳と出金の仕訳に区別します。
図2 
1306162
A列からD列のデータのある範囲を選択し、データタブの並べ替えをクリック。
図3
1306163
C列を基準に昇順で並べ替えをし、入金取引を上に、出金取引を下に並べ替えます。
図4
1306164
あとは、これを会計ソフトのインポート用のフォーマットに貼り付けます。

科目コードについては、入金取引の借方科目が現金の科目コードを、
出金取引の貸方科目が現金の科目コードが入ります。

残りは、その相手科目ですが、とりあえず諸口のコードを入れて会計ソフトにインポート
して、会計ソフトの方で科目コードを変更します。

これが一番簡単な会計ソフトへのインポートの仕方になります。

インポートの仕方は会計ソフトのマニュアルをご覧ください。