ここから本文です

エクセルVBAについて質問です。

アバター

ID非公開さん

2016/4/1620:28:28

エクセルVBAについて質問です。

ユーザーフォーム内のテキストボックス( TextBox3)内に「S60.1.2」と入力されている和暦をシート1のCells(lastRow, 2)に「S」、Cells(lastRow, 3)に「60」、Cells(lastRow, 4)に「1」、Cells(lastRow, 5)に「2」とセルを分けて、転記しようとしているのですが、上手くいきません(汗)
セルを指定する方法は分かったのですが、最下行にするのが分かりません。。。

ご教授お願い致します。。。

転記は下記のように行っています。

Private Sub CommandButton1_Click() ’転記ボタン
Dim lastRow As Long
lastRow = Worksheets("Sheet1").Cells(Rows.Count, 2).End(xlUp).Row + 1 ’最下行
With Worksheets("Sheet1")
.Cells(lastRow, 1).Value = TextBox2.Text
.Cells(lastRow, 2).Value = TextBox3.Text ’和暦のテキストボックス
End With
End Sub

閲覧数:
56
回答数:
1

違反報告

ベストアンサーに選ばれた回答

nag********さん

2016/4/1622:37:04

以下のコードでどうでしょうか。

Private Sub CommandButton1_Click()
Dim lastRow As Long
Dim items() As String
Dim i As Integer
lastRow = Worksheets("Sheet1").Cells(Rows.Count, 2).End(xlUp).Row + 1 '最下行
With Worksheets("Sheet1")
.Cells(lastRow, 1).Value = TextBox2.Text
items = Split(TextBox3.Text, ".")
If UBound(items) = 2 Then
For i = 0 To UBound(items)
If i = 0 Then
.Cells(lastRow, 2).Value = Left(items(0), 1)
.Cells(lastRow, 3).Value = Mid(items(0), 2)
Else
Cells(lastRow, i + 3).Value = items(i)
End If
Next i
End If
End With
End Sub

アバター

質問した人からのコメント

2016/4/20 23:17:41

有難うございました!
助かります><

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる