Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10全般 : Excel 2016)
Rangeの使い方
投稿日時: 19/11/26 12:38:33
投稿者: chokobanana

Rangeの使い方を教えてくれませんか
Range(列:列)をRange(セル:列)にするにはどうしたらいいのでしょうか
 
1.列の値をクリアにする
Range("B:B").ClearContents
  ↓
Range("B3:B").ClearContents
 
 
2.指定した条件に一致するセル取得する
Range("D:D").SpecialCells(2)
  ↓
Range("D3:D").SpecialCells(2)
 
このように修正をしてみましたが
実行時エラー”1004”
Rangeメソッドは失敗しましたGlobalオブジェクト
というエラーがでます。
 
 

回答
投稿日時: 19/11/26 13:05:48
投稿者: simple

念のために確認しますが、
Range(セル:列)とはどのような範囲ですか?
説明いただけますか?

投稿日時: 19/11/26 13:10:26
投稿者: chokobanana

>Range(セル:列)とはどのような範囲ですか?
 
3行目から最終行までです。

回答
投稿日時: 19/11/26 13:10:29
投稿者: hatena
投稿者のウェブサイトに移動

具体的にどのようなセル範囲を取得したいのでしょうか。
エスパーしてみて、
B列のB4から最終行までということでしょうか。
 
最近のエクセルなら、
Range("B4:B1048576")
 
バージョンを問わず使えるようにするなら、
 
Range("B4:B" % Rows.Count)
 
 

回答
投稿日時: 19/11/26 13:13:31
投稿者: hatena
投稿者のウェブサイトに移動

すでに返信が出ていました。
あと、タイプミスしてました。(;^ω^)
 
Range("B3:B" & Rows.Count)

回答
投稿日時: 19/11/26 13:26:45
投稿者: simple

回答ありがとうございました。
それに対する回答をすでにいただいています。
 
>3行目から最終行までです。
と説明を求めたのは、
それがコード作成するうえでヒントになるだろうと考えたからです。
ちょっと内職していて遅くなり、失礼しました。以上。

投稿日時: 19/11/26 13:36:50
投稿者: chokobanana

simpleさん、hatenaさん
 
ありがとうございます。
最終行をきちんと書いてあげないといけなかったんですね
 
何が問題か理解できました
 
 

投稿日時: 19/11/26 13:51:35
投稿者: chokobanana

無事に解決しました