Excel VBA質問箱 IV

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

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


9076 / 13646 ツリー ←次へ | 前へ→

【29486】教えてください! AZ 05/10/6(木) 11:01 質問[未読]
【29491】Re:教えてください! awu 05/10/6(木) 12:29 回答[未読]
【29493】Re:ありがとうございました AZ 05/10/6(木) 13:07 お礼[未読]

【29486】教えてください!
質問  AZ  - 05/10/6(木) 11:01 -

引用なし
パスワード
   現在はじめてプログラムを組んで見たんですが
うまくいきません。下記に書いてみたんですが
行の改行がうまく行かないんですが何処が悪いんでしょうか?
どなたか 教えてもらえないでしょうか?

Private Sub CommandButton1_click()
  Sub 新規入力行()
    Worksheets("sheet1").Activate
    Range("A2" + 1).End(xlDown).Offset(1).Select
    
  End Sub
 
 
   With Range("A2")
    .Value = TextBox1.Value
    .Offset(0, 1).Value = TextBox2.Value
    .Offset(0, 2).Value = TextBox3.Value
    .Offset(0, 3).Value = TextBox4.Value
    .Offset(0, 4).Value = TextBox5.Value
    .Offset(0, 5).Value = TextBox6.Value
    .Offset(0, 6).Value = TextBox7.Value
    .Offset(0, 7).Value = TextBox8.Value
  End With

End Sub


  

【29491】Re:教えてください!
回答  awu  - 05/10/6(木) 12:29 -

引用なし
パスワード
   たぶん、ユーザーフォームに配置したコマンドボタンとテキストボックスでの
ことではないかと推察します。

提示のコードですと、「CommandButton1_click」プロシージャの中に
「新規入力行」プロシージャが入っていますが、コンパイル(構文)エラーに
なりませんか?  まぁ、単に写し違いと思いますが・・・

改行されないのは、With Range("A2") があるためにいつもA2が基準になって
しまい、新規入力行→Range("A2" + 1).End(xlDown).Offset(1).Selectが
反映されません。 + 1 が ?? ですが・・・

それで、こんな感じで如何でしょうか。

Private Sub CommandButton1_Click()
Dim N As Integer
Worksheets("Sheet1").Activate
With Range("A65536").End(xlUp).Offset(1)
  For N = 1 To 7
    .Offset(, N - 1).Value = Me.Controls("TextBox" & N).Value
    'Me.Controls("TextBox" & N).Value = "" '  ←入力後即消去の場合
  Next N
End With
End Sub

【29493】Re:ありがとうございました
お礼  AZ  - 05/10/6(木) 13:07 -

引用なし
パスワード
   awuさん ありがとうございました
確かに awuさんのプログラムでは動きましたが、
初心者の私には理解が出来ませんでしたが
勉強しながら 覚えていこうと思います。
本当にありがとうございました。

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