- ベストアンサー
特定の列にのみダブルクリックでデータ入力したい
ダブルクリックしたセルにA1セルのデータが入力されるマクロで、C列のみデータ入力を受け付け、他の列では入力されない(何も起きない)、というマクロを教えていただきたいです。よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
説明が判りにくいのではなく,単純に「必要なこと(アナタのやりたいこと)が書かれていない」だけです。 アナタの頭の中(だけ)にあることを,しっかり目に見えるようにお話しください。 とはいえあとは既に回答した内容の単なるバリエーションなので,残りはご自分で応用して作成してください。 手順: シート名タブを右クリックしてコードの表示を選ぶ 現れたシートに下記をコピー貼り付ける private sub worksheet_beforedoubleclick(byval Target as excel.range, cancel as boolean) if target.column = 3 then target = "勤務" cancel = true end if end sub C列をWクリックすると勤務が入力される。
その他の回答 (2)
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! 横からお邪魔します。 No.1さんの補足に >A1セルのデータは『勤務(日付+AorB)』、C列は勤務を記入する列になっています とあるので、C列をダブルクリックするとA1セルのデータを表示すれば良いわけですかね? 一応そういうことだとして・・・ A1セルがどのような表示になっているのか判らないのですが、 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Target.Column = 3 Then Target = Range("A1") End If End Sub こんな感じですかね? もしそうであれば、keithinさんがNo.2で回答されている内容ほとんどそのまんまです。 的外れならごめんなさいね。m(__)m
- keithin
- ベストアンサー率66% (5278/7941)
>データ入力を受け付け 具体的に「どうしたい」のですか。 手順: C列を列選択してから右クリック,セルの書式設定の保護のタブでロックのチェックを外す ツールメニューの保護で(Excel2007以降ではホームタブの書式▼で)シートを保護しておく シート名タブを右クリックしてコードの表示を選ぶ 現れたシートに下記をコピー貼り付ける private sub worksheet_beforedoubleclick(byval Target as excel.range, cancel as boolean) if target.column <> 3 then cancel = true end if end sub ファイルメニューから終了してエクセルに戻る C列のセルでWクリックすると,『セルにデータ入力を受け付ける』。 他の列のセルでWクリックしても何も起こらない。
補足
説明がわかり難くてすいませんでした。 具体的には仕事の引継ぎシートを作りたく、A1セルのデータは『勤務(日付+AorB)』、C列は勤務を記入する列になっています。ダブルクリックで勤務が入力されるととても楽なのですが他の列でダブルクリックした時も同様に入力されると困るのでC列限定に出来ないものかと考えています。 よろしくお願いします。
お礼
早速の解答ありがとうございます。とても参考になり助かりました。今回はありがとうございました。