Excel VBA 質問スレ Part79(ワッチョイあり)

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ aaa4-I2zm)
垢版 |
2023/01/28(土) 12:12:12.41ID:UjlIZ1Ov0
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
↑同じ内容を3行貼り付けること

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

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

※前スレ
Excel VBA 質問スレ Part77
https://mevius.2ch.net/test/read.cgi/tech/1658009255/
Excel VBA 質問スレ Part78
https://mevius.2ch.net/test/read.cgi/tech/1667104996/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2023/07/24(月) 23:19:00.59ID:MFtFNdvf0
馬鹿連呼のイカれ野郎はこのスレにもいるのか?
早く回答しろよ
651デフォルトの名無しさん (ワッチョイ 7fda-onGn)
垢版 |
2023/07/24(月) 23:26:26.61ID:XScBRRuC0
>>647
インテリセンスの表示でなく、Netのヘルプ見たら string1とstring2 は[]が付いていないので
省略できないのが正しいと思う
2023/07/24(月) 23:42:24.30ID:2E5Woh530
>>649

具体的なVBAをありがとうございます。
本とネットでプログラムを一つ一つ調べてみます。
ありがとうございました。
653デフォルトの名無しさん (ワントンキン MMcf-XHZ2)
垢版 |
2023/07/25(火) 00:13:56.48ID:eKqn2vaBM
>>652
自分の間違いを認められない奴は二度と来るな
2023/07/25(火) 00:32:36.47ID:VciGrMU40
>>645

>>で選択してどうすんの?
宿泊施設で働いています。
施設内に冷蔵庫が3つ(A・B・C)あります。
盛り付けた料理を冷蔵庫に運び、保存します。
お客様の人数が少ない日は、AとBだけ使い、
Cを使いません。

(エクセルの表)
A小計・B小計・C小計・ABCの合計

 @空白セルを選択、ムダな列を非表示
★ACのSUM関数による小計0を選択、ムダな列を非表示
 B表全体を印刷

Aが「0が表示されているSUM関数のセル」です。
AさえVBAで自動化できれば、@からBまでの
すべてを自動化でき、ムダがなくなります。

ややこしい説明で申し訳ありません。
2023/07/25(火) 00:40:20.70ID:VciGrMU40
>>653

おっしゃる通りです。こちらはVBAのスレ
でした。スレを汚して大変申し訳ありません。
656デフォルトの名無しさん (ワッチョイ dfea-SN+J)
垢版 |
2023/07/25(火) 04:35:19.33ID:eLLZuLdp0
>>654
sum文がどこのセルにあるかわからないなら >>649 のコードだけど、表形式のデータでsum文があるセルが固まって存在するならその範囲のセルの値を調べて値が0ならその列を非表示というVBAにしたほうがシンプルかと。
657デフォルトの名無しさん (ワッチョイ 7fda-onGn)
垢版 |
2023/07/25(火) 12:19:49.55ID:HKHhNjAB0
あくまで想像だがこんなシート?
a,=sum(1+2)
b,=sum(3+4)
c,=sum(5+6)
abc,=sum(a+b+c)
a,=sum(2+3)
b,=sum(1+0)
c,=sum(0+0) ←この行を非表示
abc,=sum(a+b+c)
...
2023/07/25(火) 15:40:59.03ID:En1UaVrHa
>>651
ありがとうございます
すみません、インテリセンスではなくクイックヒントでした
MicrosoftのHPでそこは確認できているのですが、
クイックヒントとの相違についてが、調べきれませんでした
659デフォルトの名無しさん (ワッチョイ 7fda-onGn)
垢版 |
2023/07/26(水) 03:03:30.47ID:zCZ/0Zp20
>>658
表示の誤りはよくあるのであまり気にしない方がいいぞ
どうしても気になるならサンプルコード書いて動作確認すればいい
修正パッチや最新バージョン入れたら直ってるかもしれんし、しらんけど
2023/07/26(水) 18:20:16.83ID:WqknVGST0
>>656

>>その範囲のセルの値を調べて
>>値が0ならその列を非表示というVBA
値を調べるVBAがあるのですね。ありがとうございます。
2023/07/26(水) 19:00:57.27ID:WqknVGST0
>>657

そんな感じです。ややこしい説明で申し訳ありません。

(表の並び方)
A・B・C・ABCの合計

A  セル・セル・SUM関数(左のセルの数字を合わせた小計)
B  セル・セル・SUM関数(左のセルの数字を合わせた小計)
C  セル・セル・SUM関数(左のセルの数字を合わせた小計)
ABC SUM関数(AとBとCの合計)

Cの表を使わない場合、セルに数字を入力しませんので、
SUM関数のセルには「0」が表示されます。
「0が表示されているSUM関数のセル」を
選択し、列を非表示にするVBAを知りたいです。
2023/07/26(水) 19:07:35.36ID:werXCtDT0
>>661
If Range("C3").Value = 0 Then Rows(3).Hidden = True
663デフォルトの名無しさん (スップ Sdff-SdiU)
垢版 |
2023/07/26(水) 20:12:43.45ID:I3jexMSod
こんな低能にVBAを弄らせるなよ
後でトラブルが発生するのは確実だろ
664デフォルトの名無しさん (アウアウウー Sa2b-aMqs)
垢版 |
2023/07/26(水) 20:17:42.86ID:wSHYoxMZa
見えなくなったの戻せないとか言うんじゃね
2023/07/26(水) 22:06:19.18ID:WqknVGST0
>>662

0を選択、非表示にする事ができました。
皆様本当にありがとうございます。

If Range("●●").Value = 0 Then
Columns("●●").Hidden = True
End If
2023/07/26(水) 22:32:56.39ID:WqknVGST0
素人がスレを汚して大変申し訳ありません。
今後はROM中心に参加させていただきます。
2023/07/26(水) 23:28:32.94ID:PKfWYZBo0
素人って??
ここにプロなんかいないよ。ましてや便所の落書き5ちゃんねるに。
2023/07/27(木) 01:39:10.67ID:MKmA/8Fra
>>659
そんなものなんですか
構文エラーなどで調べること多いんですが
エラー理由を知ると精巧に作られてるなと実感していたので意外でした
ありがとうございました
669デフォルトの名無しさん (ワンミングク MMbf-XHZ2)
垢版 |
2023/07/27(木) 01:50:48.93ID:gFWuor0jM
>>667
お前みたいな無知蒙昧の同類だろ
2023/07/28(金) 16:37:41.40ID:/W6OIRXGa
「あ6662」→「6662A」のように、頭に「あ」を含むセルは末尾に「A」をつけるようにするにはどうしたら良いですか?
2023/07/28(金) 16:47:20.78ID:rtSxtpUa0
s=range("a1")
if left(s,1)="あ" then range("a1")=right(s,len(s)-1) & "A"
2023/07/28(金) 16:47:51.90ID:/W6OIRXGa
>>671
ありがとうございます!
673デフォルトの名無しさん (ワッチョイ 1710-azQd)
垢版 |
2023/07/29(土) 05:39:19.04ID:gWGSOie+0
この程度の頭の連中がマイナンバーシステムを作ったのだろうな
2023/07/29(土) 06:07:34.04ID:Ha6G8fCgd
>>673
あなたもデジタル庁の募集に応募すればよかったのにしなかったんでしょ?
2023/07/29(土) 07:20:09.13ID:wbc1KPRI0
>>669
あんたはプロなの?
2023/07/29(土) 08:28:16.14ID:PfnsHmcDM
趣味人
2023/07/29(土) 14:22:01.95ID:0SU66WMB0
バイトで色んな仕事やった中にマクロ作成もあったけどプロ名乗っていい?
2023/07/29(土) 20:25:55.50ID:Iv5PIesma
If Left(Cells(1, 1), 1) = "あ" Then
Cells(1, 1) = Mid(Cells(1, 1), 2) & "A"
End If
2023/07/30(日) 09:59:21.42ID:mMKkLHXn0
>>677
今もVBAで飯食べてるならプロを名乗っていいんじゃね?
2023/07/30(日) 10:12:26.79ID:kled6o86M
VBAでは職業プログラマは無理だろ
あくまで本業で楽するための道具のひとつ
2023/07/31(月) 01:23:29.89ID:5P8TOtn70
「そこが知りたい!Excel VBAプロの技 Excel97/2000/2002/2003対応!」
という本が「幻の名書」てことで、
アマゾンでも中古で8,575円になってる。
”素人には見向きもされない難解な本”らしい。
https://thom.hateblo.jp/entry/2015/08/17/211757

調べてみると東京都稲城市立中央図書館にあるとのことで、
18きっぷで南多摩まで行ったわ。
(ちなみに南多摩は無人駅だから・・・・・)
開架なので、誰かが借りてなければ閲覧できる。
かなりマニアックなことが書いてあるのかと思えばそうでもかなったな・・・・。
無駄足だった。
ほほーって思った記事は、for-nextよりfor-eachのほうが早いってことかな。
興味があるやつは稲城に急げ。
682デフォルトの名無しさん (スッップ Sd8a-Be6Z)
垢版 |
2023/07/31(月) 02:34:47.30ID:LEmGEeTtd
と転売屋が書き込んでます
2023/07/31(月) 09:02:43.19ID:OlV1D5u10
転売屋がわざわざ図書館紹介するなんて
回りくどいことはしないかと。
2023/07/31(月) 10:07:47.32ID:8wbRk2dYF
古過ぎて「名著」とかちゃんちゃら可笑しい
2023/07/31(月) 10:21:03.99ID:jUC96+Yvd
今の365で出来ることまでVBAでしてた時代だろうしなぁ
2023/07/31(月) 13:03:47.11ID:0J/eNra9d
タバコの臭いプンプンしてそう
687デフォルトの名無しさん (ワッチョイ 7eda-CF7t)
垢版 |
2023/07/31(月) 17:54:55.55ID:bEWQsMnv0
どうでもいいけど 3*0.3333..... ってやると
勝手に桁数直される時は1で直されん時は0.9999.... になるが見た目区別できない
2023/07/31(月) 19:25:33.86ID:XAjEbrs80
先輩方に、VBAは自分を守るために使えと教わった。
決して他人のために使うなと。
2023/07/31(月) 20:36:11.68ID:zKyqHyMA0
>>688
True
2023/07/31(月) 22:08:50.60ID:3/Nr8LRO0
>>689
うまwwwww
2023/08/01(火) 07:52:59.84ID:JzY3xMiyM
自己保身か承認欲求か
本性が試される
2023/08/01(火) 18:17:32.33ID:R94W5SY30
他人に頼まれて作ったらずっと注文されるから止めとけと言われた
693デフォルトの名無しさん (スッップ Sd8a-Be6Z)
垢版 |
2023/08/01(火) 19:11:32.30ID:IJ3FqPP3d
こういうスレを見てるとわかるように馬鹿は厚かましくしつこく聞いてきて挙げ句の果ては作ってくれと言い始める
2023/08/01(火) 19:22:21.83ID:R94W5SY30
そうですよね。というか、あの人ならなんでもやってくれる的な便利屋扱いされる可能性がありますわ。
で、文句言われて終わると。
2023/08/01(火) 19:54:41.69ID:oLtmhKenM
部署で使うマクロくらいなら作ってメンテもやってる
操作感と使い勝手がわかるから作りやすい
696デフォルトの名無しさん (ワッチョイ 7eda-p9y8)
垢版 |
2023/08/02(水) 02:05:58.77ID:oR2VXJHY0
相談にはにっても、やってというのは受けない方がいいと思う
697デフォルトの名無しさん (アウアウウー Sa1f-IPSQ)
垢版 |
2023/08/02(水) 08:57:59.43ID:4pI1Wfnva
にかった
698デフォルトの名無しさん (アウアウウー Sa1f-p9y8)
垢版 |
2023/08/02(水) 10:26:10.96ID:l89J1l2ha
乗るw
2023/08/03(木) 03:53:57.20ID:UKeTFbsWa
相談にねった時点で負け
2023/08/03(木) 18:47:51.28ID:iTm4uhcW0
本来ならVBA頼まれたら作業料とるべきですよ。
2023/08/04(金) 13:53:32.70ID:xOpPMRcx0
セル更新時等に裏でどのようにVBAが動いてるか調べる方法って無い?
702デフォルトの名無しさん (アウアウウー Sa1f-vR7y)
垢版 |
2023/08/04(金) 15:12:43.43ID:IuB8EIWua
vbaにブレークポイント付ければ良いのでは
2023/08/04(金) 15:12:48.12ID:OOLIcLzp0
ステップ実行?
2023/08/04(金) 17:27:37.71ID:xOpPMRcx0
ブレークポイントで特定できた
ありがとう
なんかセル更新時に重いなって思ってたらユーザー定義関数を都度都度大量に再計算してた
揮発性無効にしても効果がないのでなんでかなと思ったらVLOOKUPの第2引数の範囲に入ってるのが原因
面倒だけどユーザー定義関数やめて普通の長ったらしい関数記述するしかないか……
705デフォルトの名無しさん (ワッチョイ 7eda-CF7t)
垢版 |
2023/08/04(金) 20:57:58.34ID:AtJZBxCM0
高速化のテクニックは無数にある
無駄な計算を実行しないとか、画面表示を止めるとか、同じ計算を1か所にまとめるとか
2023/08/04(金) 21:09:48.87ID:xOpPMRcx0
と思ったらVBE開いてるときだけ重くなることが判明した
閉じれば普通に軽くなるから使う上では害はないか
なんか釈然としない
2023/08/04(金) 23:32:34.31ID:IpzqmEzK0
若い新人君がVBAマンやらされてて超可哀想
貴重な時間をそんなことで浪費して
2023/08/05(土) 03:45:51.67ID:ejud2Dlq0
給料上げてやるべき
2023/08/05(土) 08:17:27.77ID:rnXgWpu00
なんか仕事の愚痴吐く人目立つけど仕事で使ってる人ばっかなの?
ゲームのデータ管理やオカズの整理にしか使ってないのに質問したの申し訳なくなるな……
2023/08/05(土) 08:34:55.78ID:lU8F/70td
ええんやで
使いたくて使ってる人と、
使いたくない人に使ってる人じゃモチベが全然違う
2023/08/05(土) 10:49:21.65ID:rnXgWpu00
でも独学で手探りでやってる身としては仕事でやらせてもらえる人羨ましくも思うわ
書籍とか買うにも自腹だし誰も教えてくれる人も居ないし
何よりそれでお金貰えるの結構モチベになるんじゃない?
2023/08/05(土) 14:50:20.84ID:pQVEDhUA0
>>711
ほれ、あれだ。
「仕事でやらせてもらえる」
というのは当然、「成果」を期待されているわけで。

あーでもない、こーでもないと言いながら、
こうはできないか、ああはできないかを自分の時間でする
てのが、一番楽しいのかも知れん。

「VBA研究職」なんてのは、世の中にはないし。
713デフォルトの名無しさん (ワッチョイ 33da-c/5M)
垢版 |
2023/08/05(土) 20:48:08.79ID:9WxAdaD/0
税金から給料もらえる仕事に就くといいのでは
2023/08/06(日) 16:55:42.25ID:1mg8NGPW0
個人としてみれば、貴重な時間を割いて手伝ったところで他人の成果の向上につながるだけで見返り無し(どころか自分の業務を圧迫することも)
組織としてみれば、VBAで処理できる内容をスキル不足と協調性の無さから手作業でやられたりすれば非効率になる一方なわけで

大手なら教育体制やら個別技能評価あたりで全体を押し上げることもできるんだろうけど、中小零細じゃ厳しいよね
格差は広がる一方だね
2023/08/06(日) 18:30:00.92ID:S1Y927HE0
大手でもそんなに制度がしっかりしてて綺麗に業務が分担してるとかじゃないよ
どこでも曖昧なもんよ
VBAで改善提案出して荒稼ぎしてる
2023/08/07(月) 18:09:37.03ID:dIkI+BhT0
ワークシート関数で業務改善しました 上司の評価◯
VBAで業務改善しました=上司の評価 上司の評価=△
2023/08/07(月) 20:15:56.29ID:Xa6sLRsgd
>>716
VBAの式でエラー出しまくってそう
2023/08/08(火) 18:26:34.19ID:kSOMEDyB0
担当者がいなくなったあとも後任が直せることが大事だからね
719デフォルトの名無しさん (ワッチョイ 33da-c/5M)
垢版 |
2023/08/09(水) 10:14:25.88ID:qEKEd4/l0
理想はそうだが現実はそううまくいかないことが多い
2023/08/09(水) 18:15:35.75ID:3JVSCCUe0
後任者の知識が曖昧だとキツイですね
2023/08/09(水) 19:40:47.36ID:ynZvtekK0
プログラマはやれているから
VBA職人もやったら良いと思う
2023/08/11(金) 19:08:12.63ID:N7BBrBqP0
何回かいろいろな職場を渡り歩いたけど、VBA書ける人は数える位しかいなかったのが印象残ってる。
723デフォルトの名無しさん (ワッチョイ 33da-c/5M)
垢版 |
2023/08/11(金) 19:25:22.67ID:edq/zelf0
>>722
それはあなたの職場の利益はVBAがメインではないというだけの事
2023/08/13(日) 20:44:24.20ID:oqKR2BBW0
VBAメインの職場?
エンジニアかい?
725デフォルトの名無しさん (ワッチョイ 0eda-eQmn)
垢版 |
2023/08/13(日) 21:24:47.27ID:uv4CALxs0
職場の中にVBAが書ける人が数えるくらいしかいないのか、大勢書けるのかはそういう職場ってだけで
それで利益が出ている会社(組織)であれば問題ないと思う
2023/08/14(月) 08:12:25.05ID:tqsR7qSU0
全く書けない人もいましたよ。ワークシートで使う関数で完結できるらしいから。
2023/08/14(月) 08:51:33.33ID:OCn697tAM
エンジニアというかプログラミングが本業で別言語が専門ならVBAにこだわる必要もないしな
というかBASICの派生言語は初心者向けと見做している節があるので必要が無いならあえて手を出そうとはしないだろ
728デフォルトの名無しさん (ワッチョイ 0eda-eQmn)
垢版 |
2023/08/14(月) 10:01:28.83ID:ZKbk/ejd0
>>726
自分より劣っている人みてどう思う?
そうなりたくないと思うのか、一緒になって馬鹿やっていくつもりなの?
2023/08/14(月) 10:38:54.28ID:RxDKQnu40
文法の違いなんて大した問題じゃないから、まともなプログラマなら未経験でもすぐ書けるようになる
たまたま今まで必要になってなかっただけ
2023/08/14(月) 10:52:14.00ID:TTcLrbC8M
そりゃ必要無ければやらないだろ
別の選択肢があるのにわざわざVBA使う意味がない
2023/08/14(月) 18:28:40.53ID:O3+IEAUZ0
今年度に入ってから、どうしても必要だったVBA&フォームをやっておいたから、Visual C#にもさほど抵抗なく入っていけたわ。
2023/08/14(月) 18:50:17.54ID:tqsR7qSU0
さすがに失礼でしょ。
自分より劣ってるとか一緒に馬鹿やってくとか、自分はそういった目で回りを見ないですから。
2023/08/14(月) 20:38:20.98ID:kEtDriiW0
>>726
要は、それでその部署の業務効率がそれなりに上がっているのなら何の問題もないってこと
もしかするとあなたがVBAを使うことに拘っているだけで、そんな部署で周囲が不慣れなVBAを使う方が逆に非効率化につながったりするかもね

例えばただの会計部門があるとして、そこで発行する請求書の金額計算をVBAで即時計算するシートを作ったとして、これは本当に効率的なんだろうか?
そして他の社員から「消費税率変えたいんだけどやり方が分からないから書き直して」と言われたときに、「あー、これだからレベルの低い社員はー」とか嘆いた場合…
レベルが低いのはいったいどっちなんだろうか
734デフォルトの名無しさん (スッップ Sdba-mZuj)
垢版 |
2023/08/15(火) 00:12:24.51ID:oAFI4asrd
そもそも会計ソフトがない職場って…
ニートなのか?
2023/08/15(火) 01:12:34.71ID:y7tnnM+w0
そういう会社たまに募集出てる。
手書きで帳簿締められる人って条件だったw
2023/08/17(木) 12:54:54.24ID:jWboogY+0
chatgptでコード生成すると頼んでもいないのに余計な機能付けてくれるね🥹
2023/08/17(木) 18:13:15.19ID:/dFKjIE80
それは頼み方が悪いだけ
普通は何回も続きを要求しないと最後まで書いてくれない
738デフォルトの名無しさん (ブーイモ MMb3-pwIG)
垢版 |
2023/08/22(火) 16:00:04.20ID:iKCtheYZM
質問ですみません

とあるログイン画面で
IDとPWをsendkeysで入力して
オートログイン試みたのですが
PW欄は入力反映してID欄は空白の状態です。

試しに、かな入力モードにして実行すると
ID欄にかな入力で反映されますが、
変換(例:testだと「てst」になる)
されているためログインできません。
これはログインID欄側のセキュリティ等の
問題なのでしょうか?

IDとPWは半角英数字で、
事前にセルに入れてあるのをvalueで得て
sendkeysで送ってます

送信先をセルやWordにすると共に
入力されるのは確認できます。
2023/08/22(火) 16:27:04.61ID:xuHs4woBM
速すぎたんじゃね
2023/08/22(火) 16:50:30.86ID:hH58UM4T0
メモ帳でsendkeysを使ったら、Windows 10とWindos 11とで
メモ帳が完全に立ち上がるまでの時間にわずかな差があるから、
Windows 11では発行が早すぎて何も起こらなかったことがある。
2023/08/22(火) 17:20:50.90ID:6VUW5eCD0
せんどきーねえ。。
742デフォルトの名無しさん (ブーイモ MMb3-pwIG)
垢版 |
2023/08/22(火) 17:35:32.69ID:zRHQEGsEM
皆さま、ありがとうございます

最初早すぎだと思って
試しにIDで止めてみても
マウスポイントがチカっと光って(送られてる?)
何も反映されませんでした。
次にID欄に実行してるのを
PW欄だけで実行すると入力されたので
ID欄自体の問題かなと考えてます。

学校のedgeからIEモードで開いた
ログインサイトで
家のPCでは出来たのですが
学校配布のPCで実行するとダメでした。

夏休みの自由課題としてやっていたのですが
行き詰まってしまいました。
2023/08/22(火) 20:08:55.62ID:7p7UHXwl0
ブラウザの話ならそう言えよ
解決方法はしらんけどな

ieならActiveXからの操作で安定だろ
2023/08/22(火) 20:47:58.60ID:57wATwN5M
Selenium使ってVBAでサイト開いてログインしたいって話でしょ
すぐわかったけど
エッヂのバージョンとウェブドライバーのバージョンが合ってないとかその辺か
2023/08/22(火) 21:13:55.24ID:97CmeXUS0
最近chromedriverの更新が追い付かなくて対応するのが面倒だった。
webdriver-managerにして改善したけど遅いな
2023/08/22(火) 21:16:51.83ID:FwAi9wzX0
Seleniumってセンドキーなんかつかわないかんの?
2023/08/23(水) 01:12:56.32ID:cxtvhOeg0
Sendkeysが必要になるかどうかはwebサイトの作りによる
入力フォームなどにIdがちゃんと設定されてないと詰みがち
2023/08/23(水) 22:51:14.34ID:BlvzWZd70
>>738
DOMってわかる?
ウェブサイトってタイトルやフォームみたいなパーツで作られてるのは直感的にわかると思うんだけど、
それらは全部住所みたいなものを使って直接触ることができるのね。

そのDOMを使ってID欄やPW欄の入力されてる文字自体を変更し、
次に送信ボタンを触ってclickメソッドを実効するのが一般的な方法だと思う。
「スクレイピング ログイン vba」とかで検索すると簡単に出てきます。

sendkeyだとタイミングの問題の他、そもそも入力欄が選択されているのかの問題もあるから、
ゲームみたいなそもそも入力欄がないような場面でしか使わない。

タイミング問題はDOM操作にも発生するけど、
読み込みを待つための定番コードがあって比較的安全にアクセスできる。
こちらも「selenium 待つ vba」で検索すると出てきます。
2023/08/24(木) 05:03:17.77ID:wXHnjh4RM
Microsoft、「Python in Excel」を発表 ~Windows向けベータ版でテスト開始
https://forest.watch.impress.co.jp/docs/news/1525532.html
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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