アプリ版:「スタンプのみでお礼する」機能のリリースについて

マクロ勉強中の初心者です。(OS:WindowsXP Excel2002)
データの範囲を指定してコピーしたいと思っています。
cellsを使って、【変数を用いた】
記述の仕方を、教えて下さい。

変数を用いない場合は、以下のようなマクロで正常に動作しました。

【変数を用いない場合】
  Sheets("Sheet2").Select
Range("F3:K3").Select
Selection.Copy
Sheets("Sheet1").Select
Range("C3").Select
ActiveSheet.Paste

A 回答 (3件)

こんにちは。

maruru01です。

変数を、row1、col1、row2、col2とすると、

Worksheets("Sheet2").Select
Range(Cells(row1, col1), Cells(row2, col2)).Copy

のようになります。
1つのセルの場合は、単に、

Cells(row1, col1)

でいいです。
    • good
    • 1
この回答へのお礼

有難うございました。

お礼日時:2003/07/03 17:39

こんにちは。



変数を用いる場合は、Cellsを用いると簡単だと思います。

基本的な書式は
 Cells(x,y).Select
のような形になります。
xは行番号をあらわし、yは列の番号(A列なら1)です。
また、変数の定義は、xもyも、通常Long型として定義します。


また、複数のセル範囲を選択する場合は、
Rangeと併用し、最初のセルと最後のセルを指定します。
 Range(Cells(x1, y1), Cells(x2, y2)).Select


行全体を選択するには
 Rows(x).Select

列全体を選択するには
 Columns(y).Select

のように指定します。
    • good
    • 0

回答自体は既に出ているので、Tipsというか余談です。

(笑)

多分、マクロの記録をしたら質問文のような感じで出てくると思いますが

Sheets("Sheet2").Range("F3:K3").Copy
Sheets("Sheet1").Range("C3").PasteSpecial

と、省略して書けますよ。
ロジックが長くなってきて見難い(醜い)と感じたら、省略していけばいいかな、と思います。

ほんとに余談ですので、こうした方がいいと言ってるわけじゃなく
こういう風にもできますよー、ってだけです。(^-^;
    • good
    • 0
この回答へのお礼

有難うございました。

お礼日時:2003/07/03 17:55

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

このQ&Aを見た人はこんなQ&Aも見ています