[excel]エクセル ソートしないで、vlookupみたいのをやりたい。

エクセルで、vlookupは、参照される一覧のキーはソートされていなければならない。

何かとソートできないときがある。

その時にはマップを利用して解決。マップをグローバル宣言し、ブックオープン時、一気に登録する手順で行う。

今回は仕訳入力で、勘定科目コードを入れたら、勘定科目名を表示するようにする。

 

1)コード一覧(勘定科目コード一覧)のシートをつくる。

※コードはソートする必要はない。

 

勘定コード.GIF

2)マップを管理するモジュールをつくる。

コードは下記とおり

Public mapReCDFName As Object 'マップの宣言


Public Sub SetMapS()

    Dim key          As String
    Dim value        As String

    'データ投入
    '勘定科目CDをキー、値を勘定科目名とし、マップに登録する。
    Set mapReCDFName = CreateObject("Scripting.Dictionary")
    Sheets("勘定科目コード一覧").Activate
    For i = 1 To 10
        key = Cells(i, 1)
        value = Cells(i, 2)
        Call mapReCDFName.Add(key, value)
    Next

End Sub

 

Function ReKanzyouNameFCD(strCd As String) As String
    '勘定科目コードから勘定名を求める
    ReKanzyouNameFCD = mapReCDFName.Item(strCd)
End Function

3)ワークブックオープン時にマップ登録ルーチン(SetMapS)が走るようにする。

Private Sub Workbook_Open()
'ブックをオープン時、mapにキーと値を登録
   SetMapS
End Sub

 

4)入力シートで、ReKanzyouNameFCD関数を使い、求める(勘定科目名を)

入力.GIF

仕訳入力.xls

トラックバック(0)

このブログ記事を参照しているブログ一覧: [excel]エクセル ソートしないで、vlookupみたいのをやりたい。

このブログ記事に対するトラックバックURL: http://www.re-labo.com/mt/mt-tb.cgi/63

コメントする

このブログ記事について

このページは、ひろろが2008年8月25日 16:32に書いたブログ記事です。

ひとつ前のブログ記事は「[Windows][SQLServer]sqlserver2005で、インスタスをバッチから起動(停止)する。」です。

次のブログ記事は「[日記]Sky Aquarium」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 4.01

日本の借金時計


なかのひと


Firefox3 Meter
Chrome Counter 携帯アクセス解析

どこ?

どここjpの位置取得サービスを利用しています



Yahooログロール



ジオターゲッティング


ジオターゲティング

amazon