>>148
ありがとう。
結局、想像でしかないけど、
obj.Range(obj.Cells(x, x), obj.Cells(x, x))
を独自関数
SelectionRangeCells(obj, obj.Cells(x, x), obj.Cells(x, x))
に置き換えると、こんな感じのことをしているのかね。
Function SelectionRangeCells(ByRef rng As Range, ByRef cell1 As Range, ByRef cell2 As Range) As Range
Dim startRow As Long
Dim endRow As Long
Dim startColumn As Long
Dim endColumn As Long
startRow = WorksheetFunction.Min(cell1.Row, cell2.Row)
endRow = WorksheetFunction.Max(cell1.Row, cell2.Row)
startColumn = WorksheetFunction.Min(cell1.Column, cell2.Column)
endColumn = WorksheetFunction.Max(cell1.Column, cell2.Column)
Set SelectionRangeCells = rng.Resize(endRow - startRow + 1, endColumn - startColumn + 1).Offset(startRow - 1, startColumn - 1)
End Function
obj.Range("A1")という形式の場合は公式ドキュメントに明確に書かれてるね。
https://msdn.microsoft.com/ja-jp/vba/excel-vba/articles/range-range-property-excel
obj.Range(obj.Cells(x, x), obj.Cells(x, x))
の場合はobj.Cells(x, x)が実体セルを指していてobjとの相対位置も分かってるわけだから
Rangeプロパティ内で相対参照を算出する実装方法も考えられるしそのほうが使う側は分かりやすいはずだけど
そう実装していないという明確な記述がどこにもなかったから実際に動かしてみての想像しかできなかった。
(ちなみに>>149がなにやら勘違いしているようだがCells(x, x)【Cells._Default(x, x)】が何を返すかを知りたかったわけではない)
探検
Excel VBA 質問スレ Part52
■ このスレッドは過去ログ倉庫に格納されています
150デフォルトの名無しさん
2018/02/11(日) 16:48:17.26■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 習政権、高市首相への態度硬化 台湾有事発言で連日非難 中国 ★11 [ぐれ★]
- 国内ホテル、既にキャンセルも 訪日客関連業界、事態見守る ★3 [蚤の市★]
- 日本損失1.7兆円に修正 中国渡航自粛の影響試算 [蚤の市★]
- 「どうしようもない」 ため息つくアジアの玄関口 中国の訪日自粛で−福岡市 [蚤の市★]
- 「アベノミクス」で投資対象と化したマンション ローンの低金利続き「年収の12倍」借りる20代出現 [蚤の市★]
- 食品の高騰対策、政府が交付金の「特別枠」検討 原則全ての自治体で [蚤の市★]
- 【超絶悲報】日本政府「高市さんの答弁撤回はない。政権として弱腰と映る姿勢は見せられない」これもう立憲岡田の議員辞職しかないだろ [519511584]
- 【実況】博衣こよりのえちえち朝こよ🧪
- 台湾「高市さんが台湾人の悲願を叶えてくれた!」これじゃ高市さん発言撤回できないぢゃん😰 [523957489]
- 高市周辺、さすがに焦り始めるww「小さな火種が火事になりかけている。早く鎮火しなくてはいけない」 [271912485]
- 【超悲報】中国への武力行使、世論調査で「賛成」「どちらかといえば賛成」48.8% 「反対」「どちらかといえば反対」の44.2%を上回る [314039747]
- 中国「高市が頭を下げて謝罪しない限り、絶対に許さない」 [329329848]
