ELLの足跡

人は最後は一人だという・・・でも、・・・今は妻が傍にいてくれる・・・

Excel振替伝票の借方に入力したら貸方に対比する科目を自動記入

2015-10-13 | 日々のパソコン
私は仕事に関して便利にしようと思う時にExcelなどを使用して簡易ソフトを作ります。

ただ、哀しいことに私はVBAに関しては、かじり程度の知識しかありませんが、

それでも、こうしたいと思ったことがあればとことん調べつくします。

実は今回もこの根性で、一つの簡易ソフトをさらに便利に手直し出来ましたのでご紹介したいと思います。

振替伝票

例えば、左の図のように借方科目の部分に「売掛金」と入力したら

貸方科目の部分に「売上高」と入力するわけですが・・・

もしも、「売掛金」と入力した時に

貸方科目に自動的に「売上高」と表示されたとしたら

どんなに便利かと常々考えておりました。


セルに関数を・・・とも考えてみたのですが、これだと、お決まりじゃない言葉を入れる場合に関数を消してしまうことになります。

下記に書いた方法であれば、借方と貸方がお決まりのものでなければ削除して、新たに入力しても問題はありません。

先ず、表などを作ってあるExcelを開きます。
  1. Excelのリボン

    ①リボンの「開発」タブをクリックします。
     ※開発タブが表示されてない方はスピンボタンの設定方法を見て表示させてください。

    ②左端にある「Visual Basic」をクリック

  2. Visual Basicの画面が開きます

    左側の上「VBAProject」のSheet1(シート名を付けていればシート名)をダブルクリックします
  3. 下の画面に変わりますので
    worksheetの選択


    (General)と出ている窓枠の「▼」をクリック

    Worksheet」を選択します

    下の画面が開きます
    worksheetを選択した時の画面

  4. 開いた画面はそのままで、横にある窓枠の「▼」をクリック
    Changeを選択


    メニューの中から「Change」を選択します

    すると、下の画面が開きます
    Changeのコード

    赤枠の箇所を拡大すると下のようになっています
    Private Sub Worksheet_Change(ByVal Target As Range)
    (この間に、動作させるプログラムを書き込みます)
    End Sub

  5. 動作させるプログラム

    赤枠の中のプロフラムを拡大すると下のようになってます
     ※このプログラムは私の振替伝票のプログラムです。
    On Error GoTo ext1
    If Target.Column = 6 Then
    If Target = "" Then
    r = Target.Row
    Cells(r, "K") = ""
    Else
    r = Target.Row
    Cells(r, "K") = WorksheetFunction.VLookup(Target, Range("Q1:R20"), 2, False)
    End If
    End If
    ext1:

    振替伝票ソフトの説明

    • Target.column=6 入力列は6列目
    • Cells(r, "K") 自動入力するセルはK列
    • Vlookup関数で検索する範囲はQ1:R20 この範囲に必要なデータを記入しています
    ですから、コピーして赤文字の箇所を変更して頂ければこのまま即使用できると思います。
  6. これで入力してみたらK列に自動入力されました。
    自動入力ソフト完成

    私の場合、ミスなく動作をしてくれたらそれでいいので、間違っている部分があるのかも知れませんが今のところミスはありません。

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 網膜iPS移植、劇的な改善... | トップ | 「設定されてるから大丈夫」... »
最新の画像もっと見る

コメントを投稿

日々のパソコン」カテゴリの最新記事