!extend:checked:vvvvv:1000:512
↑同じ内容を2行貼り付けるナリ
ExcelのVBAに関する質問スレナリ
コード書き込みや作成依頼もOKナリ
※前スレ
Excel VBA 質問スレ Part70
https://mevius.5ch.net/test/read.cgi/tech/1616072923/
Excel VBA 質問スレ Part71
https://mevius.5ch.net/test/read.cgi/tech/1621914481/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
Excel VBA 質問スレ Part72
レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん (スププ Sdaa-x2SP)
2021/07/18(日) 08:42:15.37ID:KskL7bEXd952デフォルトの名無しさん (ワッチョイ a95f-DZpR)
2021/09/10(金) 22:19:16.50ID:rrgK5Yqx0953デフォルトの名無しさん (ワッチョイ 66b0-FDYl)
2021/09/10(金) 22:20:43.81ID:oDrMz70O0 難癖つけててワロタ
954デフォルトの名無しさん (テテンテンテン MM3e-h3Yj)
2021/09/10(金) 22:37:14.80ID:sbKq7iyBM >>952
> Rangeって書かれても、どんな目的で何のRangeを変数に入れたのかが分かるように書くのが綺麗なコード
例えば指定された範囲にいくつかの装飾を適用する
Private Sub 装飾(Range As Range)
With Range
...
End With
End Sub
君なら引数の名前をどうする?
> Rangeって書かれても、どんな目的で何のRangeを変数に入れたのかが分かるように書くのが綺麗なコード
例えば指定された範囲にいくつかの装飾を適用する
Private Sub 装飾(Range As Range)
With Range
...
End With
End Sub
君なら引数の名前をどうする?
955デフォルトの名無しさん (ワッチョイ a95f-DZpR)
2021/09/10(金) 22:56:49.10ID:rrgK5Yqx0 Excelの装飾ってのがよくわからんけど、書式のこと?
関数っぽい書き方してるからこんなんでいいんじゃないの
Private Sub SetFormat_to_TargetRange(ByVal TargetRange As Range)
With TargetRange
...
End With
End Sub
関数っぽい書き方してるからこんなんでいいんじゃないの
Private Sub SetFormat_to_TargetRange(ByVal TargetRange As Range)
With TargetRange
...
End With
End Sub
956デフォルトの名無しさん (ワッチョイ b501-BHRH)
2021/09/10(金) 23:04:12.45ID:k/ICsAd30 文脈的に明らかならRange As Rangeいいと思うけどね。
あと、「Rangeオブジェクト」である以上の情報がない変数や引数に対して無理やり名づけようとしても、
結局TargetRange的な抽象的な名前になっちゃう事もある。
あと、「Rangeオブジェクト」である以上の情報がない変数や引数に対して無理やり名づけようとしても、
結局TargetRange的な抽象的な名前になっちゃう事もある。
957デフォルトの名無しさん (ワッチョイ b501-BHRH)
2021/09/10(金) 23:06:14.39ID:k/ICsAd30 >>955
流石にそれは冗長すぎて逆に読みにくいだろ・・・
流石にそれは冗長すぎて逆に読みにくいだろ・・・
958デフォルトの名無しさん (ワッチョイ 5e68-gxqX)
2021/09/10(金) 23:11:20.56ID:LHgBQKs+0 >>954
そこはtarget as rangeでいいと思う
一番読みやすい
自分しか使わない場合でもrange as rangeは使わないかな
vbaの場合、引数なしの関数と変数って見分けが付きにくい
ってかなんだこれエラーになるぞ
Sub foo()
Dim Calculate As Long
Calculate
End Sub
これはエラーにならない
Sub foo()
Dim Calculate As Long
End Sub
これもエラーにならない
Sub foo()
Calculate
End Sub
変数名と関数名がかぶると変数が優先される?
まぁ何にしろ、こんな事は避けたいから俺はかぶらないようにするけどね
そこはtarget as rangeでいいと思う
一番読みやすい
自分しか使わない場合でもrange as rangeは使わないかな
vbaの場合、引数なしの関数と変数って見分けが付きにくい
ってかなんだこれエラーになるぞ
Sub foo()
Dim Calculate As Long
Calculate
End Sub
これはエラーにならない
Sub foo()
Dim Calculate As Long
End Sub
これもエラーにならない
Sub foo()
Calculate
End Sub
変数名と関数名がかぶると変数が優先される?
まぁ何にしろ、こんな事は避けたいから俺はかぶらないようにするけどね
959デフォルトの名無しさん (ワッチョイ a95f-DZpR)
2021/09/10(金) 23:15:36.34ID:rrgK5Yqx0 多少長くても要素要素は省いちゃメンテが大変になるから多少冗長でも構わないスタンスで
単語の簡素化はしてもいいなら関数名をSetFmt_TgtRngとかにするかもね
あとそもそも、挙げられた例は不適切では?
今回話題になってるのは呼び出し先の(汎用的に使える)関数での変数名ではなくて、呼び出し元での変数名かと
単語の簡素化はしてもいいなら関数名をSetFmt_TgtRngとかにするかもね
あとそもそも、挙げられた例は不適切では?
今回話題になってるのは呼び出し先の(汎用的に使える)関数での変数名ではなくて、呼び出し元での変数名かと
960デフォルトの名無しさん (ワッチョイ b501-BHRH)
2021/09/10(金) 23:25:05.99ID:k/ICsAd30 >>958
再定義(シャドーイング)されてるだけ。
親スコープから継承されてる宣言名(今回で言えばオブジェクト名.Calculate)を再定義すると、定義が上書きされる。
Calculateは整数として再定義されたので、そのスコープではCalculateだけなら暗黙的に整数になる。
明示的に「オブジェクト名.Calculate」とすればメソッドとしてのCalculateを使用できる
再定義(シャドーイング)されてるだけ。
親スコープから継承されてる宣言名(今回で言えばオブジェクト名.Calculate)を再定義すると、定義が上書きされる。
Calculateは整数として再定義されたので、そのスコープではCalculateだけなら暗黙的に整数になる。
明示的に「オブジェクト名.Calculate」とすればメソッドとしてのCalculateを使用できる
961デフォルトの名無しさん (ワッチョイ 11da-dGLa)
2021/09/11(土) 00:00:09.96ID:qqZDVqkP0 personal.xlsbを複数の端末で共有したいので共有フォルダーにおいています.
XLSTARTのpersonal.xlsbは削除して共有フォルダーのpersonal.xlsbへのショートカットをおいています.
エクセルが起動するときにpersonal.xlsbを開くかどうか毎回聞いてきます
(セキュリティのマクロの設定は「警告を表示して全てのマクロを無効にする」です)
毎回開くを押すのが面倒なので共有フォルダーのpersonal.xlsbだけ常時開くような設定はできないでしょうか?
XLSTARTのpersonal.xlsbは削除して共有フォルダーのpersonal.xlsbへのショートカットをおいています.
エクセルが起動するときにpersonal.xlsbを開くかどうか毎回聞いてきます
(セキュリティのマクロの設定は「警告を表示して全てのマクロを無効にする」です)
毎回開くを押すのが面倒なので共有フォルダーのpersonal.xlsbだけ常時開くような設定はできないでしょうか?
962デフォルトの名無しさん (ワッチョイ 5e68-gxqX)
2021/09/11(土) 07:08:07.40ID:M0KgNEQw0963デフォルトの名無しさん (テテンテンテン MM3e-h3Yj)
2021/09/11(土) 08:32:29.27ID:uUbGGWZvM >>962
スコープを持った言語ではたいてい内側のスコープが優先されるよ
中にはあえてエラーにする言語もあるけど
https://docs.microsoft.com/ja-jp/dotnet/csharp/misc/cs0136
スコープを持った言語ではたいてい内側のスコープが優先されるよ
中にはあえてエラーにする言語もあるけど
https://docs.microsoft.com/ja-jp/dotnet/csharp/misc/cs0136
964デフォルトの名無しさん (ササクッテロレ Spbd-Eqy2)
2021/09/11(土) 09:37:25.87ID:3jGknNChp >>955
関数の大きさにもよるな
小さくてすぐ上に引数設定して
型が見えてるようなのはvalueでいいと思う
少しごちゃごちゃして見辛いのは
targetRangeでいいと思うし
更にもう少し大きくなって業務的な
意味を持つようになったらその名前付ければ
いいんじゃないかな
関数の大きさにもよるな
小さくてすぐ上に引数設定して
型が見えてるようなのはvalueでいいと思う
少しごちゃごちゃして見辛いのは
targetRangeでいいと思うし
更にもう少し大きくなって業務的な
意味を持つようになったらその名前付ければ
いいんじゃないかな
965デフォルトの名無しさん (ワッチョイ a668-dGLa)
2021/09/11(土) 10:18:08.93ID:JYcIgh+V0966デフォルトの名無しさん (テテンテンテン MM3e-h3Yj)
2021/09/11(土) 10:49:48.68ID:eXg+YAmHM >>964
Valueはないわ…
Valueはないわ…
967デフォルトの名無しさん (ワッチョイ 11da-k7k8)
2021/09/11(土) 12:17:24.93ID:qqZDVqkP0 >>966
そうだよな。value指定ではフォーマット変更は無理だよな
そうだよな。value指定ではフォーマット変更は無理だよな
968デフォルトの名無しさん (アウアウウー Sa21-DZpR)
2021/09/11(土) 13:14:28.26ID:GnKWsobMa Valueだけはねぇわ
targetとtmpとi・j・kとrくらいしか意味の薄い変数は使わないようにしないと
targetとtmpとi・j・kとrくらいしか意味の薄い変数は使わないようにしないと
969デフォルトの名無しさん (ブーイモ MM8e-FDYl)
2021/09/11(土) 13:57:33.58ID:SrjYrNmNM m,nも
970デフォルトの名無しさん (ワッチョイ 5e68-gxqX)
2021/09/11(土) 14:37:20.09ID:M0KgNEQw0 i・j・k
顔文字かと思った
顔文字かと思った
971デフォルトの名無しさん (ササクッテロロ Spbd-Eqy2)
2021/09/12(日) 11:12:03.90ID:up1UF/mUp valueがダメだと言ってる奴は恐らくプロパティとか
プロパティの使えない他言語とか使ったことのない井の中の蛙という奴だな
VBAしかやってないジジイにはよくあること
プロパティの使えない他言語とか使ったことのない井の中の蛙という奴だな
VBAしかやってないジジイにはよくあること
972デフォルトの名無しさん (ワッチョイ 5e68-gxqX)
2021/09/12(日) 11:42:37.67ID:igJhGb/40 >>971
君、韓国人?
君、韓国人?
973デフォルトの名無しさん (ワッチョイ 11da-k7k8)
2021/09/12(日) 11:48:24.82ID:3Dv8YdNb0 韓国をばかにするな!ITに関しては日本より進んでいるぞ
974デフォルトの名無しさん (ワッチョイ a6da-dGLa)
2021/09/12(日) 12:10:04.57ID:tsfiI8be0 どこ見て言ってんだか
975デフォルトの名無しさん (ワッチョイ 11da-k7k8)
2021/09/12(日) 12:15:32.69ID:3Dv8YdNb0 ここ見ててんだよ
976デフォルトの名無しさん (テテンテンテン MM3e-h3Yj)
2021/09/12(日) 12:55:49.25ID:xXC+mfefM977デフォルトの名無しさん (ワッチョイ a95f-DZpR)
2021/09/12(日) 13:36:49.25ID:5xdi3uAF0 オブジェクト型のRange型なのに、Valueを変数名にするのはVBAの常識的にNGなのは自明
978デフォルトの名無しさん (ワッチョイ 11da-k7k8)
2021/09/12(日) 14:09:17.30ID:3Dv8YdNb0979デフォルトの名無しさん (ワッチョイ 3a2f-Le98)
2021/09/12(日) 16:11:41.17ID:INS7ikYU0980デフォルトの名無しさん (ワッチョイ a668-dGLa)
2021/09/12(日) 16:21:24.92ID:aVK/EU7g0 元の元は>>936(私)でdim range as rangeに対してsetしたのですが
引数としてrange as rangeとされている状態でsetする事なんてあるのですか?
普通は無いなら途中から引数の話になるのもずれてません?
引数としてrange as rangeとされている状態でsetする事なんてあるのですか?
普通は無いなら途中から引数の話になるのもずれてません?
981デフォルトの名無しさん (ワッチョイ ea4f-Eqy2)
2021/09/12(日) 16:31:54.19ID:pHewVqE+0 そう言えばデコレーターパターンとかでは
valueはよく見るけどreferって見ないよね
なんでだろ?
valueはよく見るけどreferって見ないよね
なんでだろ?
982デフォルトの名無しさん (ワッチョイ 11da-k7k8)
2021/09/12(日) 16:37:26.61ID:3Dv8YdNb0983デフォルトの名無しさん (ササクッテロロ Spbd-Eqy2)
2021/09/12(日) 18:56:51.30ID:up1UF/mUp984デフォルトの名無しさん (テテンテンテン MM3e-h3Yj)
2021/09/12(日) 19:28:40.93ID:qUARoTjRM985デフォルトの名無しさん (ワッチョイ a6ba-WYzC)
2021/09/12(日) 21:17:53.40ID:K6Dv6PKH0 ttps://whois.nic.ad.jp/cgi-bin/whois_gw?key=182.22.16.251&codecheck-sjis=%E3%81%AB%E3%81%BB%E3%82%93%E3%81%AD%E3%81%A3%E3%81%A8%E3%82%8F%E3%83%BC%E3%81%8F%E3%81%84%E3%82%93%E3%81%B5%E3%81%89%E3%82%81%E3%83%BC%E3%81%97%E3%82%87%E3%82%93%E3%81%9B%E3%82%93%E3%81%9F%E3%83%BC&submit=
に表示されているネットワーク名「YAHOO-NET」を取得しようとしているのですが、
Cells(1, 2) = objIE.Document.getElementsByTagName("pre").innerText
ではメソッドがサポートされいないとエラー表示されます。
何がいけないのでしょうか?
に表示されているネットワーク名「YAHOO-NET」を取得しようとしているのですが、
Cells(1, 2) = objIE.Document.getElementsByTagName("pre").innerText
ではメソッドがサポートされいないとエラー表示されます。
何がいけないのでしょうか?
986名無し募集中。。。 (ワッチョイ 9e8c-xZL4)
2021/09/12(日) 21:29:23.70ID:Nc1wnmSN0 普段使ってないから問題点がこれ意外にもあるかわからないが
Cells(1, 2) = objIE.Document.getElementsByTagName("pre")(1).innerText
これでどう?
Cells(1, 2) = objIE.Document.getElementsByTagName("pre")(1).innerText
これでどう?
987デフォルトの名無しさん (ワッチョイ 66b0-FDYl)
2021/09/12(日) 21:29:29.14ID:wxf2x8Lb0 VBAとJavaScriptが、混ざっちゃった感じかな
988デフォルトの名無しさん (ワッチョイ 7935-xJJl)
2021/09/12(日) 22:10:03.90ID:UcZJH98c0 n時間後にエンターキーを押すプログラムってどう作るんだ?初心者にもわかりやすく誰か教えて
989デフォルトの名無しさん (ワッチョイ 66b0-FDYl)
2021/09/12(日) 22:16:01.50ID:wxf2x8Lb0 「n時間後にアラームを設定して、鳴ったらENTERを押せ!」
と、命令する
と、命令する
990デフォルトの名無しさん (ワッチョイ a6ba-WYzC)
2021/09/12(日) 22:27:13.14ID:K6Dv6PKH0 >>986
ありがとうございます。
「オブジェクト変数がセットされていません」というエラーメッセージが出ており、検証はできておりませんが、いけそうな気がします。
ページ遷移したらobjIE.Documentに遷移先の情報が自動で設定されないのかもしれません。
ありがとうございます。
「オブジェクト変数がセットされていません」というエラーメッセージが出ており、検証はできておりませんが、いけそうな気がします。
ページ遷移したらobjIE.Documentに遷移先の情報が自動で設定されないのかもしれません。
991デフォルトの名無しさん (JP 0Hc9-dGLa)
2021/09/12(日) 22:28:25.73ID:8PbYCWHKH >>988
基本はこうだけど、このままだとタイマーを仕掛けたのを忘れてて、ほかの作業をしてる時に急にEnterが押されてびっくりすると思うよ
Sub n時間後にEnterを押す()
n = 1 'n時間を指定
n時間後 = Now + TimeValue(n & ":00:00") 'n時間後が何時何分か計算する
Do
DoEvents
Loop Until Now >= n時間後 'n時間誤まで待つ
SendKeys "~" 'Enterを押す
End Sub
基本はこうだけど、このままだとタイマーを仕掛けたのを忘れてて、ほかの作業をしてる時に急にEnterが押されてびっくりすると思うよ
Sub n時間後にEnterを押す()
n = 1 'n時間を指定
n時間後 = Now + TimeValue(n & ":00:00") 'n時間後が何時何分か計算する
Do
DoEvents
Loop Until Now >= n時間後 'n時間誤まで待つ
SendKeys "~" 'Enterを押す
End Sub
992デフォルトの名無しさん (ワッチョイ 9e8c-xZL4)
2021/09/12(日) 23:27:46.85ID:Nc1wnmSN0993デフォルトの名無しさん (ワッチョイ 3a2f-Le98)
2021/09/13(月) 01:05:28.69ID:gLuGYsXi0 >>991
せめてOnTime使えよ
せめてOnTime使えよ
994デフォルトの名無しさん (スフッ Sd0a-dGLa)
2021/09/13(月) 01:09:51.01ID:DeEefxbAd OnTimeはあとからタイマーの設定を確認したり停始する方法がないから使い勝手が悪すぎるのがなあ
995デフォルトの名無しさん (ブーイモ MMc9-FDYl)
2021/09/13(月) 01:34:41.43ID:/cjB8lcQM 配列に保存しとくか
シートに書き出しておく
それを元に確認したりキャンセルする
シートに書き出しておく
それを元に確認したりキャンセルする
996デフォルトの名無しさん (スフッ Sd0a-dGLa)
2021/09/13(月) 02:28:08.29ID:SNtxNYpLd997デフォルトの名無しさん (ワッチョイ a6ba-WYzC)
2021/09/13(月) 07:15:43.89ID:oNrWMPyP0 >>992, 996
ありがとうございます!
ありがとうございます!
998デフォルトの名無しさん (ワッチョイ 5e68-gxqX)
2021/09/13(月) 07:30:13.42ID:GNx0xRRz0999デフォルトの名無しさん (ササクッテロロ Spbd-Eqy2)
2021/09/13(月) 07:41:47.37ID:KCvhkZmap >>998
うむ、ご苦労
うむ、ご苦労
1000デフォルトの名無しさん (エムゾネ FF0a-dgdc)
2021/09/13(月) 09:30:38.14ID:Kz73eSbEF 1000ならコロナ収束
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 57日 0時間 48分 23秒
新しいスレッドを立ててください。
life time: 57日 0時間 48分 23秒
10021002
Over 1000Thread 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
