【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?

閲覧ありがとうございます。
現在、エクセル2000(OS、WIN2KPRO)を用いて、以下のような仕様のマクロを組もうとしています。

1.Sheet1のCommandButton1から実行する。
2.Sheet2のA1セルから、O?セルまでのデータの入っているセルをコピーし、Sheet1のB4セル以下にペーストする。
3.O?セルの?は1000以下の値で変化する。
4.Sheet2のF列には、ユニークキーが入力される為、必ず値が入力されている。

上記の仕様に従い、以下のようなマクロを組みましたが、
> Worksheets("Sheet2").Range(Cells(1, 1), Cells(Line_Num, 15)).Select
のラインでエラーが発生します。

激しく独学の為、汚いソースですみません^^;
****************************************
Private Sub CommandButton1_Click()

Worksheets("Sheet2").Select
Worksheets("Sheet2").Activate

Dim Line_Num
Line_Num = 1000 - WorksheetFunction.CountBlank(Range("F1:F1000"))

Worksheets("Sheet2").Range("A1").Select
Worksheets("Sheet2").Range(Cells(1, 1), Cells(Line_Num, 15)).Select
Worksheets("Sheet2").Range(Cells(1, 1), Cells(Line_Num, 15)).Copy

Worksheets("Sheet1").Select
Worksheets("Sheet1").Activate
Range("B4").Select
ActiveSheet.Paste

End Sub

A 回答 (1件)

どのシートのCellsかを記述していないのが原因ではないでしょうか。

なお、少し手を加えてコンパクトにしてみました。動作を確認してみてください。

Private Sub CommandButton1_Click()
Dim Line_Num
ActiveCell.Activate
With Sheets("Sheet2")
  Line_Num = .Range(.Cells(.Rows.Count, 6) _
   .End(xlUp).Address).Row
  .Range(.Cells(1, 1), .Cells(Line_Num, 15)) _
   .Copy
End With
Worksheets("Sheet1").Range(Cells(4, 2), _
 Cells(Line_Num + 3, 15 + 1)).PasteSpecial xlPasteAll
End Sub


win2000 excel2000動作
    • good
    • 0
この回答へのお礼

ありがとうございます!
動作を確認しました。独学の限界を感じる今日この頃、いろいろ参考になるソースをありがとうございます。

お礼日時:2004/02/16 19:13

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