|
こんにちわ。初めて投稿させていただきます。
ちょっと解けない問題があり、是非お力添えをいただけたらと思います。
一応過去ログは検索してみましたが、私の知りたい内容は見つかりませんでした。
*やりたい事*
ユーザーフォームを使用し、テキストファイルから数値(16進法)で読み取った値を各セルに収納し、指定したセルに収納されている数値を読み取りテキストボックスに収納。という作業をやりたいと思っています。
*作成したVBA*
Private Sub CommandButton1_Click()
On Error Resume Next
Dim MyFileName As String
Dim MyData As String
Dim FileNumber As Integer
Dim Gyou As Long
Dim tmp, tmp2, i As Long
Dim Adress1, Adress2, Adress3, Adress4 As String
MyFileName = Application.GetOpenFilename _
(filefilter:="テキストファイル(*.txt),*.txt", _
Title:="テキストファイルの読み込みサンプル") 'テキストファイルを開く
If MyFileName = "False" Then Exit Sub
FileNumber = FreeFile(0)
Sheets.Add 'シートを追加
Open MyFileName For Input As #FileNumber 'ファイルを開く
Do While Not EOF(FileNumber)
Gyou = Gyou + 1
Line Input #FileNumber, MyData '1行づつデーターを読み込んで
ActiveSheet.Cells(Gyou, 1).Value = MyData '1行づつデーターを書き込む
tmp = Split(MyData, " ") '1行の文字列をスペースで区切る
For i = 0 To UBound(tmp)
tmp2 = Split(tmp(i), "=") '各要素を「=」で区切る
Cells(Gyou, i + 1) = tmp2(1)
Next i
Loop
Close #FileNumber 'ファイルを閉じる
Range("A1:H4").NumberFormatLocal = "00;[赤]00;00;@" '0の時に表示が1桁にならないようにする
Adress1 = Range("A1").Formula
Adress2 = Range("B1").Formula
Adress3 = Range("C1").Formula
Adress4 = Range("D1").Formula
'MsgBox (Adress2)
TextBox1.Text = (Adress1 & Adress2 & Adress3 & Adress4)
End Sub
*読み込むテキストファイル*
00=CD 01=00 02=05 03=15 04=88 05=0A 06=F5 07=87
08=9A 09=4B 10=E5 11=5D 12=A3 13=05 14=D0 15=09
*聞きたいこと*
上記のプログラムを実行するとコマンド1を押すとテキストボックス1にセルA1〜D1の数値が入力されます。(セルA1:CD,B1:00,C1:05,D1:15と表示されます。)
表示されるテキストボックス1内の数値は「CD0515」となります。
私が表示させたいと思っている物は「CD000515」としたいのです。
言葉で説明するならば、頭に0がついていた時も省略せずにそのまま表示させたいのです。
「".NumberFormatLocal = "00;[赤]00;00;@" 」を使用して出来ると思ったのですが、構文エラー等でてしまい、思ったとおりに出来ませんでした。
もし「こうすればいい!」などありましたら、回答いただけると助かります。
どうぞ、宜しくお願いいたします。
|
|