Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1659 / 13644 ツリー ←次へ | 前へ→

【72804】エクセルのマクロ「ユーザーフォーム」について教えてください。 みなみ 12/9/20(木) 11:52 質問[未読]
【72805】Re:エクセルのマクロ「ユーザーフォーム」... UO3 12/9/20(木) 12:03 発言[未読]
【72806】Re:エクセルのマクロ「ユーザーフォーム」... kanabun 12/9/20(木) 12:05 発言[未読]

【72804】エクセルのマクロ「ユーザーフォーム」に...
質問  みなみ  - 12/9/20(木) 11:52 -

引用なし
パスワード
   エクセルのマクロ「ユーザーフォーム」について教えてください。

エクセル2003を試用しています。
シートへの入力をユーザーフォームを使いしていこうと思い
本、ネットなどを調べながら作成しています。
初歩的な質問で申し訳ありませんが教えてください。

下記のようなコードでシートの6行目には入力されるのですが
次の入力をしても7行目に反映されず また6行目が書き換えられる状態になります。
順番に下の行に書き込みされるようにするには どのようなコードを追加すればいいのでしょうか?
いろいろ試してみたのですが うまく行きませんでした。

Private Sub demoEntry_Click()

'入力ボタン

Range("A6").Value = TextBox1.Value
Range("B6").Value = ComboBox1.Value
Range("C6").Value = ComboBox2.Value
Range("D6").Value = TextBox2.Value
Range("E6").Value = TextBox3.Value
Range("F6").Value = TextBox4.Value
Range("G6").Value = TextBox5.Value
Range("H6").Value = TextBox6.Value
Range("I6").Value = TextBox7.Value

Unload demo

End Sub

よろしくお願いします。

【72805】Re:エクセルのマクロ「ユーザーフォーム...
発言  UO3  - 12/9/20(木) 12:03 -

引用なし
パスワード
   ▼みなみ さん:

こんにちは

書込みしようとしているシートの実際のデータ最終行の【次の】行のセルに対して
書き込みましょう。
この行番号の取得方法はいろいろありますが、たとえば以下。
新規ブックの標準モジュールにコードを書いて、何度か実行して結果を確認してください。

Sub Sample()
  Dim z As Long
  
  With Sheets("Sheet1")  '書込み対象シート
    z = .UsedRange.Cells(.UsedRange.Cells.Count).Row + 1
    .Cells(z, "A").Value = Now()
  End With
  
End Sub

【72806】Re:エクセルのマクロ「ユーザーフォーム...
発言  kanabun  - 12/9/20(木) 12:05 -

引用なし
パスワード
   ▼みなみ さん:

>順番に下の行に書き込みされるようにするには どのようなコードを追加すればいいのでしょうか?

一例です

Private Sub demoEntry_Click()
  Dim r As Range
  Set r = Cells(Rows.Count, 1).End(xlUp).Offset(1)
  If r.Row < 6 Then Set r = Range("A6")
  
  r.Range("A1").Value = TextBox1.Value
  r.Range("B1").Value = ComboBox1.Value
  r.Range("C1").Value = ComboBox2.Value
  r.Range("D1").Value = TextBox2.Value
  r.Range("E1").Value = TextBox3.Value
  r.Range("F1").Value = TextBox4.Value
  r.Range("G1").Value = TextBox5.Value
  r.Range("H1").Value = TextBox6.Value
  r.Range("I1").Value = TextBox7.Value
  
  Unload Me

End Sub

1659 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free