繰返し処理と変数の使い方②

A列が空白になるまで、④と⑤の処理を繰り返します。

④は Cells(a, 2).Value = “Excel” です。

aは②でa=1としているので、Cells(a, 2)は、Cells(1, 2) つまりB1です。
B1に”Excel”という値を代入します。

⑤で a = a + 1 で、a=2となります。

そして③に戻ります。今度Cells(a, 1)は、Cells(2, 1) つまりA2です。
A2は空白ではないので、また④と⑤の処理を繰り返します。
aは2なので、Cells(a, 2)は、Cells(2, 2) つまりB2です。
B2に”Excel”という値を代入します。
⑤で a = a + 1 で、a=3となります。

また③に戻ります。今度Cells(a, 1)は、Cells(3, 1) つまりA3です。
A3は空白ではないので、また④と⑤の処理を繰り返します。
aは3なので、Cells(a, 2)は、Cells(3, 2) つまりB3です。
B3に”Excel”という値を代入します。
⑤で a = a + 1 で、a=4となります。

・・・・
⑤で a = a + 1 で、a=10となります。

また③に戻ります。今度Cells(a, 1)は、Cells(10, 1) つまりA10です。
A10は空白ではないので、また④と⑤の処理を繰り返します。
aは10なので、Cells(a, 2)は、Cells(10, 2) つまりB10です。
B10に”Excel”という値を代入します。
⑤で a = a + 1 で、a=11となります。

また③に戻ります。今度Cells(a, 1)は、Cells(11, 1) つまりA11です。
A11は空白なので、条件を満たしたので繰返し処理は終わりです。

これが演算処理の概要です。

aがどのように変化し、どのセルを参照しているのかしっかりと追って下さい。

繰り返し処理と変数の使い方①

前回、セルの操作方法を解説しました。
セルの指定方法は、
A2→Cells(2,1)
B1→Cells(1,2)
というように、恐らく印象としては通常と行と列が逆だと感じます。
ですので、先に行、後で列 と覚えて下さい

今回は繰り返し処理と変数を解説します。
図のようにA1~A10に1,2,3,・・・10と数字を入れてください。

この数字のあるセルのB列に「Excel」という文字を入れていきます。

1306221
VBAのコードは次のようになります。

Sub Excel入力()
① Dim a As Integer
② a = 1
③ Do Until Cells(a, 1).Value = “”
④  Cells(a, 2).Value = “Excel”
⑤  a = a + 1
⑥ Loop
End Sub

まず最初に変数の使い方ですが、
①でこれから「a」という変数を使うと宣言します。
変数には、数値型、テキスト型等いろいろあり、さらに数値型にも何種類か
型がありますが、変数の宣言の仕方は

Dim 変数の名前 As Integer

これだけ覚えて下さい。

そして②で初期値として変数aの値を「1」とします。

③の意味は、Cells(a,1)はA列です(列を1で固定しているため)。
日本語に訳すと、
実行しなさい、A列が空白になるまで 
です。

何を実行するかというと、③Do untilと⑥Loopの間に挟まれた処理です。
つまり④と⑤を実行します。

とりあえず今回はここまで。

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ファイルを選択して下さい。