[過去ログ] VBAなんでも質問スレ Part2 [転載禁止]©2ch.net (1002レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
42(1): 2015/07/07(火)05:36 ID:PlDHyacp(1/8) AAS
>>40
ああ、ごめん
「ありえない」じゃなくて「あまりない」だったか
どっちにせよレアケースではないのでそこが重要とは思わんけど
>>41
おれも「ひとつの手」だといってますよね?
ということはそれが絶対ということではないですよ。
まぁ、全部直値で指定する場合の変更コストとOffsetで記述した場合の変更コストが
それほど変わるとも思えませんが。
>>29のっぽい例で言えば
工事_A = "AO1" → 工事_A = "AO2"
工事_B = "AP1" → 工事_B = "AP2"
工事_C = "AQ1" → 工事_C = "AQ2"
・・・
というのが
工事_A = "AO1" → 工事_A = "AO2"
工事_B = Range(工事_A).Offset(0,1) → 工事_B = Range(工事_A).Offset(1,1)
工事_C = Range(工事_A).Offset(0,2) → 工事_C = Range(工事_A).Offset(1,2)
・・・
になる程度の話でしょ?
んでもって、何もわからない誰かに保守を引き継ぐのであれば表のレイアウトについてはコメントに書いておくべき物じゃないですかね?
後任の人があらかじめ何の予備知識もないなら全部の要素を直接指定しているのかそうでないか自体、
少なくともコードを全部読まなきゃ判断できないわけで、それなら相対指定で書いてもおなじことです。
43: 2015/07/07(火)05:42 ID:PlDHyacp(2/8) AAS
やべ、工事_AだけRangeで指定してなかったし、全体をずらすだけなら
工事_B以降には変更ないわ
工事_A = Range("AO1") → 工事_A = Range("AO2")
工事_B = Range(工事_A).Offset(0,1) → 工事_B = Range(工事_A).Offset(0,1)
工事_C = Range(工事_A).Offset(0,2) → 工事_C = Range(工事_A).Offset(0,2)
・・・
44: 2015/07/07(火)05:48 ID:PlDHyacp(3/8) AAS
さらに間違ってた
工事_AがRange型ならそれ以降にRange(工事_A)なんて書く必要なかった
まぁ、何も知らずにコードを読んで表のレイアウトを理解できるかどうかとか
表の変更にかかるコストとかには大して影響ない話だけど
46(1): 2015/07/07(火)08:33 ID:PlDHyacp(4/8) AAS
>>45
とにかく、コストがさほど変わらん以上、そういうことは重要ではないよね、
って言ってるんだけどそれが論理的に理解できない人なの?
んで、Offsetで(R1C1形式で)書くのがいやなら
RangeでA1形式で書けばいいじゃん
そんなの瑣末なことでしょ
あと、間違えたのは夜中にトイレで起きたときに書き込んだからで
たぶんあのときだとどっちで書いても間違えてる
(普段からR1C1形式で書くのでどっちかってーと俺はA1形式のほうが間違える)
49(3): 2015/07/07(火)13:20 ID:PlDHyacp(5/8) AAS
>>48
全体を動かす際のコストは明らかに相対参照のほうが上で、
レイアウト変更ならどっちもどっち、って話だよ。
俺個人としては表の各要素の絶対座標よりも表のレイアウト内での相対位置のほうが
重要だと思うんで可読性は相対表記のほうが上だと思う。
もちろん、range("E3").Range("G4")とは書かないよ
だからこそのOffset表記なんであって
仮に書くなら
工事_A = Range("G4")
工事_B = 工事_A.Offset(0,1)
みたいに書けば表の中での位置関係が分りやすい(、と思うってだけなんだけどね)
んでさ、一々相手の人格攻撃するのは止さないか?
反論するのは難しくないけどめんどくさいし
貴方にとっても内容を論理的に言うこと以外に自説の説得力を増す手法なんてないよ
51(1): 2015/07/07(火)16:28 ID:PlDHyacp(6/8) AAS
>>50
>どっちが可読性が高いかとか考えないのか?
うん、だからOffsetのほうが読みやすいよ
>レスしないという自由
は確かにあるし
君にも好き勝手な方言を垂れ流す手段(自由や権利ではない)はあるんだけど、
こうやってきちんと反論しといたほうが良さそうなんで仕方ないからそうしてる
52: 2015/07/07(火)16:29 ID:PlDHyacp(7/8) AAS
変換ミスしちゃった
×方言
○放言
54(3): 2015/07/07(火)18:35 ID:PlDHyacp(8/8) AAS
>>53
絶対アドレスが必要ならそうだけど
通常は表内部のレイアウトが問題なんだから
絶対アドレスは気にする必要ないよね?
それともいちいち「何々の項目はF5だ」とか気にして作業してるの?
俺は「表の1列目は@@@の項目で、2列目は***の項目だ」みたいな捉え方はするけど
絶対アドレスが必要になったことなんてないよ
変換ミスについてはまぁ申し訳ない、だけどそれは議論の結果には影響ないと思う。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.041s