| 
    
     |  | ▼acec さん: 
 こんにちは
 
 手打ちタイプのミスだということは了解しました。
 
 さて仕切り直して。
 
 マクロを実行するには、様々な方法があります。
 で、acecさんがやろうとしておられるのは、シートにフォームツールのボタンを配置して
 そこにマクロを登録して、クリックしたときに実行させたいということですよね。
 
 一方、Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
 
 といったものは、まず記述の場所が、通常のマクロを記述する「標準モジュール」ではなく、
 シートモジュールという特殊なところです。で、その動きも特殊で、マクロを実行するのではなく
 シート上で、指定した動きがあったときに、自動的に実行されます。
 BeforeDoubleClick は、シート上の任意のセルをダブルクリックした時に、自動的に動きます。
 で、アップされたコードでやっているのは、ダブルクリックされたセルの行のA列〜C列の値を
 見積シートのD1:F1に転記します。たとえばクリックされたセルが10行目なら、A10:C10の値を転記します。
 
 再度アップされたコードがシートモジュール書かれていれば、エラーなく、目的が実行されるはずです。
 もし、エラーになるということであれば、エラーで止まった時に黄色く光っているコードがどこなのか
 そのときにどんなメッセージが出たかを教えてください。
 
 で、もし、そうじゃなく、ボタンに登録して、クリックして動かしたいんだということであれば
 まず、コードは「標準モジュール」に書きます。ただし、その形が
 Sub Micro3()
 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
 Cancel = True
 Sheets("見積").Range("D1:F1").Value = Target.EntireRow.Range("A1:C1").Value
 End Sub
 End Sub
 だったとしますと、具合が悪いですね。これだと「デバッグ」以前に、コンパイルエラーで
 コンパイラーから「しかられます」
 
 Sub から始まる1つのマクロは、必要なコードをかい多後、End Sub で終わる必要があります。
 ↑のコードだと、Sub Micro3() に対して、End Sub が出てくる前に、Subから始まる別のマクロ
 Private Sub Worksheet_BeforeDoubleClickが記述されていますので、
 Sub Micro3()にたいするEnd SUbがないよということになります。
 
 もし、acecさんのやろうとしておられることが
 ・あるセルを選択する。
 ・その状態でボタンをクリックする。
 ・クリックされたら選択されている行のA列〜C列の値を見積シートのD1:F1に転記させたい。
 こういうことであれば、
 
 Sub Sample()
 Sheets("見積").Range("D1:F1").Value = ActiveCell.EntireRow.Range("A1:C1").Value
 End Sub
 
 これを「標準モジュール」に記述して、ボタンに登録してください。
 
 さて、
 
 >それから、素人考えなのですが、
 >Sheets("見積").Range("D1:F1").Value = Target.EntireRow.Range("A1:C1").Value
 >だと、常にA1:C1のデータが取得されませんか?
 
 確かにこの書き方は、「ちょっとマニアック?」です。
 通常、A1といえば、シートの一番左上のA1という場所だと認識しています。
 本来は、ある領域.Range("A1") というのが正しい書き方で、これは、ある領域の左上隅から数えて
 最初の列、最初の行という意味なんです。単純に Range("A1") と書きますと
 標準モジュールで言えば、アクティブシートのセル全体.Range("A1") という意味になります。
 だから、いわゆる A1 を指すことになります。
 で、上のケースでは、ある領域というのが、Target.EntireRow つまり、それが10行目だとしたら
 10行目のセルが属する、その行全体 ということです。つまり10行目全体ですね。
 その10行目全体の、A1 というと、A10 のことですし、C1 というと C10 のことになります。
 (Aはその領域の1番目の列、Cは、その領域の3番目の列、1 はその領域の1番目の行)
 
 |  |