X



Excel VBA 質問スレ Part78

■ このスレッドは過去ログ倉庫に格納されています
2022/10/30(日) 13:43:16.31ID:6yf2E1Gz0
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
↑同じ内容を3行貼り付けること

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

次スレは>>980が立てること
無理なら細かく安価指定

※前スレ
Excel VBA 質問スレ Part77
https://mevius.5ch.net/test/read.cgi/tech/1658009255/

-
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
142デフォルトの名無しさん (ワッチョイ 4ead-+H9L)
垢版 |
2022/11/20(日) 23:19:33.15ID:XCN8LgbG0
Dim prefs
Set prefs = CreateObject("Selenium.Dictionary")
prefs("credentials_enable_service") = False
prefs("profile.password_manager_enabled") = False

driver.SetPreference "prefs", prefs

これでどう?
2022/11/20(日) 23:54:01.57ID:79zBHkdo0
>>142
ありがとうござます。試しましたがやはダイアログが表示されます、、、
144デフォルトの名無しさん (ワッチョイ 4ead-+H9L)
垢版 |
2022/11/21(月) 00:00:32.12ID:pQOpt44b0
driver.SetPreference "credentials_enable_service", False

Dim profile
Set profile = CreateObject("Selenium.Dictionary")
profile("password_manager_enabled") = False

driver.SetPreference "profile", profile

これでどう?
145デフォルトの名無しさん (ワッチョイ 4ead-+H9L)
垢版 |
2022/11/21(月) 00:11:55.56ID:pQOpt44b0
Driver.SetPreference "credentials_enable_service", False
Driver.SetPreference "profile.password_manager_enabled", False

これでできそうな気がする
2022/11/21(月) 00:17:14.31ID:jvJhQ1Yn0
>>144 >>145
ダメでした。

VBA+Seleniumだと色々と制限がありそうですね。
Windows APIで強制クリックしかなさそうですね。
147デフォルトの名無しさん (ワッチョイ 4ead-+H9L)
垢版 |
2022/11/21(月) 00:42:53.42ID:pQOpt44b0
Driver.AddArgument "--password-store=basic"
Driver.SetPreference "credentials_enable_service", False
Driver.SetPreference "profile.password_manager_enabled", False
これでどう?
2022/11/21(月) 00:48:06.12ID:jvJhQ1Yn0
>>147
ダメでした。

ただ、ページ遷移すると自動でダイアログが消えますので
初回ログイン時に出るのは結構目障りですけど、最悪諦めます。
2022/11/21(月) 08:04:05.28ID:GlEj3eeB0
>>148
結果的に消えるならいいじゃん
そこでボタンをクリックしないと動作が止まる、とかだったら困るけど、動けばいいんだよ

てか、オプション設定のタイミングが悪いんじゃないの?Chromeを起動する前に設定してる?
2022/11/21(月) 08:09:22.01ID:jvJhQ1Yn0
>>149
はい、してます。

試しにVBAで同じことを試していただければ100%再現できます。
151デフォルトの名無しさん (スップ Sd22-P3Qh)
垢版 |
2022/11/21(月) 17:38:44.89ID:oUN57f6ld
>>133
マルチポスト、更に言語の違いすらわからない馬鹿は消えろ
2022/11/21(月) 18:02:11.22ID:KDDXOYAA0
マルチポストはどうかと思うが少なくともこっちのスレだと言語は合ってるだろ
2022/11/21(月) 23:00:46.16ID:qzpyBUkr0
https://xtech.nikkei.com/atcl/nxt/column/18/02246/110200002/
https://cdn-xtech.nikkei.com/atcl/nxt/column/18/02246/110200002/ph1.jpg
利用しているプログラミング言語
「あなたが現在使っているプログラミング言語は何ですか」という設問に対する回答の内訳。
最大3つ選択してもらった。回答数が10以上の言語を掲載

VBA頑張ってるじゃん
Rubyの倍やん
2022/11/21(月) 23:03:32.24ID:O4O9qqWgH
そりゃ母数が全然違うからな
事務員どころか営業でも使う人がいる
155デフォルトの名無しさん (ワッチョイ e219-6GUG)
垢版 |
2022/11/21(月) 23:12:28.50ID:+rhbDZE90
>>153
これは結構意外な結果。
HTMLとCSSが思ったより低いね。
もっと意外だったのがSQLがランクインしていないこと。
「SQLはプログラミング言語じゃねーだろ」という意見も聞こえそうだけど、
それ言ったらHTMLだってプログラミング言語かと言えば怪しいよね。

iPhoneを開発するOvjective-C辺りはCに含まれるのかな?
でもそう考えるとSwift もランクインされていない。
最近はPython が主流なのかー。
まぁRubyはさして知るべし。
2022/11/21(月) 23:18:34.01ID:O4O9qqWgH
メインの言語がhtmlです!って人はちょっと・・・
157デフォルトの名無しさん (ワッチョイ e219-6GUG)
垢版 |
2022/11/21(月) 23:28:16.93ID:+rhbDZE90
よく見るとTypeScriptが追い上げてるなぁ
Web版EXCEL開発しなきゃいけなくなったとき用に少し勉強しておくかな
158デフォルトの名無しさん (スップ Sd22-P3Qh)
垢版 |
2022/11/22(火) 00:17:55.04ID:z+hPxvMVd
>>153
rubyは毎年順位を落としている
2022/11/22(火) 01:16:20.45ID:rA6aTIVz0
Pythoの何がいいの?C#の方がよっぽどコードが綺麗。
2022/11/22(火) 07:07:33.19ID:PnGd/teh0
VBAはバリバリ活躍してるけど、VBはもはや枯れた言語か。。
2022/11/22(火) 07:14:38.51ID:5norvibI0
むしろVB(VB.NET以外)がランクインしてるのに驚いたわ
さすがに保守案件なんだろうけど
2022/11/22(火) 08:25:23.22ID:jrlVPdOBH
>>159
アホが書いたぐちゃぐちゃインデント見た事ないっしょ

インデントがそのまま機能に繋がるってのは、
もうこれだけでいいんじゃないかってぐらい見やすいんだよ
2022/11/22(火) 08:29:03.16ID:jrlVPdOBH
>>153
これ相当歪な集計だぞ
期間は2週間、プログラマーがたったの16%であとは経営者3%なんて混じってる
2022/11/22(火) 10:15:24.80ID:YR0FNqFN0
VBAでフォームからセルに入力できるフォームを作るときにテキストボックスとセルをcontrolsauceで連結するのが一般的ですか?
今まで、読みとりボタンで、テキストボックス1=セルの値、更新ボタンで、セルの値=テキストボックス1としてたのですが、controlsauceを使った方がよいのか悩んでます
2022/11/22(火) 10:27:21.22ID:rA6aTIVz0
>>162
pythonマジでコードが気持ち悪いんだけど。
2022/11/22(火) 10:38:52.48ID:4t4l6PXg0
使わなきゃいいだけなのにあえて他言語の悪口を言うのはRuby厨か
2022/11/22(火) 12:03:51.19ID:DuxWDXCmr
>>163
プログラマー以外がプログラミングしちゃいけないわけじゃないし、別に歪じゃないだろ
2022/11/22(火) 12:11:04.68ID:KOo0nK71r
歪というか、アンケートの対象はプログラマーのみではなさそうだな
プログラマーなんて社会人の一部だし

この手のはなんかの指標として使えるものではないと自分は思ってる
2022/11/22(火) 12:51:18.95ID:rA6aTIVz0
pythonのメリットは何?
2022/11/22(火) 13:05:26.48ID:jrlVPdOBH
>>169
pythonスレへどうぞ
171デフォルトの名無しさん (ワッチョイ e219-6GUG)
垢版 |
2022/11/22(火) 13:50:49.13ID:gWTAVy/70
VB.Netは確かにもうMicrosoft からも.NetCoreでは更新しませんよって宣言されてた気もするし、
終わった言語と言えばそうなのかもね。

ま、でも文法こそ違うものの、中身はC#と大して変わらないから、
やるならC#でいいよ。

C#とVBA覚えておけば必然的にVB.Netも書けると思う。
2022/11/22(火) 14:11:59.31ID:CBZvulmSa
vb.netとc#って
objective-cとswiftみたいなもんじゃね
173デフォルトの名無しさん (ワッチョイ 4ead-+H9L)
垢版 |
2022/11/22(火) 14:54:19.77ID:0MFmILJN0
そうだな、ぜんぜん違うけどな
2022/11/22(火) 15:48:12.92ID:p3XTSB6d0
VBA は社員が使っている。一般人・アマチュア。
Linux, Docker, Heroku, AWS などを知っているはずがない。
Windows しか出来ない香具師

一方、Ruby on Rails は、ウェブ開発のプロ用。
ポートフォリオにも使う転職用だから、一般人よりも少なくなる

VBAが出来ても、プロとしては転職できない。
VBAが出来るから、モダンなウェブ開発企業が採用するとは思わない
175デフォルトの名無しさん (ワッチョイ ef8e-P3Qh)
垢版 |
2022/11/22(火) 15:57:35.32ID:ntrRKrLv0
>>169
Pythonにあっという間に追い越され凋落が加速しているRubyざまあ
2022/11/22(火) 16:01:15.96ID:byhRgCcA0
>>174
ドヤ顔で香具師とか言われても……
177デフォルトの名無しさん (ワッチョイ ef8e-P3Qh)
垢版 |
2022/11/22(火) 16:04:23.96ID:ntrRKrLv0
>>174
プロ用wwwwww
つまり金貰えなきゃRubyなんて使わんわ!ということ
2022/11/22(火) 18:41:56.86ID:kVcqtNac0
でもどうだろ?
60歳前後の人はVB通ってきてからVBAを始めた人多いと思うからもっと人口多いと思う。
179デフォルトの名無しさん (ワッチョイ e219-6GUG)
垢版 |
2022/11/22(火) 18:45:18.15ID:gWTAVy/70
あー、まぁ旧VB6ならそうかもね
VB.Netは完全にObject指向言語だから
そこからVBAやるってのはキツいんじゃないかな?
まぁその逆はもっとキツいと思うけど
2022/11/22(火) 18:51:44.40ID:kVcqtNac0
そういえばVBなんて言語あったなー(遠い目)
ウチにVBのリファレンス本が埃かぶってある。
2022/11/22(火) 19:36:41.19ID:chmk150V0
旧VBは結構な値段しただろ
使ったことがあるのはプロのプログラマーだけだよ
VBAやVB.NETは素人向け
2022/11/22(火) 21:05:06.99ID:X8yFxH5Ua
ネットでサンプルコードを漁っていると配列の型を宣言するときに括弧を省いているのが多いけれどなんでだろう
Dim Array As variant
Array = Range(“A1:C10”)
とか
Dim Array as Variant
Array = TempArray
みたいに

括弧無しの方が処理が早いのだろうか
そもそも括弧有り無しの違いってなんなんだろう
2022/11/22(火) 21:39:01.76ID:jrlVPdOBH
>>182
vbaの配列、特に静的配列はカスって事を念頭においておいてほしい。
他の言語はここまでめんどくさくない

静的配列は要素数が決まっていて拡張性が無い。
Dim array_a(5) As Long

動的配列は要素数を変動させることができるがめんどくさい
Dim array_a() As Long

これは配列をvariant型の変数に入れてるだけで、配列の型とは関係がない
Dim array_b As Variant
array_b = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
array_b = Array(1, 2, 3, 4, 5, 6)

どれが良いかというと、variantに入れておけば大体うまくいく
動的配列や静的配列を使うのもいいけど、めんどくさいだけだよ
2022/11/22(火) 22:02:02.71ID:hcZiH6eO0
sub hoge
 for i=1 to10
  if i=5 then exit sub
 next
end sub

サブルーチンのforとかloop中に
判定文でexit forどころか、exit subするのって、マズいんですかね?

メモリ喰っちゃう?
2022/11/22(火) 22:10:43.92ID:h1MkuzsC0
コメント書いとけばいいんじゃね
2022/11/22(火) 22:18:04.27ID:X8yFxH5Ua
>>183
ループを使って配列の要素を一つずつ埋めて行く場合は()付きで配列として宣言しなきゃダメじゃん?
だったら一括代入する場合も()付きで配列として宣言した方がわかりやすいかなあと思うんだよね
2022/11/22(火) 22:24:40.04ID:jrlVPdOBH
>>184
特にマズくない
最近は8GBぐらいメモリあるんだし多少食っても全然平気

>>186
vba結構長いこと使ってきたけど、そんなコード書いたことないなぁ
ちょっと分からないわ
2022/11/22(火) 22:47:31.59ID:X8yFxH5Ua
>>187
たとえば「シートの表を一旦二次元配列に格納して不要な行を取り除いてからシートに転記する」ってコードの場合、次のようになるでしょ?

Dim RawArr As variant
RawArr = Range("A1:E100").Value

Dim EditArr() As Variant
Redim EditArr(1 to Ubound(RawArr ,1), 1 to Ubound(RawArr ,2))
'↑これは括弧付きで配列として宣言しなければならない

Dim R as Long, C As Long, Rcount As Long
Rcount = 1
For R = 1 to Ubound(RawArr ,1)
If Not RawArr(R, 1) = "不要" Then
Rcount = Rcount +1
For C = 1 to Ubound(RawArr ,2)
EditArr(Rcount, C) = RawArr(R, C)
Next C
End If
Next R

Range("A1:E100").Value = EditArr

このコードにおいて「EditArr」を括弧付きで配列として宣言するならば「RawArr」もそれに準じた方がわかりやすいのではと思うんだよね
超細かくて申し訳ないけれど
2022/11/22(火) 23:39:01.43ID:+p7n4F+r0
jscriptの配列をそのままvbscriptにしたら
メッチャんこ速くなったからそっちの性能はいいんじゃね?
2022/11/23(水) 00:24:02.68ID:6lN/+0f80
>>188
これってのが
Dim EditArr() As Variant
なら、
Dim EditArr As Variant
でも動いてるようだが?
そのまま走らせたら両方ともそこ以外で実行時エラー出てるけど

さらに言えば、ReDimするなら(Option Explicit onでも)Dimすらなくても動いたような
2022/11/23(水) 03:52:19.28ID:uIyZhPcqr
>>188
俺も>>190と同じく
Dim EditArr() As Variant
Redim EditArr(1 to Ubound(RawArr ,1), 1 to Ubound(RawArr ,2))
だろうが
Dim EditArr As Variant
Redim EditArr(1 to Ubound(RawArr ,1), 1 to Ubound(RawArr ,2))
だろうが同じって認識だわ
動的配列っていうのをわかりやすくするために()つけておくか、くらいの感じだと思ってる
192デフォルトの名無しさん (ワッチョイ e219-6GUG)
垢版 |
2022/11/23(水) 08:25:42.71ID:/bpEmzEb0
>>184
別にマズくはないよ。
メモリ使ってたとしても使ってる変数が
みんなPrivateのものなら関数抜けた時点で解放されるし
2022/11/23(水) 17:09:12.41ID:yNj03cHV0
【速報】上司「お前のことはExcelの印刷くらい信用している」→パワハラ

 広告代理店・電報堂(本社・東京都足立区)に勤務する50代の部長が20代の部下にパワハラを繰り返し、
部下をうつによる休職に追い込んだとして民事訴訟を起こされていたことが22日分かった。
 訴状によると部長は部下に対し日頃から「お前のことはExcelの印刷と同じくらい信用している」
という発言を繰り返しており、その結果「どれだけ仕事をしても信用が得られない」
と感じた部下は今年5月からうつの症状を発症するようになり、現在は休職しているという。
 なお上司は取材に対し「信用していると言っただけなのになぜパワハラ扱いされるのか理解できない」
と述べた。

https://kizuna.5ch.net/test/read.cgi/curry/1663509806/
2022/11/23(水) 17:31:53.36ID:g5bfG+kA0
まあ言い方だろうな
Excelの印刷はたまに端や上下が切れたりするけどちゃんと手当てしてやればそこそこ使える
ワードなんかと違ってレイアウトを崩さずにページに収めるとか使える機能もあるしな
2022/11/23(水) 17:46:45.69ID:g30UJYxeH
それ完全に釣りだぞ
2022/11/23(水) 17:54:50.35ID:WIX5xDy/0
香具師 ← 化石を久しぶりに見つけたw
2022/11/23(水) 18:00:15.39ID:g5bfG+kA0
>>195
うん、知ってる
他でも見たし
2022/11/23(水) 20:28:09.45ID:Y1rfQ/KW0
ジジババかよw
2022/11/23(水) 22:51:52.84ID:2bxJ1QPk0
そんなこと言ってると生きてる間に孫の顔みれんぞ
2022/11/28(月) 07:46:50.71ID:eMQ5RF7GM
独り者なら孫どころか子供もいないだろ
2022/11/28(月) 08:26:23.40ID:bGDdl4B7H
子供はいるけどもう20年ぐらい会ってないな
2022/11/28(月) 14:54:18.05ID:nQn7KMv00
悲しい話と捉えていいすか?
生き別れ
2022/11/28(月) 19:26:05.44ID:QIQXhRT50
面会に来てくれないのか
2022/11/29(火) 11:12:10.65ID:OPHrjchb0
臭い飯の感想は?
2022/11/29(火) 11:36:14.54ID:NIQubJ4ZH
うまああああああい
2022/11/29(火) 17:17:30.27ID:OPHrjchb0
兄が元刑務官だけど、昔に比べればブタ箱の飯はだいぶ香ばしい匂いになったみたいだよw
207デフォルトの名無しさん (ワッチョイ ffda-emCW)
垢版 |
2022/11/30(水) 08:01:42.75ID:wuoQBUdg0
スタンフォード監獄実験で普通の人でもそういう仕事につくと凶暴になる実験あったな
2022/12/01(木) 12:10:59.18ID:0YLKwBCI0
>>207
実はアレはヤラセだったと関係者が暴露してる
2022/12/02(金) 07:28:51.94ID:cUj7Y7YjH
神様たち
エクセルVBAで関数内関数を作りたいのですがやり方教えてください
2022/12/02(金) 08:16:36.75ID:tKD1RDkG0
無理、はい次の方~
211デフォルトの名無しさん (アウアウウー Sa5b-qzZ5)
垢版 |
2022/12/02(金) 09:43:13.76ID:YgL2+bOja
>>209
作る意味ないので別関数で呼び出せ
2022/12/02(金) 11:05:19.85ID:ZBzpMFYrd
「作れない」と「作る意味ない」は違くないか
>>209
つくれないので別の方法を検討しましょう
2022/12/02(金) 11:25:08.14ID:tKD1RDkG0
作る意味があるケースもあるけど現状作れないし作れるようになりそうもないから議論してもしょうがない、はい次の方~
2022/12/02(金) 11:30:07.60ID:OZyA684d0
なんでそんな事ばかりやりたいのか
2022/12/02(金) 11:44:11.14ID:aS3/tvEuH
他の言語でやってるとね~やっぱ欲しいなって思う場面が出てくるんだよね~
別にテクニカルな事をしたいわけじゃないのよ~
2022/12/02(金) 11:44:35.67ID:aS3/tvEuH
まぁ一つ言えばこの一連の流れで>>211は頭一つ抜けて無能だね~
2022/12/02(金) 12:18:39.53ID:ZBzpMFYrd
>>214
やりたい理由なんていろんなケースであるからそれをいってもしかたないでしょう
自分だって他言語では使う事もあるしね
2022/12/02(金) 14:20:37.10ID:T9SNtee60
神様達、ありがとうございました
無いと分かればそれはそれですっきりです
2022/12/02(金) 19:29:27.52ID:GBjZlXrEd
ある条件を満たせば使えるようになるのは内緒だ
2022/12/02(金) 20:03:26.58ID:ZBzpMFYrd
教えるつもりがないならだまってろ
2022/12/02(金) 20:23:06.13ID:OZyA684d0
>>220
いや、無理無理
黙ってられない年寄りばかりだから。
2022/12/03(土) 10:30:49.38ID:S7dtgmin0
神様達、よろしくお願いします
classモジュール変数に、public で配列を置きたいのですが
配列は、オブジェクトモジュールのパブリックメンバーとして利用できません
と怒られました

クラスをnewして、メンバーとして配列にアクセスする方法はありませんか?

例)=================================
標準モジュール
dim cls as Class1
set cls = new Class1

debug.print(cls.ar(0)) <---こう呼び出したい

=============================
クラスモジュール

public ar() as variant

private sub Class_Inisialize()
ar(0)="xxx"
end sub
2022/12/03(土) 10:34:59.98ID:S7dtgmin0
神様たち、すみませんでした。解決できました。ごめんなさい
224デフォルトの名無しさん (ワッチョイ d010-vo7k)
垢版 |
2022/12/03(土) 10:52:40.84ID:sKNlSpsi0
>>218
出来ないことはないが
VBAでは過去の遺物、負の遺産として
使用が暗黙的に禁止されている。
どうしても使いたければ
VBA GOSUBでググれ
2022/12/03(土) 12:46:31.23ID:pfZ7JepId
それサブルーチンだし関数内関数っていっていいの?
引数も渡せないでしょ
2022/12/03(土) 13:22:57.30ID:S7dtgmin0
GOSUBはミートソースでも食べられないと教わりました
2022/12/03(土) 13:27:47.06ID:HS9T9UMm0
> VBA GOSUBでググれ
全米がずっこけたわ
もう老害はこう言うのでマウント取るしかないんだな...
2022/12/03(土) 13:46:56.21ID:y5TLnC6XH
>>227
これ若造やぞ
2022/12/03(土) 13:59:22.91ID:53g102vo0
知ってる?
マウント取ってくるのは大抵年寄りだぞ
何故ならば体が思うように動かないからやたら口達者になるから。
2022/12/03(土) 14:03:12.32ID:y5TLnC6XH
そもそもこれマウントでもなんでもなく単に間違えてるだけでしょ
2022/12/03(土) 14:08:18.64ID:pfZ7JepId
GOSUBでも似たようなことできるけど○○できないとか制限あるよっていえばいいのに
最初の4行なんて余計でしょもったいぶって言う割には回答がおかしすぎて
マウントとかそういうレベルでもない
2022/12/03(土) 14:14:01.12ID:zLpEoZMka
↑ こう言うことを言い出すのもたいてい老害w
2022/12/03(土) 14:16:30.51ID:ywgcZJJ9M
高階関数のことならVBA関数では不可
ワークシート関数であればLAMBDA(とLET)
234デフォルトの名無しさん (JP 0H06-g9pY)
垢版 |
2022/12/03(土) 14:26:56.17ID:y5TLnC6XH
>>232
君、韓国人みたいな発言してるよ
気をつけたほうが良いと思う
2022/12/03(土) 14:33:59.75ID:zLpEoZMka
いきなり〇国とか言い出すのも老害によくある行動
236デフォルトの名無しさん (アウアウウー Sa3a-zfUU)
垢版 |
2022/12/03(土) 14:59:55.68ID:YYHySLTHa
質問者はなんで出来ると思って質問したのか?
2022/12/03(土) 15:06:08.67ID:S7dtgmin0
アドバイス頂けただけありがたいです。
神様皆様ありがとうございます

マクロの記録なのですが、

マクロ記録→検索→全部→マクロ記録終了
そしてマクロを選択して編集すると
Macro
と書かれているだけでマクロが記録できません
記録してどんなワークシート関数を使っているのかみたいのですが
何か必要な設定があるのでしょうか?
現在excel2019を使っています
2022/12/03(土) 15:11:13.12ID:S7dtgmin0
>>236

class.propertyみたいな呼び出し方で
配列や、インスタンス代入変数を参照できたらいいなって思ったんです
function やsubを直接参照するのが気持ちよくなくて
2022/12/03(土) 15:32:48.63ID:y5TLnC6XH
>>237
特にない
365だけど、昔も今も普通に記録されるよ
https://i.imgur.com/3UPitt6.png
2022/12/03(土) 16:01:02.34ID:y5TLnC6XH
>>238
vbaは化石だから色々と諦めるしかない
241デフォルトの名無しさん (ワッチョイ c001-g9pY)
垢版 |
2022/12/03(土) 17:35:51.41ID:su8PlnK50
>>235
それ、朝鮮総連のマニュアルだよ。
「あなたは朝鮮人の可能性があると言って相手の反応を見ましょう」
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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