[[20070116100023]] 『複数の列を選択したい』(たけちゃん) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『複数の列を選択したい』(たけちゃん)
 教えて下さい。
 下記のコードのように、複数の行や列を、変数を使って選択したいと
 考えています。

 複数の行なら、Test1 でOK。
 1列だけなら、Test2 でOK。
 複数の列でも、Test3 はOK。

 しかし、複数の列を数値変数を使って選択しようとすると
 エラーになります(Test4)。

 Test1〜Test3 がOKであるにもかかわらず、Test4だけNGなのは
 なぜでしょうか。 R1C1参照形式の関係でもありませんでした。

 どうやったら、複数列を数値変数を使って選択できますか。
 よろしくお願いします。
 Excel2000、XPです。

    '--- Test1 ---
    x = 1
    y = 5
    Rows(x & ":" & y).Select
    'これはOK

    '--- Test2 ---
    x = 1
    Columns(x).Select
    'これはOK

    '--- Test3 ---
    x = "A"
    y = "E"
    Columns(x & ":" & y).Select
    'これはOK

    '--- Test4 ---
    x = 1
    y = 5
    Columns(x & ":" & y).Select
    'これはNG:アプリケーション定義またはオブジェクト定義のエラー発生

 '--- Test4 ---
 x = 1
 y = 5
 Range(Cells(1, x), Cells(1, y)).EntireColumn.Select

 Columns("1:5").Select がエラーになる以上、↑こんな書き方に
 なるんですかね?
(純丸)(o^-')b

    '--- Test4 ---
    x1 = 1
    y1 = 5
    x = ・・・( x1     関数で1をAに 変換 
   Columns(x & ":" & y).Select


 ↑どなたでしょう? HNをお願いします。
 それも一法ですね。ただ、AA列 以上が簡単に指定出来ないのが難点です。
 「列」ではなく「セル範囲」なら、
 Range(Cells(1, x), Cells(Rows.Count, y)).Select と書けます。
(純丸)(o^-')b

 回答ありがとうございます。
 「Range」を使用する方法は分かっていたのですが、「Columns」を使いたかったのです。

 Test4 だけうまくいかないのが合点がいかないものですから。
 何か簡単でうまい方法はないですかねー。
 (たけちゃん)

 "1:5" は「一行目から五行目」を現すセル範囲の暗黙に定義された名前です。
列単位のRangeオブジェクトを返すColumnsで行範囲の名前を指定するのだから、
列範囲を取得するには不適当。
 
    x = 1
    y = 5
    Columns(x).Resize(, y - x + 1).Select
 
理屈はこれでも合うけど、考えすぎ?
(みやほりん)(-_∂)b

 こんな感じでは?

 Dim x, y
 x = 1
 y = 10
 x = Replace(Cells(1,x).Address(0,0),"1","")
 y = Replace(Cells(1,y).Address(0,0),"1","")
 Columns(x & ":" & y).Select
 (seiya)

 そっか、Chr じゃなく Address 使えば AA列以降でも関係ありませんね。
(純丸)(o^-')b


 (純丸)さん、
 なーんだ...って感じですよね。
 でも、むりやり変換しなくても連続した列ならみやほりんさんの
 Resizeを使用したほうがすっきりしますよね?

 それと、HNの無い投稿は無視しましょうよ。ね?
 (seiya)

   x = 1
    y = 5
    x = mid(" A B C D E F G H I J K L M N O P QAA", x*2-1,2)     
    y = mid(" A B C D E F G H I J K L M N O P QAA", y*2-1,2)
   Columns(x & ":" & y).Select
    てな方法も
((JJ))

 みなさん有難うございました。勉強になりました。

 "1:5" は「一行目から五行目」を現すセル範囲の暗黙に定義された名前 なのですね。

 実現方法も理解できました。いろいろとあるものですね。またよろしくお願いします。
(たけちゃん)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.