Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


57 / 13027 ツリー ←次へ | 前へ→

【79007】等間隔の行数取得 boss 17/4/13(木) 19:43 質問[未読]

【79037】Re:等間隔の行数取得 β 17/4/18(火) 10:56 発言[未読]

【79037】Re:等間隔の行数取得
発言  β  - 17/4/18(火) 10:56 -

引用なし
パスワード
   ▼boss さん:

説明では 

>K13、K20、K27・・・、と等間隔で「あああ」と入力されており、K列の最後に「最終」

とありますが、最終を求めるコードが K7 から下にさがしていますよね。
また あああ を求めるコードは K12 から下にさがしています。

K列 最終 となっているセルの下にも値があるのかどうか、等間隔の あああ は
ずっと等間隔で続いて存在するのか、どこか、本来存在するセルが空白で、でも、その下の等間隔の場所には
あああ が再び現れるのか、説明がないのでわかりませんが
少なくとも説明を踏まえるなら 最終 も あああ も K13 から K列のデータ最終セルまでの間をさがさなければ
いけないのではないですか?

さらに、あああ ですけど、(おそらく 最終 も?)等間隔で存在するということですけど
コードでは、間隔を無視して1行ずつチェックしてますよね。
等間隔ではないところに あああ や 最終 が、もし記述されていれば、そこが対象になりますけど
いいのでしょうかね?

何を言いたいかといいますと、やはり、要件を明確に言葉で説明いただかないと、コードが間違っていたとして
その間違ったコードをもとに、あれこれ議論しても、無駄になることが少なくないということです。

ところで、(等間隔 ということを無視すれば)あああ や 最終 は、行をすべてなめまわさなくても
Find や FindNext で取得できますよ。
等間隔ということを含めるなら 取得したセルの行番号をチェックして対象セルかどうかを判定すれば
よろしいかと。

それと、

MsgBox ("最終の行がありません" & vbLf & "処理を打ち切ります")

よく見かける 「間違い記述」です。
今回の記述では結果オーライですが、メッセージを ( ) で囲むのは、実は間違っています。
詳細は割愛しますが

MsgBox "最終の行がありません" & vbLf & "処理を打ち切ります"

と記述する習慣を早くつけられたらいいと思います。

57 / 13027 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free