プロが教える店舗&オフィスのセキュリティ対策術

OS:Windows Me
ソフト:エクセル2000

同じ内容のデータをもち、それぞれレコード数が異なり、フィールド数が同じ複数のブックがあります。
それぞれのブックを同じ内容で分析するため空の複数セルに数式を入力しましたが、最終行まで繰り返し数式のコピーができるマクロを教えてください。

A 回答 (1件)

こんにちは。



ちょっとご質問が解かりづらいです。
例えば、どこかの範囲(仮にA1からA100まで)を選択してから、下記を実行すると隣のセルへの参照式が入ります。

Sub Test()
 Selection = "=" & Selection.Cells(1, 1).Offset(0, 1).Address(0, 0)
End Sub

最終行までの繰り返しって事ですが、最終行の判定方法が解からないと処理出来ないのです。
例えば、B1からBxxまではデータが入力済みで、B列の最後を判定してC1からCxxまで参照式を入れる場合は、下記の感じです。

Sub Test2()
 Range("C1:C" & Range("B65536").End(xlUp).Row) = "=B1"
End Sub

テスト環境で試してみて下さい。

この回答への補足

ありがとうございました  
早速ですが、
  Sub Test2()
    Range("C1:C" & Range("B65536").End(xlUp).Row) = "=B1"
  End Sub
でテストしてみました。最終行を判定し、隣のフィールドに貼付けができました。
"=B1"のダブルクォーテーションの中に数式を入れれば良いのですね
ホントにありがとうございました。
そこで、さらに質問したいのですが・・・

 例えば、B1からBxxまではデータが入力済みで、B列の最後を判定してC1からGxxまで参照式を入れる場合は・・・
    Range("C1:C" & Range("B65536").End(xlUp).Row) = "=数式"
    Range("D1:D" & Range("B65536").End(xlUp).Row) = "=数式"
    Range("E1:E" & Range("B65536").End(xlUp).Row) = "=数式"
    Range("F1:F" & Range("B65536").End(xlUp).Row) = "=数式"
    Range("G1:G" & Range("B65536").End(xlUp).Row) = "=数式"
と作成すればできるということになりますよね。

この入力を省略するために、C1:F1にあらかじめ数式を入力しておいて、これをコピーして最終行までペーストしたいのですが・・・自分でもpapayukaさんの回答を参考に試みてみましたが、うまくいきませんでした。よろしかったら補足への回答をお待ちしています。

補足日時:2002/07/11 22:35
    • good
    • 0

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