!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
↑同じ内容を3行貼り付けること
ExcelのVBAに関する質問スレ
コード書き込みや作成依頼もOK
次スレは>>980が立てること
無理なら細かく安価指定
※前スレ
Excel VBA 質問スレ Part76
https://mevius.5ch.net/test/read.cgi/tech/1651339421/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
探検
Excel VBA 質問スレ Part77
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (TW 0H42-j7SA)
2022/07/17(日) 07:07:35.59ID:tS4zKdphH542デフォルトの名無しさん (ワッチョイ 7fda-ZqlE)
2022/09/08(木) 06:11:23.79ID:vw1M88UR0 誰が上級者と認定したん?
ここのカキコに資格試験なんかあるかいな・・・
回答が使えるかどうか、正しいかどうかが全てじゃ。
ここのカキコに資格試験なんかあるかいな・・・
回答が使えるかどうか、正しいかどうかが全てじゃ。
543デフォルトの名無しさん (ワッチョイ 47da-XSui)
2022/09/08(木) 06:33:16.02ID:13BgqVgC0 どこで宣言するか問題って、画面上部をスクロールせず固定出来るようになれば解決するんだろうな。
エクセルは出来るんだから、VBAの画面も出来るようにして欲しいものだ。
エクセルは出来るんだから、VBAの画面も出来るようにして欲しいものだ。
544デフォルトの名無しさん (アウアウウー Sa8b-hVXw)
2022/09/08(木) 06:54:06.36ID:9KZ4CtoQa >>543
VBEは昔ながらのUIなので垂直スクロールバーの上部を下にドラッグすると同一オブジェクトコードの水平分割表示ができるけれど
VBEは昔ながらのUIなので垂直スクロールバーの上部を下にドラッグすると同一オブジェクトコードの水平分割表示ができるけれど
545デフォルトの名無しさん (ワッチョイ 5f4f-ozIc)
2022/09/08(木) 08:07:26.88ID:YfOXyicz0 >>541
分かり辛かったかな?
平たく言うと変数が何に使っているか分かり辛くなるような長いコードをひとつの関数やメソッドに書くなということ。
そもそもひとつの関数やメソッドにはひとつの役割だけ持たせるべきで、そうした場合、変数が何に使ってるか分からないくらい長くなること自体あまりないし、
それで長くなるようであればそもそもの作りがおかしいのでリファクタリングの対象とする、ってことなんだけどね。
分かり辛かったかな?
平たく言うと変数が何に使っているか分かり辛くなるような長いコードをひとつの関数やメソッドに書くなということ。
そもそもひとつの関数やメソッドにはひとつの役割だけ持たせるべきで、そうした場合、変数が何に使ってるか分からないくらい長くなること自体あまりないし、
それで長くなるようであればそもそもの作りがおかしいのでリファクタリングの対象とする、ってことなんだけどね。
546デフォルトの名無しさん (アウアウウー Sa8b-Ro21)
2022/09/08(木) 09:21:51.81ID:JEMfdspaa VB/VBA/ExcelもAccessもOfficeごと窓からポイッ
547デフォルトの名無しさん (ワッチョイ 5f01-yqJ9)
2022/09/08(木) 10:06:01.26ID:dSUuwrfW0 >>545
> 平たく言うと変数が何に使っているか分かり辛くなるような長いコードをひとつの関数やメソッドに書くなということ。
それ変数の宣言位置とは違う話だろ
まあ先頭に変数宣言するメリットを説明できないならいいや、バイバイ
> 平たく言うと変数が何に使っているか分かり辛くなるような長いコードをひとつの関数やメソッドに書くなということ。
それ変数の宣言位置とは違う話だろ
まあ先頭に変数宣言するメリットを説明できないならいいや、バイバイ
548デフォルトの名無しさん (ワッチョイ 5f4f-ozIc)
2022/09/08(木) 11:40:59.40ID:YfOXyicz0 >>547
なんで?
どうせ同じ関数内で同じ名称の変数なんて作れないんだから
全部纏めて同じ位置にあった方が「この変数はこのシチュエーションのときにこう言った意味で使う」とか命名し易いじゃん。
使ってる変数名を再宣言しようとして「あ」となることもないし、
同じ変数をバカみたいに使い回して本当は値変えると不味かったのに変えちゃったりとかアホなことも減るよ。
なんで?
どうせ同じ関数内で同じ名称の変数なんて作れないんだから
全部纏めて同じ位置にあった方が「この変数はこのシチュエーションのときにこう言った意味で使う」とか命名し易いじゃん。
使ってる変数名を再宣言しようとして「あ」となることもないし、
同じ変数をバカみたいに使い回して本当は値変えると不味かったのに変えちゃったりとかアホなことも減るよ。
549デフォルトの名無しさん (ワッチョイ 5f4f-ozIc)
2022/09/08(木) 11:47:17.27ID:YfOXyicz0 ま、そもそもそんなこと気にするくらい長いコード書いちゃいけないんだけどね。
そちらのレベルに合わせて話してもそれだけのメリットはあるよ。
そちらのレベルに合わせて話してもそれだけのメリットはあるよ。
550デフォルトの名無しさん (ワッチョイ 0701-w6dw)
2022/09/08(木) 13:19:53.66ID:E2yDW5TJ0 Wordがどうしようもなく使いにくいので、
Excel VBAで代わりのツールを作りたいと思います。
こんな考え方は邪道でしょうか?
Excel VBAで代わりのツールを作りたいと思います。
こんな考え方は邪道でしょうか?
551デフォルトの名無しさん (ワッチョイ bf8c-KgU2)
2022/09/08(木) 13:50:27.43ID:N6XG++JQ0 WordVBAを何故つかわない?
マウロ記録がないOutlookVBAやPowerpointVBAなら一瞬気持ちがわかるが
マウロ記録がないOutlookVBAやPowerpointVBAなら一瞬気持ちがわかるが
552デフォルトの名無しさん (ワッチョイ 27da-2LH/)
2022/09/08(木) 14:17:07.18ID:Sm7a3fWy0 loopのカウンタを使用後に消さないと
順番入れ替えたらバグるとか気にする初心者にはvba向いてないと思う
順番入れ替えたらバグるとか気にする初心者にはvba向いてないと思う
553デフォルトの名無しさん (ワッチョイ 5f7c-Gzrn)
2022/09/08(木) 16:06:28.64ID:e4Jhfn6X0 ワードにできることはエクセルでほぼ出来るからワードの使いかた忘れてしもた
しかし困ったことはない
しかし困ったことはない
554デフォルトの名無しさん (ワッチョイ 5f01-yqJ9)
2022/09/08(木) 17:02:48.44ID:dSUuwrfW0 >>548
> 全部纏めて同じ位置にあった方が「この変数はこのシチュエーションのときにこう言った意味で使う」とか命名し易いじゃん。
コボル臭が... w
まあ使ってる近くにあれば宣言なども簡単に確認できるメリットより命名のメリットを重視する人もいるんだね
> 使ってる変数名を再宣言しようとして「あ」となる
んだから
> 同じ変数をバカみたいに使い回して本当は値変えると不味かったのに変えちゃったりとかアホなことも減るよ。
なんてなるわけないと思うけど?
> 全部纏めて同じ位置にあった方が「この変数はこのシチュエーションのときにこう言った意味で使う」とか命名し易いじゃん。
コボル臭が... w
まあ使ってる近くにあれば宣言なども簡単に確認できるメリットより命名のメリットを重視する人もいるんだね
> 使ってる変数名を再宣言しようとして「あ」となる
んだから
> 同じ変数をバカみたいに使い回して本当は値変えると不味かったのに変えちゃったりとかアホなことも減るよ。
なんてなるわけないと思うけど?
555デフォルトの名無しさん (スフッ Sd7f-k3HK)
2022/09/08(木) 19:47:18.35ID:wUuMBq/Ad Excel → Markdown → Word アウトライン変換のマクロを作れば大分マトモになる予感
Excelの列で見出しを識別する感じで
Excelの列で見出しを識別する感じで
556デフォルトの名無しさん (ワッチョイ 9e8c-ntgB)
2022/09/10(土) 00:50:29.07ID:yQKHhevv0 intersect( activecell.ListObject.HeaderRowRange,activecell.EntireColumn).Address
テーブル上にアクティブセルがあり、そのセルの列ラベルのアドレスを調べたく
こんなのを書いたのですが、もっと他にイケてる書き方はないでしょうか
テーブル上にアクティブセルがあり、そのセルの列ラベルのアドレスを調べたく
こんなのを書いたのですが、もっと他にイケてる書き方はないでしょうか
557デフォルトの名無しさん (ワッチョイ ead8-RGdV)
2022/09/10(土) 10:48:25.59ID:+u60WJ7w0 activeCell.End(xlUp).Address は?
上に隣接する別のテーブルがないことが条件だけど
上に隣接する別のテーブルがないことが条件だけど
558デフォルトの名無しさん (ササクッテロレ Spbd-0QGi)
2022/09/10(土) 15:51:20.36ID:qRafw5tCp559デフォルトの名無しさん (ワッチョイ 5d10-V+uT)
2022/09/11(日) 01:14:19.08ID:W9G67fQJ0 バイナリデータの書き込みについて質問です。
hello という文字列をいったんバイナリにしてファイル書き込みするような
プログラムを書いているのですが、書き込みすると
h e l l o
というように変なゴミが入ってきます。
vbaではバイナリデータの書き込みは完全にはできないということなのでしょうか。
該当コード
https://ideone.com/MDI6yW
hello という文字列をいったんバイナリにしてファイル書き込みするような
プログラムを書いているのですが、書き込みすると
h e l l o
というように変なゴミが入ってきます。
vbaではバイナリデータの書き込みは完全にはできないということなのでしょうか。
該当コード
https://ideone.com/MDI6yW
560デフォルトの名無しさん (ワッチョイ 5d10-V+uT)
2022/09/11(日) 01:15:18.73ID:W9G67fQJ0 書き込みすると変なゴミデータが見えなくなってしまいましたが、要するに
正確に半角英数字でhelloという文字が再現できないのです。
正確に半角英数字でhelloという文字が再現できないのです。
561デフォルトの名無しさん (アウアウウー Sa21-dMtT)
2022/09/11(日) 01:27:32.82ID:PnV//sAoa >>560
どういう内容なのかダンプして確認しないのかい?
どういう内容なのかダンプして確認しないのかい?
562デフォルトの名無しさん (ワッチョイ f1ce-Mjbb)
2022/09/11(日) 01:41:57.90ID:yPB6Wd0g0 >>559
Option Explicit
Sub main()
Dim bs(4) As Byte
bs(0) = Asc("h")
bs(1) = Asc("e")
bs(2) = Asc("l")
bs(3) = Asc("l")
bs(4) = Asc("o")
Dim fn As Integer: fn = FreeFile
Dim fpath As String: fpath = "C:\指定のパス\output.txt"
Open fpath For Binary As #fn Len = 1
Dim i As Integer
For i = LBound(bs) To UBound(bs)
Put #fn, , bs(i)
Next i
Close #fn
End Sub
Option Explicit
Sub main()
Dim bs(4) As Byte
bs(0) = Asc("h")
bs(1) = Asc("e")
bs(2) = Asc("l")
bs(3) = Asc("l")
bs(4) = Asc("o")
Dim fn As Integer: fn = FreeFile
Dim fpath As String: fpath = "C:\指定のパス\output.txt"
Open fpath For Binary As #fn Len = 1
Dim i As Integer
For i = LBound(bs) To UBound(bs)
Put #fn, , bs(i)
Next i
Close #fn
End Sub
563559 (ワッチョイ 5d10-V+uT)
2022/09/11(日) 01:50:58.58ID:W9G67fQJ0564デフォルトの名無しさん (ワッチョイ a5cd-OdF3)
2022/09/11(日) 01:53:10.28ID:yv0WXRwp0 >>559
説明はちゃんと読もう
vbaはかなりゆるゆる言語なので、なるべくvbaにあわせたコードにしたほうがいい
https://docs.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/put-statement
>書き込まれる変数が 数値型の Variant である場合は、Put により、Variant の VarType を識別する 2 バイトが書き込まれた後に、変数が書き込まれます。
こんなもん追いかけてられんよ
ステートメントは極力使わず、関数にした方がいいと思う
もう少し言うと、実現したい事を直接聞いた方がいい。
vbaでバイナリとかめんどくさすぎて誰もやってないので、
できるかどうかなんてあんまりみんな分かってない
>>561
してもあんま意味ないだろ
説明はちゃんと読もう
vbaはかなりゆるゆる言語なので、なるべくvbaにあわせたコードにしたほうがいい
https://docs.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/put-statement
>書き込まれる変数が 数値型の Variant である場合は、Put により、Variant の VarType を識別する 2 バイトが書き込まれた後に、変数が書き込まれます。
こんなもん追いかけてられんよ
ステートメントは極力使わず、関数にした方がいいと思う
もう少し言うと、実現したい事を直接聞いた方がいい。
vbaでバイナリとかめんどくさすぎて誰もやってないので、
できるかどうかなんてあんまりみんな分かってない
>>561
してもあんま意味ないだろ
565デフォルトの名無しさん (ワッチョイ f1ce-Mjbb)
2022/09/11(日) 02:05:46.07ID:yPB6Wd0g0566デフォルトの名無しさん (アウアウウー Sa21-dMtT)
2022/09/11(日) 02:07:03.03ID:W5Eoe6lQa567559 (ワッチョイ 5d10-V+uT)
2022/09/11(日) 02:11:34.10ID:W9G67fQJ0 >>564
正直説明一々読むの大変なのでここで聞いてそのあたりをつけようと思ってます。
>ステートメントは極力使わず、関数にした方がいいと思う
ちょっとここがよくわからないんですがどういうことですか。
>もう少し言うと、実現したい事を直接聞いた方がいい。
vbaの練習のためにとりあえずbase64エンコーディングを実装しようとしてました。
エンコーディングはできました。デコードでつまづいて格闘してましたが、デコードもとりあえずできました。
つぎは、bmpファイルを読み込んで1x1pixcelに縦横絞ったセルのシートに画像表示させるとか
やろうと思ってます。
正直説明一々読むの大変なのでここで聞いてそのあたりをつけようと思ってます。
>ステートメントは極力使わず、関数にした方がいいと思う
ちょっとここがよくわからないんですがどういうことですか。
>もう少し言うと、実現したい事を直接聞いた方がいい。
vbaの練習のためにとりあえずbase64エンコーディングを実装しようとしてました。
エンコーディングはできました。デコードでつまづいて格闘してましたが、デコードもとりあえずできました。
つぎは、bmpファイルを読み込んで1x1pixcelに縦横絞ったセルのシートに画像表示させるとか
やろうと思ってます。
568デフォルトの名無しさん (ワッチョイ a5cd-OdF3)
2022/09/11(日) 02:12:49.77ID:yv0WXRwp0569デフォルトの名無しさん (ワッチョイ a5cd-OdF3)
2022/09/11(日) 02:19:41.47ID:yv0WXRwp0 >>567
結局やりたいことはライフゲームとか、画像処理だろう
vbaは、事務処理特化なんだ。本当にやめたほうがいい。
vbaでクリエイティブな事をやろうとすると、めちゃくちゃ遅い
入出力用のセルがすごく見やすいのはわかるんだけど、別言語でやったほうがいい
具体的に言うとC#かvb.netがいい。
jsならそのままアプリにも移行できる
結局やりたいことはライフゲームとか、画像処理だろう
vbaは、事務処理特化なんだ。本当にやめたほうがいい。
vbaでクリエイティブな事をやろうとすると、めちゃくちゃ遅い
入出力用のセルがすごく見やすいのはわかるんだけど、別言語でやったほうがいい
具体的に言うとC#かvb.netがいい。
jsならそのままアプリにも移行できる
570559 (ワッチョイ 5d10-V+uT)
2022/09/11(日) 02:24:11.91ID:W9G67fQJ0 とりあえず入門したいんで、アルゴリズムわかるやつ実装してるだけなんであんま考えてない。
最終的には機械学習実装できりゃいいなと思ってるんで、bitmap表示実装できたら
vbaでそこまでやるレベルになるかなと。
最終的には機械学習実装できりゃいいなと思ってるんで、bitmap表示実装できたら
vbaでそこまでやるレベルになるかなと。
571デフォルトの名無しさん (ワッチョイ a563-4cRe)
2022/09/11(日) 02:44:48.34ID:+Dglx5gI0 vbaの使い方間違ってますよ
572デフォルトの名無しさん (アウアウウー Sa21-+Wio)
2022/09/11(日) 11:47:30.27ID:scHPWuyOa 他人が何をやろうと勝手なんだから質問にこたえないなら放置すればいいと思うけど
説教野郎って減らないよね
説教野郎って減らないよね
573デフォルトの名無しさん (スプッッ Sd0a-JgIN)
2022/09/11(日) 13:01:03.57ID:qfkrXmQcd574デフォルトの名無しさん (ワッチョイ 6ada-JF91)
2022/09/11(日) 13:48:26.08ID:4omWB5g70 いや、普通に頭くるだろ?
ダメダメな使い方してると
ダメダメな使い方してると
575デフォルトの名無しさん (スッププ Sd0a-vfPx)
2022/09/11(日) 17:18:35.58ID:9MrulJbSd576デフォルトの名無しさん (ワッチョイ 11da-kBqH)
2022/09/11(日) 18:42:32.58ID:+bJdyqft0 >>575
気づいたときにはライフがゲームオーバーになってるよ
気づいたときにはライフがゲームオーバーになってるよ
577デフォルトの名無しさん (ワッチョイ f1ce-Mjbb)
2022/09/11(日) 20:43:41.22ID:yPB6Wd0g0 本当だ
ブラウザの背景でライフゲームが動いてるw
無駄な機能多すぎるだろGoogle
ブラウザの背景でライフゲームが動いてるw
無駄な機能多すぎるだろGoogle
578デフォルトの名無しさん (ワッチョイ 5e66-Ba9i)
2022/09/11(日) 22:06:38.09ID:mrmcBHlY0 ttps://excel-ubara.com/excelvba5/EXCELVBA228.html
エクセルの神髄さんのところにあるクイックソートの引数について質問です
lngMinとlngMaxを必ず指定しないといけないようなのですが、
どんな数字を入れればいいのですか?
vBase = argAry(Int((lngMin + lngMax) / 2))
こうなっていて、argAryインデックスの2倍を超える数値は入れられないようです。
インデックスとしての真ん中であるなら関数側でuboundとかlboundとかから計算すればいいように思いました。
バブルソートやインサートソートと違ってイマイチやってる事がわからないので、
lngMinとlngMaxの引数にいれるべき数値がわかる方おられましたら教えてください。
エクセルの神髄さんのところにあるクイックソートの引数について質問です
lngMinとlngMaxを必ず指定しないといけないようなのですが、
どんな数字を入れればいいのですか?
vBase = argAry(Int((lngMin + lngMax) / 2))
こうなっていて、argAryインデックスの2倍を超える数値は入れられないようです。
インデックスとしての真ん中であるなら関数側でuboundとかlboundとかから計算すればいいように思いました。
バブルソートやインサートソートと違ってイマイチやってる事がわからないので、
lngMinとlngMaxの引数にいれるべき数値がわかる方おられましたら教えてください。
579デフォルトの名無しさん (ワッチョイ 9e8c-ntgB)
2022/09/11(日) 22:37:51.72ID:3GTYFVAp0 >>578
配列のうちでどこをソートするか指定できるようになってるんじゃないですかね
配列のうちでどこをソートするか指定できるようになってるんじゃないですかね
580デフォルトの名無しさん (ワッチョイ ead8-RGdV)
2022/09/11(日) 22:42:49.09ID:6zTUjY+M0 >>578
ソートしたいレンジの最初と最後のインデックス
クイックソートは最初にピボットを決めてそれより小さいものをピボットより前に、大きいものをピボットの後ろに移動して、ピボットの前の区間と後ろの区間をそれぞれクイックソートする方法を繰り返す
ピボットの決め方は色々あるけど、その人は配列の真ん中のオブジェクトを選んでるだけ。ランダムに選ぶと平均的には最も良い結果が得られるけど、もうひと手間かかる
ソートしたいレンジの最初と最後のインデックス
クイックソートは最初にピボットを決めてそれより小さいものをピボットより前に、大きいものをピボットの後ろに移動して、ピボットの前の区間と後ろの区間をそれぞれクイックソートする方法を繰り返す
ピボットの決め方は色々あるけど、その人は配列の真ん中のオブジェクトを選んでるだけ。ランダムに選ぶと平均的には最も良い結果が得られるけど、もうひと手間かかる
581デフォルトの名無しさん (テテンテンテン MM3e-HjAo)
2022/09/12(月) 01:30:49.61ID:0s0pxnwOM ユーザーフォーム内のコマンドボタンではfunctionの呼び出しはできない仕様でしょうか?
似たようなコードのボタンがあり、特定ブックを取得するための同じコードを全部のボタンに書いています
ごちゃごちゃしてしまっているのできれいにしたかったのですが、functionが呼び出せず変数が空でエラーになってしまいます
似たようなコードのボタンがあり、特定ブックを取得するための同じコードを全部のボタンに書いています
ごちゃごちゃしてしまっているのできれいにしたかったのですが、functionが呼び出せず変数が空でエラーになってしまいます
582デフォルトの名無しさん (ワッチョイ e6bb-I+3W)
2022/09/12(月) 07:39:53.33ID:STPpGgy+0 >>581
呼び出し出来るよ。そのエラーになったコードをここに書いてもらえれば原因がわかるかと。
呼び出し出来るよ。そのエラーになったコードをここに書いてもらえれば原因がわかるかと。
583デフォルトの名無しさん (アウアウウー Sa21-bmfI)
2022/09/12(月) 11:53:11.04ID:fWVKyvtQa sub から呼ぶとか
584578 (ワッチョイ 5e66-Ba9i)
2022/09/13(火) 09:42:49.11ID:g8hgly2P0585デフォルトの名無しさん (ワッチョイ 1149-N23U)
2022/09/13(火) 10:05:15.02ID:kJFB2T9s0 いえいえ
586デフォルトの名無しさん (テテンテンテン MM3e-++ih)
2022/09/13(火) 23:06:23.52ID:m4C/g6mCM >>582
フォームが3階層くらいありますが
1.モジュールからフォームの呼び出し
Sub commentForm()
rowBtn = ActiveSheet.Shapes(Application.Caller).TopLeftCell.Row
colBtn = ActiveSheet.Shapes(Application.Caller).TopLeftCell.Column
大分類.Show vbModeless
End Sub
フォームが3階層くらいありますが
1.モジュールからフォームの呼び出し
Sub commentForm()
rowBtn = ActiveSheet.Shapes(Application.Caller).TopLeftCell.Row
colBtn = ActiveSheet.Shapes(Application.Caller).TopLeftCell.Column
大分類.Show vbModeless
End Sub
587デフォルトの名無しさん (テテンテンテン MM3e-++ih)
2022/09/13(火) 23:09:43.50ID:m4C/g6mCM すみません、1つ目フォーム呼び出しのモジュール内に以下のコードがあります
Public ShIndex As String
2階層目で3つの大分類の選択
2.分類選択
Private Sub CommandButton1_Click()
'コマンドボタンのタイトル反映 ※エクセルのセルを反映させています。
中分類.CommandButton1.Caption = Worksheets("2-1").Range("C1").Text
中分類.CommandButton2.Caption = Worksheets("2-2").Range("C1").Text
中分類.CommandButton3.Caption = Worksheets("2-3").Range("C1").Text
中分類.CommandButton4.Caption = Worksheets("2-4").Range("C1").Text
中分類.CommandButton5.Caption = Worksheets("2-5").Range("C1").Text
中分類.Show vbModeless
End Sub
Public ShIndex As String
2階層目で3つの大分類の選択
2.分類選択
Private Sub CommandButton1_Click()
'コマンドボタンのタイトル反映 ※エクセルのセルを反映させています。
中分類.CommandButton1.Caption = Worksheets("2-1").Range("C1").Text
中分類.CommandButton2.Caption = Worksheets("2-2").Range("C1").Text
中分類.CommandButton3.Caption = Worksheets("2-3").Range("C1").Text
中分類.CommandButton4.Caption = Worksheets("2-4").Range("C1").Text
中分類.CommandButton5.Caption = Worksheets("2-5").Range("C1").Text
中分類.Show vbModeless
End Sub
588デフォルトの名無しさん (テテンテンテン MM3e-++ih)
2022/09/13(火) 23:11:31.11ID:m4C/g6mCM 3.さらに次の分類へ
Private Sub CommandButton1_Click()
ShIndex = "2-1"
'コマンドボタンのタイトル反映 ※エクセルのセルを反映させています。
中分類1.Caption = Worksheets(ShIndex).Range("C3").Value
中分類1.CommandButton1.Caption = Worksheets(ShIndex).Range("D3").Value
中分類1.CommandButton2.Caption = Worksheets(ShIndex).Range("D7").Value
中分類1.CommandButton3.Caption = Worksheets(ShIndex).Range("D11").Value
中分類1.CommandButton4.Caption = Worksheets(ShIndex).Range("D15").Value
中分類1.Show vbModeless
End Sub
Private Sub CommandButton1_Click()
ShIndex = "2-1"
'コマンドボタンのタイトル反映 ※エクセルのセルを反映させています。
中分類1.Caption = Worksheets(ShIndex).Range("C3").Value
中分類1.CommandButton1.Caption = Worksheets(ShIndex).Range("D3").Value
中分類1.CommandButton2.Caption = Worksheets(ShIndex).Range("D7").Value
中分類1.CommandButton3.Caption = Worksheets(ShIndex).Range("D11").Value
中分類1.CommandButton4.Caption = Worksheets(ShIndex).Range("D15").Value
中分類1.Show vbModeless
End Sub
589デフォルトの名無しさん (テテンテンテン MM3e-++ih)
2022/09/13(火) 23:36:32.69ID:m4C/g6mCM 4,最終の選択ボタン
コメントアウトの範囲内をfunction(wbSerch)として、値を返して変数を使用したいです
Private Sub CommandButton1_Click()
Dim wbRepName As String
'########## ここから ##########
Dim i As Long
Dim wb As Workbook
Dim wbFullPath As String
For i = 1 To Workbooks.Count
Set wb = Workbooks(i)
If wb.FullName Like "*検索ワード*" Then ' * *に挟まれた文字を含むブックを検索する
wbFullPath = wb.FullName
Exit For
End If
Next
Dim pos As Long
pos = InStrRev(wbFullPath, "\")
If (pos > 0) Then
wbRepName = Right(wbFullPath, Len(wbFullPath) - pos)
End If
'########## ここまで ##########
Dim rowRep As Long
rowRep = Worksheets("シート名").Cells(rowButton, "Q").Value
Dim num As Long
num = 1
If Workbooks(wbRepName).ActiveSheet.Cells(rowRep + 1, "H") = "" Then
Workbooks(wbRepName).ActiveSheet.Range(Workbooks(wbRepName).ActiveSheet.Cells(rowRep + 1, "H"), Workbooks(wbRepName).ActiveSheet.Cells(rowRep + 2, "H")) = _
Worksheets(ShIndex).Range(Worksheets(ShIndex).Cells(3 + (num - 1) * 4, "E"), Worksheets(ShIndex).Cells(3 + (num - 1) * 4 + 1, "E")).Value
End If
Workbooks(wbRepName).ActiveSheet.Range(Workbooks(wbRepName).ActiveSheet.Cells(rowRep + 4, "H"), Workbooks(wbRepName).ActiveSheet.Cells(rowRep + 7, "H")) = _
Worksheets(ShIndex).Range(Worksheets(ShIndex).Cells(3 + (num - 1) * 4, "F"), Worksheets(ShIndex).Cells(3 + (num - 1) * 4 + 3, "F")).Value
End Sub
コメントアウトの範囲内をfunction(wbSerch)として、値を返して変数を使用したいです
Private Sub CommandButton1_Click()
Dim wbRepName As String
'########## ここから ##########
Dim i As Long
Dim wb As Workbook
Dim wbFullPath As String
For i = 1 To Workbooks.Count
Set wb = Workbooks(i)
If wb.FullName Like "*検索ワード*" Then ' * *に挟まれた文字を含むブックを検索する
wbFullPath = wb.FullName
Exit For
End If
Next
Dim pos As Long
pos = InStrRev(wbFullPath, "\")
If (pos > 0) Then
wbRepName = Right(wbFullPath, Len(wbFullPath) - pos)
End If
'########## ここまで ##########
Dim rowRep As Long
rowRep = Worksheets("シート名").Cells(rowButton, "Q").Value
Dim num As Long
num = 1
If Workbooks(wbRepName).ActiveSheet.Cells(rowRep + 1, "H") = "" Then
Workbooks(wbRepName).ActiveSheet.Range(Workbooks(wbRepName).ActiveSheet.Cells(rowRep + 1, "H"), Workbooks(wbRepName).ActiveSheet.Cells(rowRep + 2, "H")) = _
Worksheets(ShIndex).Range(Worksheets(ShIndex).Cells(3 + (num - 1) * 4, "E"), Worksheets(ShIndex).Cells(3 + (num - 1) * 4 + 1, "E")).Value
End If
Workbooks(wbRepName).ActiveSheet.Range(Workbooks(wbRepName).ActiveSheet.Cells(rowRep + 4, "H"), Workbooks(wbRepName).ActiveSheet.Cells(rowRep + 7, "H")) = _
Worksheets(ShIndex).Range(Worksheets(ShIndex).Cells(3 + (num - 1) * 4, "F"), Worksheets(ShIndex).Cells(3 + (num - 1) * 4 + 3, "F")).Value
End Sub
590デフォルトの名無しさん (テテンテンテン MM3e-++ih)
2022/09/13(火) 23:37:53.43ID:m4C/g6mCM コードをアップする際に一部書き換えで変数が微妙に違うのは許してくださいw
591デフォルトの名無しさん (ワッチョイ 592f-aQ9k)
2022/09/14(水) 01:24:17.40ID:jzWlgqKP0 >>589
大量のコード張るなら、どっかコード張るサイトあるからそこ使ってくれ
>コメントアウトの範囲内をfunction(wbSerch)として、値を返して変数を使用したいです
やれば良いとしか
自分でやって動かなかったっていうコード出せよ
エラーが出たならエラー内容も
Functionが呼び出されないんじゃなくて、呼び出したけど値を返してないか
返された値をちゃんと受け取ってないんじゃないかと予想したがな
大量のコード張るなら、どっかコード張るサイトあるからそこ使ってくれ
>コメントアウトの範囲内をfunction(wbSerch)として、値を返して変数を使用したいです
やれば良いとしか
自分でやって動かなかったっていうコード出せよ
エラーが出たならエラー内容も
Functionが呼び出されないんじゃなくて、呼び出したけど値を返してないか
返された値をちゃんと受け取ってないんじゃないかと予想したがな
592デフォルトの名無しさん (ワッチョイ e6bb-I+3W)
2022/09/14(水) 05:04:23.30ID:Pxkwm+eH0 >>589
色々気になるところばかりですが、Functionだけについていうと
Public Function プロシージャ名() As String
'処理
プロシージャ名 = ファンクション内で作成した文字列
End Function
という感じで作って、呼び出す側は下記で
wbRepName = ファンクション名
色々気になるところばかりですが、Functionだけについていうと
Public Function プロシージャ名() As String
'処理
プロシージャ名 = ファンクション内で作成した文字列
End Function
という感じで作って、呼び出す側は下記で
wbRepName = ファンクション名
593デフォルトの名無しさん (スプッッ Sdea-mOAX)
2022/09/14(水) 08:09:29.31ID:wHV8fEyKd >>592
ありがとうございます
やっぱりそれでいいんですよね
とりあえず動かないのは困るので、関数を呼び出すコードは削除してしまったのでまたやり直してみます
適当にネットで検索して継ぎはぎしているのですが、これはやめた方がいいみたいなところがあれば教えていただけると
ありがとうございます
やっぱりそれでいいんですよね
とりあえず動かないのは困るので、関数を呼び出すコードは削除してしまったのでまたやり直してみます
適当にネットで検索して継ぎはぎしているのですが、これはやめた方がいいみたいなところがあれば教えていただけると
594デフォルトの名無しさん (スプッッ Sdea-mOAX)
2022/09/14(水) 08:09:41.99ID:wHV8fEyKd >>592
ありがとうございます
やっぱりそれでいいんですよね
とりあえず動かないのは困るので、関数を呼び出すコードは削除してしまったのでまたやり直してみます
適当にネットで検索して継ぎはぎしているのですが、これはやめた方がいいみたいなところがあれば教えていただけると
ありがとうございます
やっぱりそれでいいんですよね
とりあえず動かないのは困るので、関数を呼び出すコードは削除してしまったのでまたやり直してみます
適当にネットで検索して継ぎはぎしているのですが、これはやめた方がいいみたいなところがあれば教えていただけると
595デフォルトの名無しさん (ワッチョイ ead8-RGdV)
2022/09/14(水) 10:47:45.73ID:DQiHAQaU0 >>594
ネットで継ぎはぎはやめたほうがいい
ネットで継ぎはぎはやめたほうがいい
596デフォルトの名無しさん (ワッチョイ 6ada-JF91)
2022/09/14(水) 14:30:03.63ID:AS+oyxbj0 継ぎはぎっていちばんやってはダメな事でしょ
不具合でたら修正困難
不具合でたら修正困難
597デフォルトの名無しさん (スプッッ Sd0a-JgIN)
2022/09/14(水) 14:39:07.90ID:xmB1xf8ad >>594
お前みたいな奴がVBAを使うのはやめた方がいい
お前みたいな奴がVBAを使うのはやめた方がいい
598デフォルトの名無しさん (ブーイモ MM3e-lqbG)
2022/09/14(水) 14:44:22.14ID:x3WDqTpPM それな
599デフォルトの名無しさん (アウアウウー Sa21-bmfI)
2022/09/14(水) 15:01:12.80ID:9jzC7a23a ネットの情報をうのみにするのはよくない
600デフォルトの名無しさん (ラクッペペ MM3e-jm1v)
2022/09/14(水) 15:23:36.39ID:mWSu9Hj1M 特にここの奴らの言うことなど……
601デフォルトの名無しさん (ワッチョイ 6ada-JF91)
2022/09/14(水) 16:32:30.56ID:AS+oyxbj0 このスレも含めてネットをなんでもかんでも鵜呑みにしないように。
602デフォルトの名無しさん (ワッチョイ ea4f-0QGi)
2022/09/14(水) 20:19:10.06ID:qlFB5bFT0 むしろガンガンコードのコピーでも継ぎはぎだらけでも何でもやれ
それで痛い目を見れば二度とやらなくなるだろう
ただし、他の人に迷惑を掛けない範囲でな
それで痛い目を見れば二度とやらなくなるだろう
ただし、他の人に迷惑を掛けない範囲でな
603デフォルトの名無しさん (ブーイモ MM3e-f1GR)
2022/09/14(水) 20:25:13.51ID:tyPb8uvVM 継ぎ接ぎでもなんでも動きゃいいよVBAなんて
604デフォルトの名無しさん (ワッチョイ f1ce-Mjbb)
2022/09/14(水) 22:09:32.51ID:LR6kMMNU0 どんなにひどいコードを書こうが仕事は結果がすべて
過程を見て部分点がもらえるのは高校まで
過程を見て部分点がもらえるのは高校まで
605デフォルトの名無しさん (ワッチョイ 6dda-kUnK)
2022/09/14(水) 23:32:37.08ID:XFOFR3Sy0 ひどいコード書いて、エクセルに殴られたら嫌だなあ
606デフォルトの名無しさん (スップ Sdea-tpie)
2022/09/15(木) 02:24:16.54ID:mZ1kOEzbd607デフォルトの名無しさん (ブーイモ MM3e-lqbG)
2022/09/15(木) 07:02:34.29ID:K2oLP0MfM と、馬鹿が申しております。
608デフォルトの名無しさん (スッププ Sd0a-vfPx)
2022/09/15(木) 07:47:29.25ID:p0uH79QOd VBA禁止はメンテがどうのこうのじゃなくて
スキルが低い人間が酷い結果をもたらすコードを書いてしまうからじゃね
下手に書くと他人の労働の成果が一瞬にして無に帰すからね
スキルが低い人間が酷い結果をもたらすコードを書いてしまうからじゃね
下手に書くと他人の労働の成果が一瞬にして無に帰すからね
609デフォルトの名無しさん (スッップ Sd0a-rZts)
2022/09/15(木) 08:13:47.40ID:V+/rW9Cpd そもそもエクセル側でVBA使ってごちゃごちゃやる職場がセンス無い
エンジニアが管理画面を作ってVBAでやってた処理をそっちでやって、事務系の人は管理画面からcsvを落としてそれをまんま使うぐらいが良い
エンジニアが管理画面を作ってVBAでやってた処理をそっちでやって、事務系の人は管理画面からcsvを落としてそれをまんま使うぐらいが良い
610デフォルトの名無しさん (ワッチョイ 5d79-VPVD)
2022/09/15(木) 08:15:36.60ID:HISUe1p20 ほいきたばーかばーか
611デフォルトの名無しさん (ワッチョイ 5d79-VPVD)
2022/09/15(木) 08:16:33.94ID:HISUe1p20 CSVって発想がだめだね
プロは引用符も不要になるTSVを使う
うんこ
プロは引用符も不要になるTSVを使う
うんこ
612デフォルトの名無しさん (ワッチョイ 6610-rZts)
2022/09/15(木) 08:20:49.72ID:tsRCCw+k0 いや事務員にはcsvがちょうどいいよ
tsv開けませ~んとか言われるだけ
もっと目線を合わせろ技術キモオタ
tsv開けませ~んとか言われるだけ
もっと目線を合わせろ技術キモオタ
613デフォルトの名無しさん (ワッチョイ 5d79-VPVD)
2022/09/15(木) 10:16:19.88ID:HISUe1p20 TSVはメモ帳で開いて全選択のコピペでシートに貼り付けできるんだよ
見事に馬鹿が露呈したな
見事に馬鹿が露呈したな
614デフォルトの名無しさん (ワッチョイ ea4f-0QGi)
2022/09/15(木) 11:34:27.47ID:9BPOZrDw0 いやいや
そこは用途に合わせようよ
PDFやEXCEL出力した場合が良い場合もあるよ
そこは用途に合わせようよ
PDFやEXCEL出力した場合が良い場合もあるよ
615デフォルトの名無しさん (ワッチョイ 6ada-JF91)
2022/09/15(木) 14:52:36.98ID:5XNYG1220 なんで事務員がエラーの対処法を知らないんだよ。。
毎日いじってるから一通りの対応はできるだろ?
毎日いじってるから一通りの対応はできるだろ?
616デフォルトの名無しさん (ワッチョイ ea4f-0QGi)
2022/09/15(木) 16:19:16.15ID:9BPOZrDw0 エラーの対処法「システム部にお問合せ下さい。」
617デフォルトの名無しさん (ワッチョイ 6ada-JF91)
2022/09/15(木) 19:11:05.38ID:5XNYG1220 そんなのExcelできる事務員じゃないわ!
618デフォルトの名無しさん (ワッチョイ 6a42-ZPoQ)
2022/09/15(木) 19:27:19.21ID:2CSrOwDy0 最低限のことしかできないって人結構いるけどな
619デフォルトの名無しさん (ワッチョイ aa59-2Uj+)
2022/09/15(木) 19:44:47.37ID:bsuDXGPV0 ボタン押してるだけの事務いるいる。
620デフォルトの名無しさん (ワッチョイ b501-V+uT)
2022/09/15(木) 20:05:30.90ID:/Qo8z/Hb0 ボタンの押し方で仕上がりが変わる。
優秀な事務員はボタンの押し方が素晴らしい。
日本の技術は世界一。
優秀な事務員はボタンの押し方が素晴らしい。
日本の技術は世界一。
621デフォルトの名無しさん (US 0H1d-wT9X)
2022/09/15(木) 20:17:03.66ID:QyIKtajFH >>608
いいえ、コードは汚いしドキュメントを残さないので、便利であってもレガシーとなってしまうからですよ
いいえ、コードは汚いしドキュメントを残さないので、便利であってもレガシーとなってしまうからですよ
622デフォルトの名無しさん (ワッチョイ 6ada-JF91)
2022/09/15(木) 22:23:17.31ID:5XNYG1220 事務員=Excelを極めている
623デフォルトの名無しさん (ワッチョイ ea2c-aQ9k)
2022/09/15(木) 22:31:56.27ID:QsPmWhIy0 VBA のファイル・テキスト処理などは、Ruby に比べて、圧倒的に可読性が悪い。
作った瞬間から、修正できない産業廃棄物となるw
だから、常に廃棄して新規開発しているw
作った瞬間から、修正できない産業廃棄物となるw
だから、常に廃棄して新規開発しているw
624デフォルトの名無しさん (ワッチョイ 6a7c-BycT)
2022/09/16(金) 00:12:03.43ID:vQLtnuER0 VBAで複雑なものを作ろうという思考がおかしい
適当に組んで動きゃいい程度のスクリプトだろ
適当に組んで動きゃいい程度のスクリプトだろ
625デフォルトの名無しさん (ワッチョイ 5d79-VPVD)
2022/09/16(金) 00:37:32.30ID:df81Cjlt0 VBAに飽きたらVBSがいいよ
VBAの枷から開放される
VBAの枷から開放される
626デフォルトの名無しさん (スッププ Sd0a-vfPx)
2022/09/16(金) 00:40:41.66ID:o9yhfyBVd >>621
いいえ、レガシーとなることの問題は認めるけど、それは禁止になる理由とはならないわ
いいえ、レガシーとなることの問題は認めるけど、それは禁止になる理由とはならないわ
627デフォルトの名無しさん (ワッチョイ 6ada-JF91)
2022/09/16(金) 02:37:02.68ID:l4bz3k9Q0 他人がどんなに良いコードを書いてあろうが、容赦無く切り捨ててイチから書き直すのがプログラマーだと聞いたからよ
628デフォルトの名無しさん (スップ Sdea-tpie)
2022/09/16(金) 04:32:30.78ID:UN95gjXqd >>627
他人から聞いたことを鵜呑みにする馬鹿
他人から聞いたことを鵜呑みにする馬鹿
629デフォルトの名無しさん (ワッチョイ ea4f-0QGi)
2022/09/16(金) 09:26:48.43ID:jiIjsvyj0 そもそもなんだけど
どんなPG言語使ったって綺麗に書く人は綺麗に書くし
ぐちゃぐちゃにする人はぐちゃぐちゃにする
どんなPG言語使ったって綺麗に書く人は綺麗に書くし
ぐちゃぐちゃにする人はぐちゃぐちゃにする
630デフォルトの名無しさん (アウアウウー Sa21-bmfI)
2022/09/16(金) 11:41:36.71ID:eDTruZ7Ya だからほっとけばいい
自分の担当部分だけ直す
自分の担当部分だけ直す
631デフォルトの名無しさん (スッップ Sd0a-+Wio)
2022/09/16(金) 13:52:21.47ID:Zuqq5jJMd 自分の書くコードと自分に影響する人が書くだけ気にすればいいのに
無関係の人が書くコードなんてきたなかろうがどうでもいいのにな
無関係の人が書くコードなんてきたなかろうがどうでもいいのにな
632デフォルトの名無しさん (ワッチョイ 11da-OdF3)
2022/09/16(金) 20:53:11.37ID:IL7FnXUn0 >>627
プログラマーはプログラムを書く人だし、設計すればエンジニアだし、営業や事務処理をすることもあるよ
会社員ならわかると思うが他人のコードは他人の給料、自分のコードは自分の給料になるってわかるよね?
プログラマーはプログラムを書く人だし、設計すればエンジニアだし、営業や事務処理をすることもあるよ
会社員ならわかると思うが他人のコードは他人の給料、自分のコードは自分の給料になるってわかるよね?
633デフォルトの名無しさん (ワッチョイ 9fda-VcJj)
2022/09/17(土) 00:16:02.34ID:lfSciaka0 ならねぇよ。
コード書くだけで給料貰えるとかいつの時代だよ?
コード書くだけで給料貰えるとかいつの時代だよ?
634デフォルトの名無しさん (スップ Sd3f-w3i5)
2022/09/17(土) 02:03:15.93ID:Q8wI91eUd 下請けの下請けのそのまた下請けの派遣だろ
635デフォルトの名無しさん (ワッチョイ b7da-Mvi4)
2022/09/17(土) 14:40:46.13ID:P15Vbqti0 書けないでコピペするやつのひがみw
636デフォルトの名無しさん (アウアウウー Sa5b-VcJj)
2022/09/17(土) 16:20:56.81ID:93E6/MjHa コピペばかりのヤツってある意味恥ずかしく無いのかや?
知識ありませーん!
あるのはコピペのスキルだけです!
と、言っているようなモノだぜ。
知識ありませーん!
あるのはコピペのスキルだけです!
と、言っているようなモノだぜ。
637デフォルトの名無しさん (ブーイモ MM8f-zSYE)
2022/09/17(土) 18:06:13.42ID:T834+5z1M コピペを極めるとオブジェクト指向になるのかもしれんな
638デフォルトの名無しさん (ワンミングク MM7f-s8OL)
2022/09/17(土) 20:26:19.25ID:eUUvOszSM オブジェクト指向って奥深いな
639デフォルトの名無しさん (ワッチョイ b7da-E+l9)
2022/09/17(土) 20:30:59.86ID:P15Vbqti0 コードのコピーじゃなくアプリをコピーして販売したら違法だからな
640デフォルトの名無しさん (ワッチョイ 9fda-VcJj)
2022/09/17(土) 20:39:13.29ID:lfSciaka0 でも現実はコピペ野良マクロ職人が各職場に溢れているんでしょ?
641デフォルトの名無しさん (アウアウウー Sa5b-T84e)
2022/09/17(土) 21:30:27.81ID:c/Rfax+qa 何もかもは覚えられんからそりゃみんな多少はコピペするでしょな。
問題はちゃんと意味わかって使いこなして、修正や変更の対処ができるかどうか。
問題はちゃんと意味わかって使いこなして、修正や変更の対処ができるかどうか。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国外務省局長 「ポケットに手を入れていたのは寒いから」 日本との局長級会談で ★2 [お断り★]
- 中国外務省局長 「ポケットに手を入れていたのは寒いから」 日本との局長級会談で [お断り★]
- 【速報】中国外務省報道官 高市首相発言撤回なければ「断固たる対抗措置」 ★3 [蚤の市★]
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★7 [ぐれ★]
- 中国、日本行き“50万人”キャンセル 渡航自粛でコロナ禍以来最大 ★3 [お断り★]
- 【速報】日本産牛肉の対中国輸出再開協議が中止 ★3 [おっさん友の会★]
- 【実況】博衣こよりのえちえちフログロ学力テスト🧪★3
- 【実況】博衣こよりのえちえちフログロ学力テスト🧪★4
- 【実況】博衣こよりのえちえちフログロ学力テスト🧪★5
- エッヂ落ちた?
- 【緊急】水ダウひ避難所
- 高市経済ブレーン、円安解決方法を披露「財政支出を増やせば金利が上がって円高になる」 [237216734]
