Excelの最近のブログ記事

時々度忘れするので、書き込み。

テキストファイルの操作。

 

Open ファイル名 For 開き方 As #ファイル番号

開き方について

開き方 処理 モード
 Input  読み込み 入力
 Output  書き込み 出力
 Append  書き込み 追加書き込み
 Random  読み込み/書き込み ランダムアクセス
 Binary  読み込み/書き込み バイナリ

 

書き込み読み込みについて

ステートメント  内容
Input #filenumber,変数 Inputモードで開いたファイルからデータを読み込んで変数に格納。カンマで区切ることで、複数の変数を指定できる。
Line Input #ファイル番号,変数 Inputモードで開いたファイルから行単位で読み込み、変数に代入します
Write #ファイル番号,書込内容 Output、Appendモードで開いたファイルにデータを書き込みます。出力したデータはカンマで区切られ、文字列は""で囲まれます。
Print #ファイル番号,書き込む内容 Outputモードで開いたファイルに、データを書き込む。Print毎に改行する。
「;」を付加すると改行しない。


エクセルで、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


式中

・セル内改行(LF)   CHAR(10)
・Space(半角空白)  CHAR(32)
・改行(CREnter)  CHAR(13)
・Tab  CHAR(9)
・Back Space  CHAR(8)

vba

・改行(CREnter)  vbCrLF
・Tab vbTab

・スペース space(文字数)


VBAで正規表現を使う には、RegExpオブジェクトをりする。

VBE(Visual Basic Editor)-ツール-参照設定で、

「Microsoft VBScript Regular Expressions 5.5」にチェックをつける。

RegExpオブジェクトについて

プロパティ 
・Pattern - 正規表現を定義するために使用される文字列。
・IgnoreCase - 大文字小文字を区別するかどうかを示す読み取り専用のブール値。
デフォルト: False。
・Global - 正規表現を文字列内のすべての可能なマッチに対してテストすべきかどうかを示す読み取り専用のブール値。
デフォルト: False


メソッド
・Test (文字列)
引数:文字列(検索文字列)
返値:boolean
正規表現がその文字列に対してマッチした場合には True を、そうでない場合には False

・Replace (検索文字列 置換文字列)
引数:2つの文字列、検索文字列 置換文字列
返値:文字列
検索文字列の中で正規表現のマッチに成功すると、そのマッチしたものを置換文字列に置き換えて、新しい文字列を返します。
マッチするものが見つからなかった場合は、元の検索文字列が返されます。

・Execute (検索文字列)
引数:文字列(検索文字列)
戻値:オブジェクト
成功したマッチの Matche オブジェクトを含んでいる Matches コレクション オブジェクトをかえす。

詳細は、

http://codezine.jp/a/article/aid/1655.aspx

 

 

 


このアーカイブについて

このページには、過去に書かれたブログ記事のうちExcelカテゴリに属しているものが含まれています。

前のカテゴリはcss&html&javascriptです。

次のカテゴリはGoogle Analyticsです。

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

Powered by Movable Type 4.01

カテゴリ

日本の借金時計


なかのひと


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

どこ?

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



Yahooログロール



ジオターゲッティング


ジオターゲティング

amazon