Excel VBA 質問スレ Part63

レス数が1000を超えています。これ以上書き込みはできません。
2019/09/16(月) 19:34:59.04ID:emfTAhXr0
!extend:checked:vvvvv:1000:512

ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK

※前スレ
Excel VBA 質問スレ Part62
https://mevius.5ch.net/test/read.cgi/tech/1561303297/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
974デフォルトの名無しさん (ワッチョイ a901-SL5O)
垢版 |
2019/12/01(日) 22:16:58.66ID:Mv7XM2680
アクセサ VBA

はい、なんもヒットしません
初心者に解説する場合、専門用語を使うってどうなの?
2019/12/01(日) 22:25:27.99ID:Enyr5Fgf0
プロパティに引数持てる言語はVB系の言語しかないのでそういうもんだと思うしかないような気がする
976デフォルトの名無しさん (ワッチョイ a901-SL5O)
垢版 |
2019/12/01(日) 22:28:21.62ID:Mv7XM2680
プロパティに引数もてるとか持てないとかはっきりしろよ…
2019/12/01(日) 22:29:04.82ID:lg6qJlYj0
>>972
おう、これは本気で行くしか無いぞ
>>973
そうじゃなくて、逆なんだ。vbaにはわざわざ引数が用意されている

プロパティの場合、引数じゃなく代入で済ませる方が自然なんだ

cells(1,1),value = "これを設定する"
A1に"これを設定する"という文字列が入る
この場合、プロパティに引数は使われていない。プロパティに直接代入している

本来ならこう書くべきだ
cells(1,1),value.setter("これを設定する")

この辺りはずっとsetter/getterを用意しようぜって流れが主流になった
2019/12/01(日) 22:32:32.45ID:pJZuHPp00
Range COMオブジェクト デフォルトプロパティ
でぐぐると良いかも
2019/12/01(日) 22:52:46.61ID:qadFHjVDx
>>974
VBA アクセサで普通にヒットするぞ
980デフォルトの名無しさん (ワッチョイ b1f1-uW/g)
垢版 |
2019/12/01(日) 23:25:29.33ID:19U1wNi50
>>979
「汗臭」で検索してないか?
2019/12/01(日) 23:43:26.99ID:lg6qJlYj0
>>980
君は生きている価値もないかな、と感じた
自分の存在価値を下げるような発言は謹んだ方が良いと思うよ
982デフォルトの名無しさん (ワッチョイ b1f1-uW/g)
垢版 |
2019/12/01(日) 23:46:59.48ID:19U1wNi50
>>981
なんだとこのツルッパゲ!
2019/12/01(日) 23:49:23.02ID:J+qwPBxd0
グラサンのハゲはここにこないのー?
2019/12/02(月) 06:20:27.87ID:jajTU6Llx
このあたりの話は自分でクラスを作ったことがなければ分からないと思う
ともあれ、質問者の意図は引数付きのプロパティ式で丸括弧を省略できるかどうかという話なんだろうから、出来ないという結論で締めて終わり
要するにRange("A1")をRange "A1" とは書けない
これだとRangeという名前のSubプロジージャに引数"A1"を与えるという全くデタラメな構文になる
2019/12/02(月) 10:25:16.60ID:9b18ESq8a
hage("A1")
986デフォルトの名無しさん (ワッチョイ b1f1-uW/g)
垢版 |
2019/12/02(月) 12:07:45.41ID:b+6W/5Or0
Tsuruppage("A1")
2019/12/02(月) 12:58:25.24ID:bEJSdplkd
初心者にとって感覚的に分かりやすいのは戻りを使う場合はカッコを使う。
戻りを使わない場合はカッコを使わない。
Call文だけ例外でカッコを使う。

で良いんじゃね?
988デフォルトの名無しさん (ワッチョイ a901-SL5O)
垢版 |
2019/12/02(月) 20:27:37.88ID:HFZWrDUD0
>>987
end(xlup)
戻り値ってなんだ?
2019/12/02(月) 20:40:04.97ID:4BXx3P/Mx
>>988
返り値は連続領域の下端のセルを表すRangeオブジェクトだよ
Microsoftの公式のリファレンスくらい読んだら?
2019/12/02(月) 20:41:20.57ID:4BXx3P/Mx
>>988
間違えた、xlupなら上端のセルだな
とにかく仕様理解のためには公式リファレンスに勝るものはないから返り値くらいはちゃんと調べたらいい
991デフォルトの名無しさん (ワッチョイ a901-SL5O)
垢版 |
2019/12/02(月) 21:03:22.49ID:HFZWrDUD0
>>990
ENDの()のどこが戻り値なのかきいてんだよ…
ガイジかよ
2019/12/02(月) 21:21:14.86ID:4BXx3P/Mx
>>991
戻り値の意味が分かってなくて草
Expression.End(Destination)っていう構文全体が戻り値を指し示してるんだが
993デフォルトの名無しさん (ワッチョイ a901-SL5O)
垢版 |
2019/12/02(月) 21:52:36.19ID:HFZWrDUD0
Cells(i, j).Borders(xlDiagonalDown).LineStyle = xlInsideHorizontal

わかりやすくな
プログラム初心者でもわかるように解説しろ
ボーダーには()でラインスタイルには=
どちらもプロパティなはず
なんで?
どれがなにの戻り値なの?ってのを
主語がなかったりテキトーなカタカナでごまかしてるのおおすぎ
2019/12/02(月) 22:05:27.19ID:gEmwbuWH0
日本語崩壊してて草
2019/12/02(月) 22:05:27.56ID:h5Kj2a0d0
北海道でスーパーハゲをしてるグラサンのおっさんこないのー?
2019/12/02(月) 22:13:40.36ID:4BXx3P/Mx
LineStyleプロパティは引数の指定を要求されないプロパティだから()による引数指定は要らない

かつ、Linestyleプロパティは値の読み取りの他に値の設定も可能なプロパティなので、代入演算子の = でxlLineStyle列挙体の定数を設定することにより、罫線の書式を設定できる

プロパティだから()が必要なんだとか=が必要なんだとかっていう単純な捉え方は理解の妨げになるからやめた方がよい

引数による要素の指定を要求/許容しているのか、値の読み取りだけでなく値の設定も出来るのかといった個々のプロパティの仕様の違いにより、式の書き方が変わるだけ
2019/12/02(月) 22:16:41.89ID:gEmwbuWH0
ってかこの一連の問題、すげー難しいよ
初心者を自覚してるならあまり深く考えないほうが良いと思う
得るものは少ない、ぱっと書き方だけ覚えてどんどん次へ進んだほうがいいような
2019/12/02(月) 22:17:27.68ID:4BXx3P/Mx
WorksheetオブジェクトのCellsプロパティなどは引数なしでも引数ありでも使用できるし、=で値も設定できる
()の要不要とか=を用いた代入の可否なんてプロパティの仕様によるとしか
2019/12/02(月) 22:20:20.67ID:ONNaKUnx0
>>993
こう説明したらわかる?

Cellsの戻り値に対して.Borders〜〜って事
Borders(xlDiagonalDown)の.LineStyleに対して = xlInsideHorizontalって事
1000デフォルトの名無しさん (ワッチョイ a901-SL5O)
垢版 |
2019/12/02(月) 22:20:29.46ID:HFZWrDUD0
>>996
引数の要求をされないプロパティ??
linestyleだけではエラーになるのでは?
レンジのラインスタイルです!だけは意味不明でしょ

値の設定?読み取り?
設定 罫線を引く?
読み取り ???
つまりどういうこと?

定数を設定??
bordersの引数も定数では?
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 77日 2時間 45分 30秒
レス数が1000を超えています。これ以上書き込みはできません。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況