![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
No.4ベストアンサー
- 回答日時:
一番重要な部分の説明を抜かしては拙いですね。
Sheet1のセルをダブルクリックして、UserFormを表示
TextBoxの値を、ActiveCellとSheet2,3のセルに代入
Sheet1のA1をダブルクリックした場合
Sheet2では、B2~
Sheet3では、C3~
'---------------------------------------------
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
UserForm1.Show
End Sub
'---------------------------------------
Private Sub CommandButton1_Click()
Dim R As Long
Dim C As Integer
R = ActiveCell.Row
C = ActiveCell.Column
ActiveCell.Value = TextBox1.Text
Sheets("Sheet2").Cells(R + 1, C + 1).Value = TextBox1.Text
Sheets("Sheet3").Cells(R + 2, C + 2).Value = TextBox1.Text
ActiveCell.Offset(1).Select
TextBox1.Text = ""
TextBox1.SetFocus
End Sub
'--------------------------------------------
ただ、実際には入力する列は決まっているはずなので
その列のセルをダブルクリックしたときのみマクロが実行されるようにした方がいいのではと。
例えば、ダブルクリックする列は、Sheet1のA列のみだとすると
'-------------------------------------
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column <> 1 Then Exit Sub
Cancel = True
UserForm1.Show
End Sub
'-------------------------------------
No.3
- 回答日時:
こうゆう事?
'ワークシートモジュールへ
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
UserForm1.Show
End Sub
'ユーザーフォームへ
Private Sub CommandButton1_Click()
ActiveCell = TextBox1.Value
ActiveCell.Offset(1).Select
End Sub
>他の質問を参照したのですが、どうも求めているものとは違う感じです。
この程度のこと、質問する人あまりいないでしょうから
この回答への補足
ご回答ありがとうございます。
詳しい内容は、回答2に記載しましたが、取得したセルの番地を
基準に、それぞれのワークシートの決められたセルへ値を転送しよう
かと考えています。
たとえば、シート1の(A、1)を基準にした場合、シート2の(B、2)
に値を転送する時に基準にしたセルから1列と1行移動した箇所へ、
これをシート3・4・・と展開したいと考えてます。
そしてユーザーフォームの一通りの項目を入力し、コマンドボタンで
各シートに値を転送したあと、次のユーザーフォームの入力で、自動的
に各シートの最初の位置から、1行下へ入力箇所を移動してこれを繰り
返していくという機能のものです。
長々とすいませんが、再度ご回答して頂けると助かります。
No.2
- 回答日時:
こんにちは、
読んでみると、だた、セルに普通に数字を入れたほうが
良い様な、、、
わざわざ、ユーザーフォームを利用する意味が
見えません。
普通に
1.選択セル上でダブルクリック
普通にセルをダブルクリック
2.ユーザーフォームが立ち上がる
省略、
3.ユーザーフォームの項目に値を入力
省略
4.コマンドボタンを押すと、入力した値が1で選択したセルに転送
選択したセルに値を入れる。
5.次に1の1行下のセルに移動し、また値を入力しコマンドボタンで
値を転送 以下5の繰り返し
選択セルに値を入れたら、リターンで、一行したのセルに移動。。
結果は、どのように、違うのですか。??
この回答への補足
アドバイスありがとうございます。
文章が長くなるのもどうかと思い、かなり省略して質問しました。
「わざわざ、ユーザーフォームを利用する意味が見えません。」
これは、ワークシートが全部で4枚あり、そのシートのそれぞれの
項目にユーザーフォームから一度に値を転送しようと考えています。
その際に、あるワークシートの基準となるセルの番地を取得し、
その番地からそれぞれのワークシートの何行目の何列目に値を転送
するべきかをプログラムしたいと考えてです。
確かにそれぞれに値を直接入力する方が良いのかも知れませんが、
シート・入力位置の選択をする手間を省けたらと思っています。
よい方法がありましたら、再度ご回答して頂けたら助かります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・【大喜利】【投稿~8/27】 こんなガソリンスタンド二度と来るか!なぜそう思った?
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・【お題】動物のキャッチフレーズ
- ・【お題】甲子園での思い出の残し方
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・自分用のお土産
- ・人生で一番お金がなかったとき
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・ちょっと先の未来クイズ第1問
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
特定のセルが空白だったら、そ...
-
i=cells(Rows.Count, 1)とi=cel...
-
DataGridViewのセルのItem設定...
-
ExcelVBAを使って、値...
-
エクセルvbaでチェックボックス...
-
VBA初心者です。次のVBAコード...
-
Excelで指定した日付から過去の...
-
特定の文字を条件に行挿入とそ...
-
Excel VBA、 別ブックの最終行...
-
VB.NETで、EXCELの右寄せ
-
screenupdatingが機能しなくて...
-
【Excel VBA】指定行以降をクリ...
-
Excle VBA Findメソッドについて
-
”戻り値”が変化したときに、マ...
-
TODAY()で設定したセルの日付...
-
指定した条件で行セルを非表示...
-
EXCEL VBA For to
-
VBAでセルをクリックする回...
-
エクセルVBAでのセル番地取得プ...
-
Excel vbaで特定の文字以外が入...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
i=cells(Rows.Count, 1)とi=cel...
-
ExcelVBAを使って、値...
-
【Excel VBA】指定行以降をクリ...
-
特定のセルが空白だったら、そ...
-
EXCELで変数をペーストしたい
-
Excelで指定した日付から過去の...
-
VBAの間違い教えて下さい
-
【Excel】指定したセルの名前で...
-
Excelのプルダウンで2列分の情...
-
エクセルVBAでコピーして順...
-
Excel VBA、 別ブックの最終行...
-
Excel vbaで特定の文字以外が入...
-
【VBA】指定したセルと同じ値で...
-
特定の文字を条件に行挿入とそ...
-
TODAY()で設定したセルの日付...
-
screenupdatingが機能しなくて...
-
VBA初心者です。次のVBAコード...
-
指定した条件で行セルを非表示...
-
VBAでセルをクリックする回...
-
DataGridViewの各セル幅を自由...
おすすめ情報