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/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番簡単で誰でもできる」とか書き込みしてるヤツいたから。
638デフォルトの名無しさん (ワッチョイ 4f2f-0Ek0)
垢版 |
2021/06/29(火) 11:58:35.93ID:SnFn9ujO0
VBAはプログラミングの中で1番簡単で誰でもできると思うよ
2021/06/29(火) 12:00:29.94ID:FQiEOJle0
そうだな
言語という枠に囚われなければ
最近発売された任天堂の
ナビつきなんちゃらとかの方が
簡単かも知れないな
2021/06/29(火) 12:01:34.39ID:NaeElEpxH
現役で広く使われてる言語の中では、VBAはかなり簡単な方だと俺も思うよ
この場合の簡単というのは、敷居が低いって意味もある

ネットでも書店でも初心者向けの情報があふれてる
最低限の開発環境が用意されてて、書いたらすぐ実行して結果が確認できる
変数の型も自由だからつまづきにくい
641デフォルトの名無しさん (ラクッペペ MM4f-wXzc)
垢版 |
2021/06/29(火) 12:05:38.73ID:s/tCdoZmM
HelloWorld出すまでの敷居はExcel買うだけ
2021/06/29(火) 12:32:40.84ID:bYu98Ddma
問題は 「VBAが簡単か」より「VBAより簡単で誰にでもできる言語があるか」じゃないかな
2021/06/29(火) 12:47:01.58ID:FQiEOJle0
>>642
言語という枠に括られるのであれば恐らく無い。
JavascriptはwebだからどうしてもHTMLやCSS等の知識が必要になるし
Pythonもwebで使うなら同様、そうでなければWPFの知識が必要になる

C#やVB.NetはObject指向言語でそもそもが難しい。
javaも色々なところで使われているもののObject指向言語な上に自分でフレームワークを構築したりしなければいけないとなったらもう論外。

C、C++はポインタの概念で向いてない人はすぐはねられる。Rubyは年収が安いのでこれも論外。
2021/06/29(火) 16:00:30.53ID:qbu9S1m90
>>640
敷居が低いのは大きな利点と思う。
入出力はシートに任せて、処理の部分だけ考えればいい。
VBだけで作ろうとしたら、2次元の表の構成から考えなければならない。
2021/06/29(火) 18:32:35.45ID:UAOAx8ODd
VBAしか使えない環境ってのが多いと思う
2021/06/29(火) 20:15:53.21ID:aNu/AcNwa
VBA以外にもVBSとVBEがつかえます
2021/06/29(火) 21:08:21.40ID:FQiEOJle0
VBSはともかくVBEは言語じゃないでしょ
2021/06/29(火) 22:26:46.70ID:mpvk29rk0
VBAKAは使えません
2021/06/30(水) 00:07:14.96ID:UO8hRHbx0
学歴無いとVBAは無理と聞いたんですけど??
どうなんですか? 真面目に
2021/06/30(水) 00:11:29.75ID:RWp8exIya
学歴がないのは幼稚園児か
2021/06/30(水) 15:30:59.23ID:OxVbJjtU0
>>649
VBA自体は学歴は関係有りません
勉強すればその辺にいる小学生でも扱うことは出来るでしょう。

ただその性質上、企業等で扱う場合は業務的な知識を必要とする場合が多々ありますので、その知識は必要です。
2021/06/30(水) 16:05:06.37ID:veFne+GfM
>>649
大卒だと英語読めるだろうから覚えは早いと思う
おれは学がないから最初はcurrentregionでも何じゃこりゃ状態
2021/06/30(水) 17:22:19.33ID:VBm8pdRld
今や大学の半数がFランだぞ
英語が読めるやつなんて大卒の半分もいない
2021/06/30(水) 18:50:21.62ID:UO8hRHbx0
昔は大学に入学できる=エリートだった印象が
2021/06/30(水) 19:12:14.68ID:qnYWmNMH0
>>652
なななな・・・何時代の常識でしょうか?
2021/06/30(水) 20:31:26.49ID:S6O23UPed
大卒がエリートだったのは昭和40年代まで
学生運動が広まったあたりで、学生の本文は学問であることを忘れたやつが増えて、大学は遊びに行く場所になってしまった
2021/06/30(水) 21:00:55.74ID:UO8hRHbx0
ああ、そうでした
学生みんながみんなじゃないけど、今はあまりパソコン自体使わないでスマホでレポート書いてるとも聞きました。
WordやExcelに触れない学生が多いとか
2021/06/30(水) 21:04:31.81ID:b23DOaeaM
スマホでレポート書いてる様な連中はまともなところには就職できないだろ
2021/06/30(水) 21:52:23.55ID:8DMn1acma
ここってなんだかんだ言って盛況だよね。
2021/06/30(水) 22:05:50.38ID:jd27AI5Md
病院の待合室は年寄りの集会場
2021/06/30(水) 22:07:49.74ID:XHLsVpGg0
英語より数学だと思う
2021/06/30(水) 23:46:39.97ID:UO8hRHbx0
四則演算知らないと厳しいすね
2021/06/30(水) 23:51:04.22ID:jdqkhXiAM
群論を学べば四則演算の見方が変わる
むしろ世界観が変わる
2021/07/01(木) 00:07:02.49ID:jzCPGhB00
加算減算乗算はわかりやすいのに
なぜ加算をくりかえすだけの乗算の逆の除算で
いきなりわけのわからん世界がでてくるんだ?
2021/07/01(木) 00:28:16.24ID:ZwyDBMjDM
除算はまだ序の口
実数直線だけの世界
複素平面やリーマン面まで知れば世界はさらに広がる
2021/07/01(木) 00:43:29.50ID:76WiGq0Z0
>>663
わかる
vba → プログラミング → 関数型言語 → 圏論 → 群論 ってきて完全に数学の世界観にハマってる
分かんないながらも最近ずっとヨビノリ見てるわ
2021/07/01(木) 03:36:49.52ID:QCYCy1Ww0
周りの人間は、仕事で必要な知識だけ身につければおkと言われた。
マニアックな事までマスターしなくて良いと
2021/07/01(木) 07:43:31.24ID:XmwXrAMd0
>>667
お前の職場内での事ならそれでいいんじゃね
2021/07/01(木) 07:53:08.69ID:XmwXrAMd0
まだ仕事で必要な知識が身に付いてないんだろうし
2021/07/01(木) 08:00:26.50ID:hboXAMerp
仕事上のプログラミングなんて
可読性と汎用性が最重要
研究してるなら全部度外視で掘り下げる
2021/07/01(木) 12:09:18.88ID:QCYCy1Ww0
わかった
2021/07/02(金) 03:59:24.30ID:iwESPQ410
最近ソルバーっていうの覚えたんだが、これ凄いな
ゴミみたいなマクロ作ってないで、最初からこれ使ってればよかったわ

最近のエクセルはデータの読み込みとかピボットとか格段に使いやすくなってるし、
言語機能的な問題じゃなくて役割的な意味でVBA使う必要がドンドンなくなってきてると感じる
2021/07/02(金) 04:13:59.35ID:SUe4/o7a0
奴隷のスケジューリングがはかどりそうだ
674デフォルトの名無しさん (ワッチョイ a38e-p275)
垢版 |
2021/07/02(金) 04:19:07.42ID:zQG51z+B0
>>672
で?馬鹿な頭自慢か?
2021/07/02(金) 04:29:31.08ID:SUe4/o7a0
とおもったらナップサック問題とかむりっぽいな
2021/07/02(金) 05:30:54.67ID:rz2f8HXN0
>>672
最近のエクセルって・・・
ピボットとかデータ読み込みとか何年前から付いてた機能だと思ってるの?
この人スピルとかxLookupとかifsとか全く知らなそう

ここにいる人達はみんなそういうのとっくに知ってる上でVBAやってると思うよ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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