【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード

初心者です。
同じ形式のデータを、項目ごと(フォームでつくった入力欄ごと、って言い方でわかりますでしょうか)にセルに振り分けて、
上から順にシート上に入力していきたいのです。
VBAマクロをつかって作ってみたのですが、一つの行に対してしか反映しないものしか作れませんでした。
何か良い方法はありませんか?

A 回答 (1件)

私も似たような作業をさせていますので、参考になれば幸いです。


例えば、入力フォームをUserform1、テキストボックスをtextbox1,2,3
と仮定した場合、それらの値を取得して、worksheet上に出力させる
には以下のようなコードが有効かと思います。
一番左側のWorksheetのA,B,C列に順にデータが追加されます。

Dim EndRow as integer
Dim i as integer

Worksheets(1).activate
EndRow = Cells(Activesheet.rows.count,1).end(xlup).Row

For i = 1 to 3
cells(EndRow,i).offset(1,0).value = Userform1.textbox(i).text
next i

worksheet名, cells番地などはご自分の目的に応じて変更してください。
TextBox以外にも応用可能です。

頑張ってください。

この回答への補足

先ほど試してみたのですが,(Private Sub OK_click の後に入力しました)
6行目
cells(EndRow,i).offset(1,0).value = Userform1.textbox(i).text
の所でエラーが出ます。(メソッドまたはデータがみつかりません、というコンパイルエラーです)

指定した名前は合っていて、どれだけ訂正しても出てくるんですが、原因で思い当たることはありませんか?

また、更に初歩的な質問で申し訳ないんですが、ワークシートから、作ったプライベートフォームはどうやって呼び出すんでしょうか?

よろしくお願い致します。

補足日時:2001/04/09 13:04
    • good
    • 0
この回答へのお礼

早速のお答え、ありがとうございます!!o(^-^)o
週明け、試してみますね。
結果、ご報告させていただきます。

お礼日時:2001/04/08 00:22

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!