• ベストアンサー

テキストボックスをセルへ。

3つ聞きたいです。 ユーザーフォームのテキストボックスに記入した内容を 最終行を取得して、指定の列にコメントを入力させるためには どうするのがいいでしょうか。下記で、エラーが出てしまいます。 .cells(lrow + 1, "c").addcomment = textbox5.value それと、一つのテキストボックスの内容を複数の セルへ記入させるには、下記をどうすればいいですか。 .cells(lrow + 1, "X:Z").value = textbox6.value あと、ショートカットキーで(例えば、CTRL + Q) ユーザーフォームを起動させるにはどうすればよいですか。 するとしたら、そのコードはどこに表示させるのがいいでしょうか。 いろいろ、お願いですが教示お願いします。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.1

質問者は難しいことを聞いている。処理の流れによっての難しさがはっきり意識されていないと思う。 Userform1にテキストボックス、コマンドボタンを1つ貼り付け ユーザーフォームの実行 テキストボックスに文字列を入れる ボタンをクリック (ここまで質問に書くこと) でシートにコメント設定(A列の最終行の例) Private Sub CommandButton1_Click() t = UserForm1.TextBox1.Text MsgBox t d = Worksheets("Sheet1").Range("A65536").End(xlUp).Row With Worksheets("Sheet1") .Range("A" & d + 1).AddComment .Range("A" & d + 1).Comment.Text Text:=t End With End Sub ーー 複数のセルに値代入するなんてどこが疑問か、3セルなら3行書いたら仕舞いでは。 Private Sub CommandButton1_Click() t = UserForm1.TextBox1.Text MsgBox t Worksheets("Sheet1").Cells(3, "B") = t Worksheets("Sheet1").Cells(5, "C") = t Worksheets("Sheet1").Cells(10, "A") = t End Sub ーー ショートカットキーの設定はマクロの記録にある。 マクロの記録を、操作は何でもよい簡単なものから取り、そのときショートカットの登録を、「マクロの記録」ダイアロウグの画面で行い、コードの主要な中身を消して、 (もちろん標準モジュールの1つにに記録される) UserForm1.Show に置き換えた。 Sub Macro1() ' ' Macro1 Macro ' Keyboard Shortcut: Ctrl+Shift+Q UserForm1.Show End Sub === 質問はなるべく1テーマずつに分けてほしい。 VBAのやや前に進んだ状態と思うが、疑問が噴出するだろう2,3では収まらないはず。だから解説書や特にWEBで照会(検索語の工夫が肝心)し、自分の疑問にWEB記事を修正する術を身につけてほしい 。

pumifumi
質問者

お礼

回答ありがとうございました。 すっきりできました。 わけようと思ってましたが、わけてしまって逆に大変かと思って まとめしまいました。 申し訳ありません。 また、質問の仕方に関しても不適切で申し訳ありません。 ただ、解説書やWEB検索でも、行き詰ったためにこの場で 質問いたしました、私はそういうためにこの掲示板が あると思って利用しております。 経験や知識がなければ修正も何もならないと思います。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.2

>それと、一つのテキストボックスの内容を複数の >セルへ記入させるには、下記をどうすればいいですか。 >.cells(lrow + 1, "X:Z").value = textbox6.value Resizeするとか。 .Cells(lrow + 1,"X").Resize( ,3).Value = textbox6.Text

pumifumi
質問者

お礼

回答ありがとうごじざいます。 imogashiさんので解決しました。

すると、全ての回答が全文表示されます。

関連するQ&A