Excel VBA 質問スレ Part71

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 0f5f-nIK+)
垢版 |
2021/05/25(火) 12:48:01.06ID:mepUVc/i0
!extend:checked:vvvvv:1000:512
↑同じ内容を2行貼り付けるナリ

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

※前スレ
Excel VBA 質問スレ Part70
https://mevius.5ch.net/test/read.cgi/tech/1616072923/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2021/06/25(金) 18:42:08.78ID:2BrnQ6rs0
>>535
自動計算解除して変えたいセルの値全て変えてから
自動計算を有効にしましょう
2021/06/25(金) 18:56:39.24ID:+d6D4vlfM
もうそのレベルだと計算式消して全部マクロのほうが良さそう
2021/06/25(金) 19:21:22.62ID:1hf1yXL60
Index+Matchにすれば解決するかな?
2021/06/25(金) 19:33:19.05ID:iT16KKQVM
>>535
そりゃvlookupで参照されてたら変化する可能性があるから検索し直すしかないわな
2021/06/25(金) 19:43:27.52ID:NIf9z4HJd
>>535
うちに何でもA:Aとかやっちゃう人いて、無駄に重くなってるわ。
2021/06/25(金) 21:46:15.48ID:vmY2fUxg0
>>540
多分、テーブルでindex(match())にするのが吉
2021/06/25(金) 22:51:04.98ID:n+eilb530
テーブルはいいね、Excelの中では最適化されてるから無駄が少ない
2021/06/26(土) 00:59:51.95ID:yS+urnnX0
時代はテーブルかい
いまだにセルをオサレにする機能だと思い込んでいる人いるがな
2021/06/26(土) 01:37:53.59ID:+M7iFB5a0
vbaスレで時代を語るとは片腹痛し
2021/06/26(土) 03:05:17.29ID:yS+urnnX0
時代もなにもここはExcel2003で時が止まっていると聞いたから
2021/06/26(土) 03:14:40.43ID:+M7iFB5a0
そんなかわいそうな事言うなよ
今VBAを勉強してるジジババは、エクセル作業を自動化できる最新技術だと思って講習会通ってんだぞ・・・
2021/06/26(土) 04:20:29.68ID:6yHEZQAza
>>548
その講習会に参加してたのねw
2021/06/26(土) 04:23:23.00ID:+M7iFB5a0
自分が?
なんの罰ゲームだよ
2021/06/26(土) 06:37:11.80ID:jr0s3oBIp
じじいを舐めたらいかんぞ
最近のじじいはJavascriptくらいはやっとる
2021/06/26(土) 07:20:19.18ID:uNK5rPnpM
てか講習会って何?w
2021/06/26(土) 08:20:23.84ID:GKzUeWOH0
VBAはどこでも使えるRPAツールだろ?
2021/06/26(土) 10:25:11.17ID:G/mKJlN/0
>>526
詰め将棋しかしたことがなく将棋を指したことがないから教えてください、打ち歩詰めは指し将棋でもルール違反なんでしょうか?
2021/06/26(土) 10:33:59.86ID:G/mKJlN/0
>>536
儚い即ち美しい
https://www.youtube.com/watch?v=xUmblqROuqc&;t=119s
2021/06/26(土) 13:11:52.43ID:E99miMeF0
>>554

反則。渡辺明が羽生善治相手に「打ち歩詰めでしか詰まない」、
つまりどうしても一手緩むという状態に誘導して大逆転した将棋がある。

ちなみにその将棋は竜王戦という超賞金の高いタイトル戦7番勝負の
第4戦でそこまで羽生3連勝。勝てば初代永世竜王という称号が手に入る
特大の大一番。

そこから渡辺が4連勝して、その後も勝ちに勝ちまくって初代永世竜王を得た。
2021/06/27(日) 00:40:48.59ID:0jjN1uVU0
ジジイが全員VBに精通しているような書き込みだなw
できる方が珍しいわ
2021/06/27(日) 02:17:27.81ID:2eQpjaFea
講習会に詳しいのは行ったことがあるからだろう
爺に囲まれてあんちゃん凄いねとか言われてその気になってるとかw
2021/06/27(日) 02:20:06.10ID:favEm2Rt0
VBAに講習会なんてあるんか
ああいうのはやって覚えるしかないと思うんだが
聞くだけで頭に入るものなのかね
2021/06/27(日) 05:16:57.44ID:MR++vtd90
vbはただなおもちゃ
2021/06/27(日) 08:31:22.77ID:ySH5QuZbM
職業訓練所のパソコン教育なんかでVBAの講習とかやっているような気がする
2021/06/27(日) 20:06:05.72ID:RFqQo4zbH
たいがいの講習会は、ジャンルに関係なく「やった気にさせて集金する」のが目的のビジネスだぞ
2021/06/27(日) 21:00:25.66ID:+XzpOzer0
新入社員の時間稼ぎ研修とテキストの販売、暇なジジババのボケ防止もある
2021/06/27(日) 21:04:32.62ID:favEm2Rt0
そもそもジジババがvbaなんて覚えられるのかっていう
しかもたかが講習会で
2021/06/27(日) 21:08:42.34ID:favEm2Rt0
講習会程度で覚えられるジジババなら
そもそも講習会なんて行かないでも
少しググったらあっという間に学習しそうな気がするし
2021/06/27(日) 21:22:38.61ID:0jjN1uVU0
そのジジババ様の年齢の範囲によるのでは?
50〜70歳位まではパソコン世代だからVBもバリバリやっていたのでは?
2021/06/27(日) 21:35:38.31ID:QMPxOv6Kd
前も書いたが、その世代のジジババだれもがパソコンはあろかVBAを書けると思っているのか?
理数系ジジババならまだしも、VBA自体できる方が珍しいんだよ。
まあ確かにMS-DOS世代にはなるのかな。
2021/06/27(日) 21:49:49.69ID:+XzpOzer0
かねと時間があるんだからやらせとけよ
2021/06/27(日) 21:55:10.26ID:favEm2Rt0
今スクラッチやってるような子供らなら
余裕でマスターするのかな
2021/06/27(日) 22:50:25.64ID:+t9PlDuj0
できるできない以前に地味だし興味持たない気がする
2021/06/27(日) 23:21:32.21ID:favEm2Rt0
じゃあ、その小学生が仕事するにあたって必要に迫られたときの話で頼む
2021/06/27(日) 23:50:44.99ID:RFqQo4zbH
義務教育の敗北とか言うやつがいるけど、そもそも習ったことをちゃんと覚えてるのは全体の2割以下だぞ
2021/06/27(日) 23:51:31.91ID:favEm2Rt0
じゃあ今の小学生の5人に一人くらいはVBAできそうね
2021/06/27(日) 23:56:00.43ID:I7nWR1yV0
VBAなんて習わずとも、やる気さえありゃ誰でも出来るだろw
できないやつはやる気ないだけ。
2021/06/27(日) 23:58:16.02ID:favEm2Rt0
そうは言いますけどね…できない人はまじでできないらしいのよ
聞いた俺も半信半疑だけど
2021/06/28(月) 01:19:12.30ID:h3Ys8kQv0
動作性IQと言語性IQがそれなりにあって、それなりに忍耐力があれば、かな
2021/06/28(月) 02:10:43.58ID:F/qdDxsQ0
稀に最初から出来る奴がいるとかいないとか。
Excel初日で基本的な事すべてマスターする天才が
生まれ持った才能ってヤツですかい?
2021/06/28(月) 02:32:15.76ID:ZzNlwTs9a
出きる奴もできない奴もいる
それがどうした?
所詮他人事
579デフォルトの名無しさん (ワッチョイ 8f01-zwXB)
垢版 |
2021/06/28(月) 04:35:24.99ID:rxnegQx20
右から、例えば右から4番目の位置に文字を挿入したい場合はどのようにしたら良いのでしょうか?
1.256とか.526のように右から4番目の位置に「.」を入れたいもので
どなたか教えて頂けないでしょうか?
2021/06/28(月) 05:00:17.13ID:Zc0gwfde0
vba 文字列 挿入

でぐぐる
2021/06/28(月) 05:04:49.59ID:Zc0gwfde0
てか、それ数値として1000で除算するとかじゃだめなのか
582デフォルトの名無しさん (ワッチョイ 8f01-zwXB)
垢版 |
2021/06/28(月) 05:26:15.69ID:rxnegQx20
>>580
そのように検索したら左から数えるパターンは出てくるんですけど右からのは見つからなかったんです
583デフォルトの名無しさん (ワッチョイ 8f01-zwXB)
垢版 |
2021/06/28(月) 05:28:00.69ID:rxnegQx20
>>581
そうすると.526で表したいものが0.526となってしまうんです
注文が細かくて申し訳ありません
2021/06/28(月) 05:47:04.54ID:Zc0gwfde0
まぁいろいろやり方はあるんだろうけど
ドットの左側に何があっても依存しないようにするなら
例えばこんな感じとか

Sub tessssssssssss()
Dim source As String
Dim result As String

source = "12345"

result = Left(source, Len(source) - 3) & "." & Right(source, 3)

MsgBox result
End Sub



result = Replace(source, Right(source, 3), "") & "." & Right(source, 3)
でもいいし
2021/06/28(月) 05:49:28.04ID:PSeEXwsm0
>>579
やりたい事がいまいち分からんが
Cells(1 , Columns.Count - 4).Value = 1.256
って話なのか?
2021/06/28(月) 05:55:00.62ID:Zc0gwfde0
数値であることを生かすなら


Sub teeeee()
Dim source As Double
Dim result As String

source = 12345

result = Replace(CStr(source / 1000), "0.", ".")

MsgBox result
End Sub
2021/06/28(月) 07:02:02.08ID:JPrptPG4a
ゼロの時とか注意しなくていいのかな
2021/06/28(月) 07:20:57.91ID:PSeEXwsm0
あ、文字列の右から四番目ね
ちゃんと読んでなかったわ
1000で割ったあと
If x < 1 Then
y = Right(x, Len(CStr(x)) - 1)
Else
y = CStr(x)
End If
って感じとかどうだい?
xはDouble型かCurrency型、yはString型
2021/06/28(月) 07:26:34.40ID:sS5e2Tlr0
>>578
他人事じゃねーんだよ…VBAできるやつが職場に一人しかいないんだよ
それどころか関数の初歩を扱えるやつも2人居る程度っていう
属人化一直線だろこれ
2021/06/28(月) 08:07:31.41ID:immco5jO0
>>589
なら君が覚えればいい
ほら二人になった
2021/06/28(月) 08:40:50.68ID:JyFka1OjM
ごめんその一人は俺だ
2021/06/28(月) 08:48:16.64ID:JyFka1OjM
ID変わったけどおれは589な
593デフォルトの名無しさん (ワッチョイ 8f01-zwXB)
垢版 |
2021/06/28(月) 10:37:20.50ID:GqTPQcXz0
>>586

579です

Replace 関数を使って何とか出来そうです
皆様ご親切に教えて頂いて有難うございました
2021/06/28(月) 10:47:49.40ID:mhPCnoVRd
いや、586のままだと
10.1が11に変換されそうだが問題ないのか?
2021/06/28(月) 10:48:47.29ID:mhPCnoVRd
1.1だった
2021/06/28(月) 10:56:41.39ID:PIban7sd0
>>589
お前は社長か?そういう会社で利益が出ているならお前がやればいいだけのこと
会社が傾くならできない奴を移動させるか、自分が別の会社に行くのとどっちがいいか上司と相談しろ
2021/06/28(月) 11:39:12.84ID:JyFka1OjM
>>596
俺がいるうちはいいし
引き継ぎ後が地獄になるじゃん
下手すると100時間分の作業が手動になるで
後のことは知ったこっちゃないといえば知ったこっちゃないが
2021/06/28(月) 11:55:14.14ID:PIban7sd0
会社員なら上司の指示に従え
2021/06/28(月) 12:03:56.92ID:JyFka1OjM
いやだから指示でもなんでも従いますけどね
後続は地獄だろ
600デフォルトの名無しさん (ワッチョイ 8f01-zwXB)
垢版 |
2021/06/28(月) 12:06:04.43ID:XELgj8uL0
結局、if関数とsubstitute 関数を併用してやりました
2021/06/28(月) 12:06:21.48ID:GNLJR7Hda
いいんですってば。たとえ地獄絵図が広がろうが会社が傾こうが、それは会社が負うべき責任です
義務感まで属人化すんな。下手したらお前が過労で死ぬぞ
2021/06/28(月) 12:07:16.09ID:pcopG4hy0
>>576

動作102で言語137あるんだが、関数型プログラミングが
なかなか頭に入ってこない。オブジェクト指向までならすっと入る。

なので、プログラム全般に対する適性だと、他にもうひとつ
ふたつファクターがあるような気がする。
2021/06/28(月) 13:08:52.66ID:WKSgkgxNa
>>602
そこまで乖離があると自分の中に天才と凡人が同居していて
モヤモヤしそうな…
2021/06/28(月) 13:31:52.03ID:pcopG4hy0
ああ。残念ながらご想像のとおりだよ。
2021/06/28(月) 13:49:47.99ID:iolAc3eIH
2桁や1桁だった時はどうすんの
2021/06/28(月) 14:07:07.30ID:F/qdDxsQ0
VBAをバリバリ使う職場って相当高度で難解な表作成してるイメージ。
実際どうなの??
2021/06/28(月) 14:11:48.53ID:Nf+Q9jA70
表じゃないものを表にしたり、その逆のために使います
2021/06/28(月) 14:30:39.19ID:4xKAygdJa
勤務表の作成みたいな簡単な業務でもvba使うでしょ
2021/06/28(月) 15:03:26.72ID:pcopG4hy0
>>608

実際に職場のシフト表作るのに使ったよ。ナースシフトプロブレムってやつに
なるらしい。

遺伝的アルゴリズムとかルーレットアルゴリズムとかフィッシャー・イェーツの
配列並び替えアルゴリズムとか面白かった。今ってググればなんでも出るから
すごいね。プログラマを引退して長いので驚いた。

その手の用途にはうってつけの道具だと思う。エクセルVBA。
2021/06/28(月) 15:27:57.79ID:Nf+Q9jA70
この人と仲悪いからこの時間帯外してとか口外しずらく証跡を残せない理由によって
一瞬で破綻するのだった
2021/06/28(月) 15:51:47.32ID:iolAc3eIH
>>610
別に理由は書かなくていいんだよ?
「同時に働けない」って条件だけ機械的に設定すればいいんだから
共働きの夫婦なんかでもよくあることだし
2021/06/28(月) 16:17:42.21ID:pcopG4hy0
その通りです。

「新人ばかりの時間帯や日があってはいけない」みたいな条件の一つに
「Aさんと
2021/06/28(月) 16:18:48.41ID:pcopG4hy0
ごめん。途中送信。

「AさんとBさんはかぶらない」みたいな条件をつける感じです。
2021/06/28(月) 17:25:28.02ID:F/qdDxsQ0
まとめ
とにかくよ、高い金払って講習会とかセミナー行くならここに質問した方が無料で教えてくれるし的確だぜ。
良い情報は無料で手に入る
2021/06/28(月) 19:05:31.93ID:Nf+Q9jA70
世の中のプロマネってWBS書くときにナーススケジューリングの解決ソフト使ってるの?
2021/06/28(月) 20:05:07.66ID:qFu4iqR6M
>>615
プロジェクトのタスクというのは担当者や委託先業者がいつ作業しようがいつ寝ようが期間内に終わればいいだけだから厳密なシフトなんか必要ないし、
作業の属人性や依存性も考慮しなければならないのでナーススケジューリング問題ではない
2021/06/28(月) 20:12:31.08ID:pXD9ld7mM
>>606
VBAに?頼るようなとこは、明らかに無意味な業務を排除できずに小手先の自動化で誤魔化している低レベルな職場が多いよ
自動化する前に、そもそもその成果物が本当に必要かを考えたほうがいい
2021/06/28(月) 20:27:41.35ID:F/qdDxsQ0
やはりね
趣味の世界なら頼もしいねVBAは
2021/06/28(月) 20:40:35.84ID:immco5jO0
>>617
VBAに頼ること自体は別に程度が低いことにはならないよ

むしろ中身は以前ならそれで普通にシステム作ってた旧VB6とほぼ一緒な訳だから表計算とかをDBから読んで加工してEXCELに出す程度のものであればVBAだけで十分事足りる

統合システムとかWEBとか
VBAでするべきではないものは確かに存在するけどその辺はケースバイケースで決めるべきで、VBAだから程度が低いことにはならない
2021/06/28(月) 20:53:17.21ID:sS5e2Tlr0
趣味でVBAなんて使うやつそんな居らんやろ
性能低いし
2021/06/28(月) 20:53:28.73ID:sS5e2Tlr0
性能というのは動作速度のことな
2021/06/28(月) 21:03:04.41ID:immco5jO0
>>621
単純にVBAの動作速度が遅いというのであれば
ネィティブコードにコンパイルしないJavaも遅いし、ILすら実行時に変換して行くJavascriptやPythonやVBSなんかも遅いことになるけどな
2021/06/28(月) 21:14:28.18ID:sS5e2Tlr0
マジか…
2021/06/28(月) 21:42:14.56ID:PIban7sd0
>>599
たぶん後続は地獄にならないよ
内容が理解できないシステムを残す方が迷惑だろう
2021/06/28(月) 21:55:47.58ID:pcopG4hy0
>>621

うん。システム屋的にはありえないくらい遅いw

自分で耐えられなくなってオンメモリに動作するように
リファクタリングした。

でも、シフト表作成みたいな月に1回動けばオッケー
的システムだとそれはあまり問題じゃないんだなってのも
学んだよ。

1回の処理で1万パターンくらいの表作って戦い合わせて
最終的な勝者を出すんだけど、1回に10分掛かったって
1時間もあれば上に6パターンの表を出せる。

あとは手動で微調整すれば今までの数倍の効率で組め
ちゃう。

「終わってる言語」のVBAは、現場では終わってない。
個人的にはJavaScriptに早く置き換わってくれなんだけど。
2021/06/28(月) 21:57:31.79ID:sS5e2Tlr0
別に内容がわからないシステムは残らんでいいけど
じゃあ代わりになにか作れるかって言ったら作れないわけで単純に作業量が死ぬほど増えるんだよ
ましてやエクセルの関数すらまともに扱えないんじゃそりゃ地獄になるに決まってる
2021/06/28(月) 22:02:56.07ID:PIban7sd0
>>626
自分の部下が仕事ができないなら自分の責任になるだろう
職場に仕事のできない奴が何人いようがそいつの上司が判断することで口出すことじゃない
2021/06/28(月) 22:25:51.48ID:PIban7sd0
仕事できない奴の上司に管理能力がないと指摘したところで良いことない
VBAができなくても営業、法律、経営とかで必要な人材かもしれんだろ
2021/06/28(月) 22:27:23.38ID:Nf+Q9jA70
人たらし
2021/06/28(月) 22:51:52.30ID:PIban7sd0
職場の人間関係が悪化して会社辞める人ってそんな感じなんだろうなって思う
2021/06/28(月) 22:57:49.31ID:immco5jO0
>>625
ならないよ
そもそもJavascriptはWeb用の言語だ
だから既にWeb版EXCELはJavascriptを
使うようになっているし最近では
マクロの自動生成も公開されている

ただ、Javascriptを使うだけでは
先程言ったようにScript言語なので
Javascript → 中間言語 → ネイティブコードと
変換されるため然程の高速化は
見込めないどころか遅くなる可能性すらある

集約や関数の持ち回りに強いjQueryを
上手くに使いこなしてどうか、といった
レベルになるだろう
2021/06/29(火) 01:41:06.19ID:HQ5y9CB30
実行速度も開発効率も環境の問題であって言語の問題じゃないけどな
2021/06/29(火) 06:27:10.28ID:ZccqS9LI0
同じことをしても言語によって速度差はあるけどな
開発効率は開発環境の問題だが、開発環境は言語によってだいたいきまるけどな

まあつまり、適材適所なんだが
趣味のVBAにどんだけのものを求めるんだ?
いまどきのマシンスペックでVBAが遅くて使いものにならんとしたら、よっぽど向いてない処理をさせたか
どんな言語でも使いものにならん速度しか出ないコードしか書けないかだろ
2021/06/29(火) 07:05:31.83ID:kcmBUDsia
くれくれ君の可能性もあるぞ
2021/06/29(火) 08:31:11.17ID:vrKJ4YHX0
某動画のコメント欄とか見ていると、プログラマーならVBAなんて楽勝でマスターするとか書いてあるけど、Excelのローカルルール知らないと無理だと思ったわ
2021/06/29(火) 11:12:45.42ID:NaeElEpxH
言語の学習なんて、どれもライブラリとローカルルールを覚えるのがメインだぞ
2021/06/29(火) 11:45:54.97ID:vrKJ4YHX0
ひろゆきの動画でVBAに触れていたからさ
信者のコメントが知ったかばっかでドン引きしたんだよ
「VBAはプログラミングの中で1番簡単で誰でもできる」とか書き込みしてるヤツいたから。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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