Excel VBA 質問スレ Part80

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん2023/05/31(水) 08:23:38.97ID:4RV1IxmB
ExcelのVBAに関する質問スレ
コード書き込みや作成依頼もOK

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

関連スレ
Excel VBA 質問スレ Part79(ワッチョイあり)
https://mevius.5ch.net/test/read.cgi/tech/1674875532/

※前スレ
Excel VBA 質問スレ Part79
https://mevius.5ch.net/test/read.cgi/tech/1674874007/

0952デフォルトの名無しさん2024/04/16(火) 07:14:17.55ID:dcxj+bdJ
>>951
その「あとn秒まってネ」を出っ放しにしといても本処理は止まらず動いてるのかね?

0953デフォルトの名無しさん2024/04/16(火) 07:47:30.82ID:rPYKn5Fq
海外赴任で職場を去った前任者女性のコード見て新データに合わせて改良してるけどコメント丁寧で見やすいなぁ
俺はこんなにわかりやすく次世代に引き継げるだろうか

09549512024/04/16(火) 09:16:09.30ID:aRJ0OCMo
>>952 鋭いご指摘ありがとうございます、
「あとn秒まってネ」を出っ放し中は、本処理は止まってる模様
「あとn秒まってネ」の[OK]をクリックし
「あとn秒まってネ」の表示が消えると本処理は再開となりした

0955954の補足2024/04/16(火) 09:21:21.00ID:aRJ0OCMo
「あとn秒まってネ」の意味は
❌ 本処理が完了が、あとn秒   ではなく
⭕ ボタンクリックするのは、あとn秒 の意味です。
MSGBOXの表示は、
ドンドンクリックするな、あとn秒後にクリックしろーー
という 旨の変更で検討します。

0956デフォルトの名無しさん2024/04/16(火) 10:01:14.05ID:dcxj+bdJ
面倒でなく、本処理が止まらないのを優先なら
図形(オートシェイプ)自身、またはその横に「h:n:sくらいまで実行中」のように書いて、クリック時の処理は実行中フラグONなら直ちにexit sub
(クリックに無反応。書いてあるのだから無反応で構わない)
本処理終了で↑のメッセージ消去とフラグOFF

メッセージ書くとこ無ければ、メッセージ出すだけのuserFormを作成して表示
これで表示するだけなら本処理は止まらない(このForm表示で少しつまずくかも)
クリック時の処理は実行中フラグで……は、最初のと同じ
本処理終了でForm消去とフラグOFF

いまパッと思いついたのはこんな感じかな

0957デフォルトの名無しさん2024/04/16(火) 10:08:55.20ID:dcxj+bdJ
>>956
図形クリックしてから「ダメだよ」って示すのではなく、「今クリックしてもムダよ」ってユーザーに予め示しておくのがBetter
本処理が例えばもし30秒で終わったら、直ちにクリックできるようにもなってないといけない
90秒かかってしまったら、それまでクリックで本処理に突入してもいけないだろう(多分)

0958デフォルトの名無しさん2024/04/16(火) 10:27:05.08ID:/GLoZVdP
本処理終了の判定が出来ないから60秒なんて糞みたいな判定をしているんでしょ
何故出来ないのかは本人にしか分からないから何も言えないけど糞

0959デフォルトの名無しさん2024/04/16(火) 10:39:37.62ID:EKfTUad9
俺の塩(カップ焼きそば)を美味しく作るための時間が60秒なんだから仕方ないだろ

0960デフォルトの名無しさん2024/04/16(火) 12:53:30.01ID:dcxj+bdJ
おそらく本処理にdoeveがあるからクリック反応するんだろう
本処理止まるから終了は判定可能
時間を予め決め打ちはマズイ
ステータスバーに進捗出すのも手
しかし10万ループずっと更新するのもムダ
この場合は1000ループに一回更新とかにする
多数の個別処理がある場合は、ステップにバラつきでるけど個々に進捗出すしかない
xx処理中…(33/123)
とか

0961デフォルトの名無しさん2024/04/16(火) 12:54:57.92ID:rPYKn5Fq
エクセルの学校に相談しよかな
面識もない俺の師匠があそこにはいる

0962デフォルトの名無しさん2024/04/16(火) 19:42:07.11ID:kFOkhDMg
エクセルは宗教

0963デフォルトの名無しさん2024/04/16(火) 20:04:27.29ID:746mVOLt
Excelはやればやるほど病んでくる

0964デフォルトの名無しさん2024/04/16(火) 23:34:35.15ID:1XqpuCyF
Acrobatのライブラリを使って
PDFに文章追加したいのですが、フォントに CODE 128 の指定ができません

以下のページを参考にコードを書いています
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q11140444616


field.textFont = "CODE 128"
field.textFont = "CODE128"
どちらもダメでした

ご存じの方いますか?

0965デフォルトの名無しさん2024/04/16(火) 23:38:12.14ID:XUh8iLQC
OutlookVBAでメールの添付ファイルをスレッドごとで別々のフォルダに格納したいのですが、良い方法はありますでしょうか。
現状“RE:”を無視する形で同一件名をフォルダに落とす形で考えたのですが、色々と無理がありそうです‥

0966デフォルトの名無しさん2024/04/17(水) 05:49:23.17ID:DrUG53yb
>>964
そのフォントはインストールされてる?

0967デフォルトの名無しさん2024/04/17(水) 06:01:26.20ID:erVWI8HK
>>966
フォントインストール済みです
Acrobat で編集してフォントを CODE 128 に手動で変更すれば
バーコードになります

0968デフォルトの名無しさん2024/04/17(水) 06:10:11.63ID:Rshduz89
>>965
色々との中に日本語説明力も入れといてね

0969デフォルトの名無しさん2024/04/17(水) 09:38:09.11ID:DRQvL3bA
>>967
「Code 128」は試した?CODEじゃなくてCodeな
それがだめだったらフォントのPostScript Nameをちゃんと調べな

0970デフォルトの名無しさん2024/04/17(水) 09:46:44.78ID:OQVrRhnY
>>968
結局無理ということですか?返信メールにつくRE等の挿入文字は表記に揺らぎがあったりするので、、

0971デフォルトの名無しさん2024/04/17(水) 10:06:36.48ID:moW2UzKN
>>970
その日本語説明力ならムリ

0972デフォルトの名無しさん2024/04/17(水) 10:56:15.65ID:70DdL19a
>>971
日本語勉強します、、

0973デフォルトの名無しさん2024/04/17(水) 12:42:18.46ID:9wMw4Y7N
課の改善テーマがVBAによる一元管理なんだが俺しか作ってねぇ
出来た?じゃねーんだよ
あ~それ組めば出来るっしょみたいな奴らが何にもやってねー

0974デフォルトの名無しさん2024/04/17(水) 15:30:16.93ID:moW2UzKN
>>973
課のテーマならまず課長が組めるようにならないとお話しにならない
もし課長が元々組めるなら、お前ができるからって押し付けんなって反発はされるだろうが、努力して組めるようになったんだから反発するのは「改善の努力したくない」と宣言するようなもん
やらないやつを追い込め。今や小学生からやることだからバカ扱いで構わない

0975デフォルトの名無しさん2024/04/17(水) 19:09:56.03ID:tHSYQNVz
ちなみに今の相場では 1元 = 21.36円

0976デフォルトの名無しさん2024/04/17(水) 19:33:43.81ID:DrUG53yb
>>967
実行するとエラーになる?
スルーされる?
もう忘れちゃったけど、
Javascriptでやらないと反映されないのが何かあったな

0977デフォルトの名無しさん2024/04/17(水) 20:08:31.06ID:VVnuHtS4
なぁ、盛大な野望持ってると前に言うたやん
言われたからパワークエリを少し調べて見たけど全くわからん

access、VBA、パワークエリ
の関係性をマジで噛み砕いて教えてほしい

0978デフォルトの名無しさん2024/04/17(水) 20:38:14.93ID:moW2UzKN
>>977
ありゃ、難しかったですか…
閃かなかったならパワークエリーが便利に使えるところが無いからかもしれない
使えるとこないならもちろん覚えなくていい(しかしこれから使えるとこあるかもなので何ができるかは記憶に残しておこう)

例えばexcelシートのデータをAccessのリンクテーブルで使おうとすると、一行目が項目名でないといけない
だけど、個人的にシートにまとめたデータとか、上の方に表題や解説を書いてたり、表は3列目以降にあったりする
それらのムダな情報を除去して、必要な表データを取り出せるのよ。元のシートはそのままに

純粋な表データになったらAccessDBのリンクテーブルとして使える
(リンクテーブルとは、普通はDB内に作成するテーブルと似たものをexcelのシートの表データで代替するもの。シートの値を変えるとAccessからもその値が見える。DB内に読み込んでしまうと、最新を常に読み込まなくてはならなくなる=不便)
続く

0979デフォルトの名無しさん2024/04/17(水) 21:00:16.40ID:moW2UzKN
>>977
DBは例えば商品テーブルと売上テーブルがあったとして、それらから共通の商品コードを紐づけにして、関連データを得る感じ

これらはそもそもDBとはどういうときに便利に使えるかをまず知らないといけない
自分の仕事(分析)に使えそうかをそこで判断してからです

まずは1つのテーブル(データ)から始めることもある
例えばシートのフィルターを使うと思うが、各項目間の条件はandでしかできない
値がxxで始まるという条件は2つしか書けない
などの制限がある(だよね…)
Accessのリンクテーブルにするとクエリー(SQL)で自在に条件指定できる
これに当てはまれば、これだけでもAccessにする価値ある
(入り口は簡単なことでいい。使えそうなネタが無いのに勉強もする気起きないだろうし)
私が新しいことを勉強するときはまず必要な(便利になる)ネタを探す。見つかったら勉強始めること多い

0980デフォルトの名無しさん2024/04/17(水) 21:09:59.14ID:moW2UzKN
>>979
前にも書いたけど、パワークエリとAccessのクエリは別物です
自動車と言っても、エンジン車、HV、EVとか動力機構が別物みたいなもん

共通なとこは、元のデータをゴニョゴニョ加工して別の形で取り出す仕組み、な感じ

0981デフォルトの名無しさん2024/04/17(水) 21:29:48.38ID:moW2UzKN
>>979
AccessのVBAはexcelと似たような立ち位置
シンプルなことならVBA使わなくてもできる
しかし規模が大きくなったり便利に使おうとしたら必要になる
もちろん覚えることはAccess固有のことのみで可。しかし、多分使えるようになるのは簡単ではない

excelのブック、シート、セル、シェイプ等がどう関連してるかというオブジェクト関連図があればほとんどの操作は簡単?なように、Accessも関連図探してくれば想像の範疇に置けるとも言える
VBEでF2で出るオブジェクトエクスプローラ(だっけ)をよく活用してるなら、効率よくVBA書けるとも思う

0982デフォルトの名無しさん2024/04/17(水) 22:50:47.93ID:VVnuHtS4
うーんムズい
超膨大なデータを扱う訳じゃなく多少の効率とか最適かは置いとくとぶっちゃけVBAで強引に何とかなっちゃう感じのものかな? 

数台の分析機器がそれぞれの独立したワークブックの下の行にデータが1行ずつ累積されていく

俺のVBAはそれを開いてシートコピッて自ブックに持ってきて不要な行を削除して列を変えるの作っただけでね
 
実行すると自ブックに複数のコピられたシートが集まる
同シート内でもサンプルの種類がまちまちにあるそいつらをサンプル毎に分かれてるブックにデータを飛ばしたい

うーんむずい

0983デフォルトの名無しさん2024/04/17(水) 22:53:28.70ID:Hc/N7RA7
こんなこともわからない馬鹿に作らせるなよ

0984デフォルトの名無しさん2024/04/17(水) 23:01:49.30ID:VVnuHtS4
accessは正直使わないんだよな
使用頻度なんて99.999%でexcelだし
従ってaccessは脳から消去
パワークエリを引き続き覚える

0985デフォルトの名無しさん2024/04/18(木) 06:46:26.79ID:Z+31e4IV
Accessは1ファイル2GBの上限あり
これに引っかかってUnion Queryで動きが取れなくなり
Excelのデータ モデルに戻ったでござる

0986デフォルトの名無しさん2024/04/18(木) 07:45:28.39ID:Ph6ychmj
>>984
×使わない
〇使い方を知らない

0987デフォルトの名無しさん2024/04/18(木) 08:44:16.44ID:bsHjvii7
2GBのクエリーを回避する脳みその性能が必要

0988デフォルトの名無しさん2024/04/18(木) 08:48:08.23ID:O8jGm8aK
>>986
おたくもか
でも困らんと思うよ

0989デフォルトの名無しさん2024/04/18(木) 09:05:41.46ID:cMr18rZu
>>985
1ファイル全部入っている必要はない
テーブルは別出しでもいいし、デカすぎるテーブル一つを外だしでもいい
それよりテーブルデカくなれば、SQL server express(まだあるっけ?)
無料でやりたいなら、postgre(綴不明)とかもある

0990デフォルトの名無しさん2024/04/18(木) 09:12:21.18ID:7rI/ajtp
>>987
2GBはファイルサイズの話だから仮にクエリに1バイトも使ってなくても上限は迎える
他人の脳みその性能気にする前に頭の上の蠅を追うべき

0991デフォルトの名無しさん2024/04/18(木) 09:15:20.71ID:cMr18rZu
>>989
全部入りで1GBとか超えてきたらテーブル別出しを検討していい
(これからもデータ増えていくなら)
そうするとテーブル以外のフロントエンド部のファイルがコンパクトになって、それによるメリットもある

0992デフォルトの名無しさん2024/04/18(木) 09:18:35.25ID:cMr18rZu
>>990
excelに行くのがありえない大きな間違い

0993デフォルトの名無しさん2024/04/18(木) 10:53:17.72ID:8tIoRi7t
何故Excelの最下行を移動させてるし たぶんそれぞれの端末で個別のExcelファイルに取り込んでるんだろうけど、
サーバー側にひとつだけExcelファイルを設けて、そこにそれぞれの計測器からのcsvを入れる方が一般的では
個別のファイルの列(項目)のMaxを設定して、計測器ごとの生データから必要な列に割り当てるようにしたほうが
百倍楽なはず まさか、計測器の分析アプリがExcelに直接データを埋め込んでくれてる訳でもあるまい

難しく考えるからより面倒に成る Think easy シンプル・イズ・ベスチャ

0994デフォルトの名無しさん2024/04/18(木) 11:02:52.58ID:Z+31e4IV
10年間での期間最大とか
いくつかの項目での前時間コマとの差とか
10地点合計の時間軸串刺し合計とかやるので、
Union Queryせざるを得なかった

0995デフォルトの名無しさん2024/04/18(木) 11:32:44.96ID:beyxyKOT
>>992
データモデルはデータの持ち方でしかなく、
Accessからアクセスしたっていいんだぞ

0996デフォルトの名無しさん2024/04/18(木) 11:36:47.34ID:Z+31e4IV
Accessのグラフも貧弱やで

0997デフォルトの名無しさん2024/04/18(木) 11:47:01.26ID:Z+31e4IV
2026年にサポート終了するので、
Access使ってるところはShare PointとかPower Appsに移行しろ
つうことかと

0998デフォルトの名無しさん2024/04/18(木) 12:29:29.64ID:ZuHg8DiJ
>>993
最下行に移動させてるわけじゃなくそういう仕様でcsvでもない
300行のデータ、追加されて301行のデータ、追加されて302行のデータ
と設備が累積データを上書きしてく
そのブックは弄れないから最新の累積データだけ常に引っ張る
今のところは

0999デフォルトの名無しさん2024/04/18(木) 13:24:15.51ID:1KjycSiR
>>995
EXCELのデータモデルをkwsk
accessのデータモデルではだめな理由も

1000デフォルトの名無しさん2024/04/18(木) 14:05:40.47ID:cMr18rZu
Excel VBA 質問スレ Part81
https://mevius.5ch.net/test/read.cgi/tech/1713416618/

申し訳ない、今立てた
不備あったらごめん

10011001Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 323日 5時間 42分 3秒

10021002Over 1000Thread
5ちゃんねるの運営はUPLIFT会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《UPLIFT会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
4 USD/mon. から匿名でご購入いただけます。

▼ UPLIFT会員登録はこちら ▼
https://uplift.5ch.net/

▼ UPLIFTログインはこちら ▼
https://uplift.5ch.net/login

レス数が1000を超えています。これ以上書き込みはできません。