こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

ユーザーフォームの値を結合セルに貼り付けるには?

よろしくお願いします。
ユーザー情報と言うシートのA2:ACの結合セルA2、D2とE2の結合セルD2、F2:J2までの結合セルF2、K2:L2の結合セルK2があります。

A2には名前、D2には年齢、F2には住所、K2には連絡先の項目があります。


ユーザー入力フォームはTextBox1に名前、TextBox2に年齢、TextBox3に住所、TextBox4に連絡先の入力個所を設けました。

保存コマンドボタンと、閉じるコマンドボタンを設置してあります。 以下のプロシージャーを保存コマンドボタンに割り当てて実行すると、TextBox4の連絡先の値がユーザー情報と言うシートのA3に入るだけです。

結合していなければ、順番に問題なく入るのですが、結合セルが複数あり、結合セルの個数が2個だったり、3個だったり、4個だったりする
場合、どうすればよいでしょうか?

Private Sub CommandButton1_Click()
Dim lastRow As Long
With Worksheets("ユーザー情報")
lastRow = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
.Cells(lastRow, 1) = Me.TextBox1.Text
.Cells(lastRow, 1) = Me.TextBox2.Text
.Cells(lastRow, 1) = Me.TextBox3.Text
.Cells(lastRow, 1) = Me.TextBox4.Text

End With
End Sub

投稿日時 - 2018-02-25 23:39:32

QNo.9432739

困ってます

質問者が選んだベストアンサー

.Cells(lastRow, "A") = Me.TextBox1.Text
.Cells(lastRow, "D") = Me.TextBox2.Text
.Cells(lastRow, "F") = Me.TextBox3.Text
.Cells(lastRow, "K") = Me.TextBox4.Text
にすればいいと思いますが。
結合セルは関係ないと思います。
なんで全て1になっているのか判りません。

投稿日時 - 2018-02-26 00:13:31

お礼

ご回答ありがとうございます。思い通りで出来ました。m(_ _)m

投稿日時 - 2018-02-26 16:09:36

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

いつも間違うんだけど

a,1 b,1 c,1 d,1 e,1
a,2 b,2 c,2 d,2 e,2
a,3 b,3 c,3 d,3 e,3

でしょ? 
でも、セルは cells(2,d) の順でしょ?(実際には 2,4 と記述)

.Cells(lastRow, 1) = Me.TextBox1.Text
.Cells(lastRow + 1, 1) = Me.TextBox2.Text
.Cells(lastRow + 2, 1) = Me.TextBox3.Text
.Cells(lastRow + 3, 1) = Me.TextBox4.Text ・・・・・でも、意味が違う


.Cells(lastRow, 1) = Me.TextBox1.Text
.Cells(lastRow, 4) = Me.TextBox2.Text
.Cells(lastRow, 6) = Me.TextBox3.Text
.Cells(lastRow, 11) = Me.TextBox4.Text ・・・・が正解だとして

(さらに、Me要らねんじゃね? ペアレント(親)が Worksheetだし)

結合したら、4 が 5、6 が 7、11 が 12に変わる・・・

んんん~

プログラム記述後は合体禁止

投稿日時 - 2018-02-26 08:20:22

お礼

ご回答ありがとうございます。結合した列の最初の番号を入れればいいんですね。Meのご指摘、ありがとうございます。そもそもMeの意味を分からず使用していました。もう少し勉強します。m(_ _)m

投稿日時 - 2018-02-26 16:12:29

あなたにオススメの質問