3つ聞きたいです。

ユーザーフォームのテキストボックスに記入した内容を
最終行を取得して、指定の列にコメントを入力させるためには
どうするのがいいでしょうか。下記で、エラーが出てしまいます。
.cells(lrow + 1, "c").addcomment = textbox5.value

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

あと、ショートカットキーで(例えば、CTRL + Q)
ユーザーフォームを起動させるにはどうすればよいですか。
するとしたら、そのコードはどこに表示させるのがいいでしょうか。

いろいろ、お願いですが教示お願いします。

A 回答 (2件)

質問者は難しいことを聞いている。

処理の流れによっての難しさがはっきり意識されていないと思う。
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記事を修正する術を身につけてほしい
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
すっきりできました。

わけようと思ってましたが、わけてしまって逆に大変かと思って
まとめしまいました。
申し訳ありません。
また、質問の仕方に関しても不適切で申し訳ありません。

ただ、解説書やWEB検索でも、行き詰ったためにこの場で
質問いたしました、私はそういうためにこの掲示板が
あると思って利用しております。
経験や知識がなければ修正も何もならないと思います。

お礼日時:2009/05/13 18:09

>それと、一つのテキストボックスの内容を複数の


>セルへ記入させるには、下記をどうすればいいですか。
>.cells(lrow + 1, "X:Z").value = textbox6.value

Resizeするとか。
.Cells(lrow + 1,"X").Resize( ,3).Value = textbox6.Text
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/06/05 18:57

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


人気Q&Aランキング