- 締切済み
VBのテキストボックスの内容をExcelのセルに書き加える
VBを実行し、フォームのテキストボックスに入力された文字列を あらかじめ読み込んでおいた既存のExcelシートのセルに 書き足したいです。 そのExcelシートのセルにはすでに「001」などの数字が 入っているのですが、その数字の前に「AB01」などの文字列を付け加えたいのです。 自分なりに作ってみましたがうまくいきません。 とりあえずソースを載せます。 わかる方いらっしゃいましたらよろしくお願いします。 Private Sub Command1_Click() Set xlApp = CreateObject("Excel.Application") xlFileName = strFileName Set xlBook = xlApp.Workbooks.Open(xlFileName) Set xlNameSheet = xlBook.Sheets.Item(1) cnt = 0 i = xlNameSheet.Range("A1").CurrentRegion.Rows.Count For i = 1 To 65 shusseki = xlNameSheet.Cells(i, 5).Value If IsNumeric(shusseki) Then cnt = cnt + 1 For j = 1 To 5 xlNewSheet.Cells(cnt, j).Value = xlNameSheet.Cells(i, j).Value xlNewSheet.Cells(cnt, 1).Value = Form10.Text1 Next j End If Next i xlApp.Visible = True Set xlNameSheet = Nothing Set xlNewSheet = Nothing Set xlBook = Nothing Set xlApp = Nothing End Sub
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- ALGO-9
- ベストアンサー率66% (12/18)
「001」の前へ「AB01」を付け加えるって、 「AB01001」になることですかね。 文字結合してますか? セルの値を置換しているだけにみえるのですが、気のせいでしょうか。 ”うまくいかない”のなら、現状はどの様になっているのか記述しないと...
- taka_tetsu
- ベストアンサー率65% (1020/1553)
1.strFileNameの内容は? 2.編集したブックの保存は? 3.xlNewSheetってどこから出てきたの? 最低限、Option Explicitつけて変数の宣言は強制しましょう。
お礼
お返事ありがとうございます。 次回よりもっと詳しい説明を心掛けます。
お礼
回答ありがとうございました。 文字結合とは全然考えていませんでした。 おかげさまでうまく文字結合し表示することができました。