Excel VBA 質問スレ Part69

■ このスレッドは過去ログ倉庫に格納されています
2020/12/13(日) 00:22:23.67ID:Fd224klc0
!extend:checked:vvvvv:1000:512
↑同じ内容を2行貼り付ける

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

※前スレ
Excel VBA 質問スレ Part68
https://mevius.5ch.net/test/read.cgi/tech/1598756127/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
494デフォルトの名無しさん (ワッチョイ 7d01-unxX)
垢版 |
2021/02/01(月) 16:35:31.74ID:4U/YDNuw0
ど素人の質問で大変申し訳ないのだけど、教えていただけないでしょうか。


Sub test()
Dim s As Worksheet

Set s = Worksheets.Add

Debug.Print "ActiveSheet.CodeName : " & ActiveSheet.CodeName
Debug.Print "s : " & s.CodeName
End Sub

というコードで、ワークシートを1枚追加してそのワークシートのコード名を取得しようとしたところ、
VBEを開いているときは問題なくコード名を取得できるのですが、
VBEを開かずに開発タブからマクロを実行させると、ActiveSheet.CodeName も s もブランクとなり、コード名を取得できません。
(VBEを開いた状態であれば、開発タブから実行させても取得できる)

何か追加で設定しなければならないことなどあるのでしょうか?

Excelのバージョンは 2019MSO(16.0.13530.20418)32ビット です。
2021/02/01(月) 17:21:35.68ID:90ziZ1xl0
Debug.PrintじゃなくMsgBoxにしても無理?
2021/02/01(月) 17:26:28.07ID:4U/YDNuw0
>>495
MsgBoxにしてみましたが、変わらずブランクのままでした…
2021/02/01(月) 17:33:05.91ID:90ziZ1xl0
CodeNameプロパティは
VBE閉じてると取得できないみたいね
https://social.msdn.microsoft.com/Forums/ja-JP/d8862af1-4790-44a8-a6b8-89fc9681f7af/excel-12398-codename?forum=officesupportteamja
2021/02/01(月) 17:40:51.41ID:vqEWjed4a
>>492
>>493
ありがとうございました
他人のコードを意味も分からず流用してました
戻り値なんですね
2021/02/01(月) 17:52:09.95ID:GaUVwnAZH
>>497
これまじかー
イベントを起動するシート判定に使おうと思ってたから痛いな
配布する前でよかったのが救いか
2021/02/01(月) 17:58:19.66ID:s7QwQuf00
Nameは使える
2021/02/01(月) 18:31:44.12ID:4U/YDNuw0
>>497
ありがとうございます!
おかげさまで解決しました!
ものによってはVBE閉じていると取得できないということもあるんですね…勉強になりました…
2021/02/01(月) 19:44:46.16ID:x4MWOITLH
497は既存のオブジェクトは大丈夫みたいだな
良かった
2021/02/01(月) 23:01:45.15ID:neAX3K2a0
VBAでIoT、たとえば防犯カメラを特定の時間稼働させることできる?
2021/02/01(月) 23:03:50.03ID:cgpbZmzy0
知らんけど何故VBAでやるの?
2021/02/01(月) 23:04:15.16ID:neAX3K2a0
もしくはラズベリーパイ動かせたりする?
2021/02/01(月) 23:04:51.14ID:neAX3K2a0
>>504
できるのかなと思て
ただの興味本位
2021/02/01(月) 23:11:41.22ID:KRwxYz520
できない
2021/02/02(火) 01:35:01.99ID:eRozloyAH
もちろんできるが
2021/02/02(火) 02:35:02.20ID:K9rz1pjI0
VBAなんか使わなくてもできるだろ
2021/02/02(火) 03:35:20.04ID:CQc47MX20
VBA以外のもんでも使ってりゃいいよね
511デフォルトの名無しさん (ワッチョイ 668e-RKRS)
垢版 |
2021/02/02(火) 05:46:24.43ID:rAxQwi5Z0
こんなこともわからない馬鹿には無理
2021/02/02(火) 07:45:22.80ID:k1bhpTE6x
複数のユーザーフォームをボタンと紐付された関数ごと
別のフォームのマルチページの一つのページとして統合したいんだけど
どうやったらいい?

コントロールのコピーしたら関数まっさらになってしまう
2021/02/02(火) 08:44:36.43ID:xrgeUBRvM
コードもコピペしてオブジェクト名整えれば?
2021/02/02(火) 09:39:10.72ID:k1bhpTE6x
すまん
問題はオブジェクト名にあった

コントロールをコピーして貼り付けるとコピー元とは無関係に
左上から連番でオブジェクト名が新規に付けられてしまう
それで元のコードとの相関性がグチャグチャに

他のフォームからコピーするとオブジェクト名の重複が発生するから
しょうがないとは思うが…

複数フォームを一つのフォーム内ページで管理出来たらコンパクトでいいと思ったが甘かったか
2021/02/02(火) 09:52:43.44ID:k1bhpTE6x
ボタンのオブジェクト名をマクロで変更するにはどうしたらよいかわかる?
2021/02/02(火) 12:07:20.51ID:K9rz1pjI0
素人が作るからそいういう糞システムになる
2021/02/02(火) 13:21:01.13ID:1bf+ts0k0
え?
まさかみんなプロなのここ??
2021/02/02(火) 13:30:17.30ID:k1bhpTE6x
仕事で使っちゃあいるが
ほぼ趣味だな
一度も仕事としてコーディングしたことはないな
2021/02/02(火) 14:20:46.66ID:CQc47MX20
言葉遊びどーでもいい
2021/02/02(火) 20:44:18.05ID:gUgxJ4hN0
VBAで何か生活の役にたつアイデアある?
家計簿しかり、体脂肪計しかり。他には?
521デフォルトの名無しさん (ワッチョイ 2ae6-mj3q)
垢版 |
2021/02/02(火) 20:55:15.73ID:9gegCBvb0
アンケートならもっと人のいるところでやりましょう
2021/02/02(火) 21:54:41.99ID:6HeFUyi4M
扱いたいデータ次第でしょ
スマートメーターとか
デジタル温湿度計とか
インプットのデータが多様であればあるほど
得られる成果の種類も増えるというもの
2021/02/02(火) 22:01:58.54ID:6HeFUyi4M
素人質問
VBSで正規表現の(肯|否)定(先|後)読みが出来ないっぽいんだけど
気のせい?
2021/02/02(火) 22:07:07.66ID:/jXNxNj70
VBAを生活に役立てるとかいう発想が的外れすぎる
Officeでやりたいことを実現する為のものってことすら理解してない
2021/02/02(火) 22:11:21.43ID:CQc47MX20
そんなの正規表現じゃないからできないよ
もちろん一番肝心なVBAにとってのね
2021/02/02(火) 22:11:57.41ID:CQc47MX20
>>524
いまいち理屈になってないな
2021/02/02(火) 22:26:20.10ID:aIKF9fP10
俺はVBAで彼女できたし宝くじも当たった
死んだばあちゃんまで生き返って超ハッピーだわ
2021/02/02(火) 22:27:38.52ID:CQc47MX20
で、オフィス365で結婚できたんだろ?w
2021/02/02(火) 22:46:41.30ID:gUgxJ4hN0
競馬当てるアプリ作れないかなあ
2021/02/02(火) 22:59:13.66ID:IsWRFffm0
まず、「当てるアルゴリズム」を考えなきゃだなw
2021/02/02(火) 23:44:33.28ID:gUgxJ4hN0
ExcelVbaでコロナ撲滅できないかなあ
2021/02/03(水) 00:08:17.17ID:Yvoh8zTm0
感染者の数字をいじればあら不思議
2021/02/03(水) 00:13:00.26ID:IsA8Nz810
>>532
最近、感染者数を少なく発表して緊急事態事態宣言の効果だと思わせてるように感じるわ
でもそれで皆が緊張感を持てば本当に少なくなるわ
2021/02/03(水) 00:22:42.50ID:IsA8Nz810
数字の操作ってゆうか
2021/02/03(水) 00:25:44.87ID:LtKIm7ALM
>>525
意味がわかりません
2021/02/03(水) 09:12:57.83ID:oZwwFQVT0
>>532
なんだEXCELのおかげで減ったのかw
2021/02/03(水) 15:27:10.82ID:+BSqfKukd
感染者数、重症者数、検査数の計算に100パーセントExcel使ってるだろう
2021/02/03(水) 15:33:21.67ID:OWg+mFa00
公務員はエクセル使えるほど有能じゃないよ
2021/02/03(水) 15:43:30.53ID:+BSqfKukd
じゃどうやって計算するんだ
2021/02/03(水) 15:43:54.79ID:OWg+mFa00
電卓
2021/02/03(水) 15:47:57.83ID:vHpfqXCDM
役所の資料落としたら実数入ってることあったけど
関数での計算結果を貼り付けた訳じゃなかったのか
まぁ役所なら只管電卓叩くのはありそうだけど
2021/02/03(水) 15:48:46.57ID:pCF2gtkpM
公務員は電卓使えるほど有能じゃないよ
2021/02/03(水) 17:11:17.18ID:NujmcxqJ0
計算できるとこに丸投げ
2021/02/03(水) 19:08:06.27ID:3ZiqWZ4T0
>>539
算盤
2021/02/03(水) 20:08:10.32ID:N+D/8PXWM
国家公務員ですがVBAとADO(+SQL)でAccessや業務システムからデータ引っこ抜いて統計資料作ったりしてます
前任者は紙に印刷して正の字書いたり交通調査で使うカウンターみたいので数えてました
他にも色々業務楽にしましたが報告すると人が減らされるので、
隠しておいて余った時間に資格試験の勉強とかしてます
2021/02/03(水) 20:31:35.92ID:OWg+mFa00
手作業が当たり前の公務員の職場環境で
マクロ使うとめっちゃ時間余るわな
2021/02/03(水) 20:32:39.17ID:OWg+mFa00
結局>>545もやってる仕事は
効率化なぞしてない無能公務員のままってことなんだから
2021/02/03(水) 21:04:10.99ID:8fFe9VfNM
VBAによる小手先の自動化により無駄な業務の整理や業務フローの見直し、システム改善などの本質的な業務改善のモチベーションが失われ、
結果的に業務効率を下げているというのはVBAあるある
2021/02/03(水) 21:24:07.09ID:pw5uMyFVM
dictionaryに一括代入ってできますか?
2021/02/03(水) 21:29:55.02ID:u9u/PMRw0
>>541
只管とかよくすらっと出てくるね。
2021/02/03(水) 21:31:21.01ID:u9u/PMRw0
>>545
待てこら、それ税金…
2021/02/03(水) 23:26:22.08ID:IsA8Nz810
>>545
周りのひとはvbaやマクロの存在を知らない
業務ではほぼエクセルを使用
そんな企業に転職したい
2021/02/03(水) 23:34:48.39ID:OWg+mFa00
一般事務になるね
マクロできて当然の職場よりは時給下がると思う
2021/02/03(水) 23:54:01.09ID:KaBI8RGU0
結局そういうアナログな企業は、効率化か進まないしそんな脳みそじゃ事業の収益性も低い。よって給料も少ない。
2021/02/04(木) 00:29:12.39ID:EDgIUA7r0
そりゃそうだ
VBA出来て作業効率高い方が給料も高いわな
ただ単純に考えればVBAを
生業にしている奴より
VBAを補佐的に使って実際にはJavaや
C++、C#、Ruby等で大きなシステムを
作れる奴の方が給料は高い
下を見てもきりがないが
上を見てもきりがないのだよ
2021/02/04(木) 05:41:02.93ID:k/pdvxcQM
>>547
抜本的な改革は現場じゃできないです
国家公務員なんで法律や規則、本省が定めた通達や事務連絡、業務システム等を使うことは義務付けられていて、
特段の定めのない部分を各自の裁量の範囲内で工夫するしかない
そしてその範疇ですらある程度の規模の改革をしようとすると根強いアナログ派に今の業務を変える必要がないと反対されます
2021/02/04(木) 08:45:54.79ID:EDgIUA7r0
>>556
全く
それで糞国家公務員の糞議員が
こんなこと言ってるんだから笑える

【科学】「技術先進国とは呼べなくなった日本…デジタル化は20年遅れ、未知数の研究への投資にも消極的」 元内閣府副大臣が警鐘 ★6 [ボラえもん★]
https://asahi.5ch.net/test/read.cgi/newsplus/1612392403/
2021/02/04(木) 12:43:48.65ID:HL3/AUUDa
システムは作るのが目的ではなく、運用してなんぼ
2021/02/04(木) 16:00:33.10ID:UCczH9pi0
政治家が無理矢理変えてあげないとダメなままってことだね。
しかもいい方向に変えようとすると文句を言うほどの無能の二乗。
政治家の改革に公務員は文句を言ってはならないという法律を作らないとな。
2021/02/04(木) 18:23:19.39ID:Si5WR9J9M
予算分捕るためのシステム構築だからいざ運用しようとすると結局人を介しての無駄な作業になってる
561デフォルトの名無しさん (オッペケ Srbd-akYw)
垢版 |
2021/02/04(木) 18:37:47.68ID:FKk50fHur
Open、put といったバイナリーファイル作成するコマンド類使ってファイル書き出したら、
破損しているとメッセージが出る。
それでも修復して開くと元ファイルと同じような感じなのですが、破損されないやり方ってありますか?ちなみにWordやエクセル形式でなってます。
2021/02/04(木) 19:17:39.93ID:4EyDekmA0
民営化勧めた結果だろ
国が技術に直接投資できる機会が減っただけ
2021/02/04(木) 19:49:33.76ID:oAeYA3FP0
誰かVBAでココア作ってやれよ
2021/02/04(木) 19:53:24.63ID:hiF+rUbe0
VBAでモバイル向けアプリは不可能
2021/02/04(木) 20:04:35.91ID:Gq769HFz0
スレチ
2021/02/04(木) 20:22:03.56ID:txoKZHIlx
>>553
東証一部上場のnot ITな技術職だけど
周りびっくりするほどマクロ使える人居ないよ
スクリプトの存在知ってる人で10人に一人くらい
年齢層高くてWindowsupdateも怖いってな感じな
アナログ昭和な雰囲気が色濃く残る
でも儲かってんだからあんまり気にしないって感じでな
2021/02/04(木) 21:59:36.09ID:SP6gWQY80
>>566
よその会社がどんなだろうとわしらに関係ないし
2021/02/05(金) 00:16:00.19ID:7kBPI4G70
HashiCorp の時価総額は5,000億円、GitHub は8,000億円で、

Shopify は15兆円で、
Airbnb は10兆円で、米ホテル大手3社の合計を超える

Ruby on Rails だと、社員1,000人で、1兆円ぐらい行く。
他の言語の10倍ぐらい高い感じ
2021/02/05(金) 01:22:13.93ID:iyRthznT0
だからなに
2021/02/05(金) 11:14:22.52ID:s99X7duh0
何かいているんだろうね
誤爆かな
2021/02/05(金) 19:34:57.84ID:6dLnjK/10
お前が死ぬ?
だからなに?
2021/02/06(土) 07:31:11.79ID:h7KDjzAUa
たらばがに?
2021/02/06(土) 10:04:32.10ID:vJxzd/Np0
タラバガニはカニとつくがヤドカリの仲間
2021/02/06(土) 10:30:51.90ID:V74K/t/p0
前レスにあったVBAでChromeのWEB操作って安定するの?
2021/02/06(土) 10:31:59.83ID:V74K/t/p0
今流行りのRPAってVBAのsendkeyみたいなもんなのかなー
2021/02/06(土) 16:20:00.03ID:Dqii0zXCd
>>575
全然違うw

VBAでも同じことが出来るがSendkeys使うのは、かなりレベルが低い。

普通はUIAutomationか古くからのウィンドウハンドルにコントロール毎の個別メッセージ投げる方法。
2021/02/06(土) 16:31:09.62ID:V74K/t/p0
UIAutomationはじめてきいたよ
検索したら結構すごいな
ありがとうだよ
2021/02/06(土) 19:33:52.07ID:fN47MGl7x
UIAutomation不安定で使いにくいよ
2021/02/06(土) 20:06:48.07ID:V74K/t/p0
あ、そうなの
安定は何?
2021/02/06(土) 20:46:25.88ID:Ye4r/rjw0
Hand
2021/02/06(土) 21:31:42.19ID:V74K/t/p0
Hand?
検索しても出てこない
2021/02/06(土) 21:32:07.41ID:UWEF+xf00
手作業って意味では?
2021/02/06(土) 21:37:41.59ID:V74K/t/p0
えっ!(>@<)
2021/02/06(土) 21:43:24.63ID:lh4GrNRq0
>>578
自分の技術が未熟なだけだろ。
2021/02/08(月) 08:31:47.69ID:3VxmPK6Z0
他の言語にはできてVBAにはできないことって何がある?
2021/02/08(月) 10:21:36.60ID:Scq1JBqB0
環境構築
2021/02/08(月) 10:40:50.82ID:+Mz9f4POH
>>585
言語も色々あるから、VBA「だけ」にできないことってのは思いつかない
VBA「にも」できない、ならexe化とか色々あるけど
2021/02/08(月) 11:53:50.27ID:i/vSXK/G0
>>585
Object指向言語で言うところの継承。
VBAにもインターフェース継承と言うものはあるが、
あれはObject指向言語の委譲に当たるので別物。
2021/02/08(月) 12:19:06.34ID:dnKpq+Faa
>>585
エクセルを使わないで何かする
2021/02/08(月) 12:48:06.83ID:qHUCVA4k0
>>585
全く出来ないわけじゃ無いけど、実質無理なのはマルチスレッド。
マルチプロセスなら出来るけど。
2021/02/08(月) 18:11:48.67ID:p8c3QmB90
ブックを閉じるときに、全部のシートでA4、A6、A18、A20、A22のいずれかのセルに値が入っていたら、
シート名の先頭に"済"をつけて、シートを最後尾に移動するマクロを作りたいのですが、Worksheets(ws).Name = "済" & Worksheets(ws).Nameの所で
「実行時エラー13・型が一致しません」になります

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim ws As Worksheet
For Each ws In Worksheets
ws.Activate
If ws.Cells(4, 1) Like "" And _
ws.Cells(6, 1) Like "" And _
ws.Cells(18, 1) Like "" And _
ws.Cells(20, 1) Like "" And _
ws.Cells(30, 1) Like "" Then
Else
Worksheets(ws).Name = "済" & Worksheets(ws).Name
ws.Move After:=Sheets(Sheets.Count)
End If
Next ws

Application.Quit
ThisWorkbook.Close savechanges:=True

End Sub
2021/02/08(月) 18:14:26.48ID:NxJgvgy90
そりゃ一致しないw
Worksheets(ws).Nameじゃなくて、ws.nameでいけるよ
2021/02/08(月) 18:18:43.05ID:p8c3QmB90
>>592
ありがとうございますm(_ _)m
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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