3

私は最前線の技術者です。マクロコーディングは初めてではありませんが、私の経験のほとんどはWordPerfectマクロです。一連のファイル内の範囲を選択して操作するExcelマクロをコーディングしようとしています。必要な範囲は、一定の列のセットですが、可変の行のセットです。静的な値は開始行と終了行をマークしますが、これらの行はデータファイルごとに異なります。

私が抱えている問題は、マクロを記録するときに、XLがカーソルの動き(Ctrl-Up、Ctrl-Shift-Homeなど)を記録せず、操作している絶対セルアドレスを記録することです。開始行と終了行はデータファイルごとに異なるため、絶対セル参照は機能しません。誰かが私がこれにどのようにアプローチできるか/すべきかについてのヒントを提供できますか?

よろしくお願いします、ジェームズ

4

2 に答える 2

3
Dim rng as Range

With ActiveSheet
    'Ctrl+Arrow
    Set rng = .Range("A10000").End(xlUp) 'CTRL+Up arrow
    Set rng = .Range("A1").End(xlDown) 'CTRL+Down arrow
    Set rng = .Range("Z1").End(xlToLeft) 'CTRL+Left arrow
    Set rng = .Range("A1").End(xlToRight) 'CTRL+Right arrow

    'Ctrl+Shift+Arrow
    Set rng = .Range(.Range("A1"),.Range("A1").End(xlDown)) 
    Set rng = .Range(.Range("A1"),.Range("A1").End(xlToRight))

End With
于 2012-10-16T20:23:17.423 に答える
2

まず、Timの答えは完全に簡潔です-知っておくべきもう1つの優れた点は、相対参照を使用してマクロを記録することです-http://support.microsoft.com/kb/213740

課題は、マクロを記録するときに、デフォルトで絶対参照に設定されることです。相対参照ボタンを押すと、探していた結果が得られます。

これもお役に立てば幸いです。

于 2012-10-16T20:39:38.317 に答える