Excel VBA 質問スレ Part65

レス数が1000を超えています。これ以上書き込みはできません。
2020/03/17(火) 16:27:20.88ID:hh8LiIgR0

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

※前スレ
Excel VBA 質問スレ Part64
https://mevius.5ch.net/test/read.cgi/tech/1575297834/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2020/05/07(木) 17:58:41.98ID:oG7+JCgx0
あっまさか列と幅のポイントは同じポイントでも数値としては別物って聞いた気もする
そして行幅のポイントの方がVBAのポイントと合致しているという訳か
だとすると列幅のポイントに変換するのはどうしたらいいのか…
2020/05/07(木) 18:13:16.48ID:k5uIH00p0
>>913
列幅の単位は違う

列幅の設定の仕方も
「application.centi〜 列幅」
で検索すればサンプルがいくつか出てくるけどね
2020/05/07(木) 18:13:25.52ID:z+lCu/T70
>>917
ページレイアウトにして、列幅1cmをマクロ記録
2020/05/07(木) 18:13:45.51ID:k5uIH00p0
あ、間違えた
アンカ>>916
2020/05/07(木) 18:17:19.51ID:k5uIH00p0
>>914
瞬時に思い付くのに5年前のコードのこと修正するのかよw
5年間もずっとVBAばっかやって、しかもそんな昔のコード引きずってるのw
2020/05/07(木) 19:06:33.04ID:IeUYmiVSd
>>921
あれ、分からんかった?
瞬時に5通り思いついたとして、5年後に知らない技術を獲得した時に、あの時これ使えばもっと良くなったなあと思うとか。
あるいは昔、どうしても解決出来なかった問題が解決出来たとか。

俺の場合はデフォルトのプリンター設定のポートを変更するプログラムが出来なくてね。
PRINTER_INFO_5構造体を使ってプリンターのプロパティ設定変更するのは出来てたけどポートはさらに先のポインタでその時は出来なかった。

もっとも、これ10年以上前の話だし、それで修正するとかいう話でもないけどな。
2020/05/07(木) 19:59:41.10ID:k5uIH00p0
>>922
効いてて草、必死すぎw
2020/05/07(木) 20:18:07.38ID:IeUYmiVSd
>>923
理解出来なくて悔しいからって、そうまでして絡みたいの?
2020/05/07(木) 20:58:22.79ID:SRAFxxem0
効いてる事にして勝ったつもりになってるけど実は・・・
2020/05/07(木) 21:20:02.04ID:k5uIH00p0
>>924
別に古臭いVBAおじさんに絡みたいとかないけどなw
その程度でどや顔して、こんなところで長文まで書いて哀れだなあってねw

・瞬時に5個思い付く(ドヤア)
・10年以上前の話(ドヤア)
・どうしても解決出来ない問題が解決できた(ドヤア)

いい年して恥ずかしいww
2020/05/07(木) 21:20:55.13ID:XMGIuLDd0
>>916
煮詰まったなら完成じゃん。
2020/05/07(木) 21:29:03.52ID:vCXp7vkf0
4月、5月、6月というシートを請求書という新しいブック名のシートに追加していきたい場合

請求書というブックがなかったら
請求書というブックを作成して○月のシートをコピー
既に請求書というブックがあったら
そのブック内に○月のシートをコピー

という考え方でいいですか?
というか可能ですか?
2020/05/07(木) 21:34:48.09ID:wHiSIw2F0
既にあるブックを変えて問題ないんならいいんじゃないの
2020/05/07(木) 21:46:21.07ID:IeUYmiVSd
>>926
悔しいと素直に言えば良いのにw
2020/05/07(木) 21:58:23.82ID:k5uIH00p0
>>930
あ、恥ずかしくなってるwかわいーねーw
2020/05/07(木) 22:16:17.23ID:oG7+JCgx0
色々調べ直して列幅1cmできた! ありがとうございます。
それにしたって、なんと解りにくい…
CentimetersToColumnPointsみたいにしてくれればいいのに…
2020/05/07(木) 22:22:20.56ID:IeUYmiVSd
>>931
自分の技術が足りないのがそんなに悔しいのかねw
2020/05/07(木) 22:33:54.55ID:k5uIH00p0
>>933
恥ずかしくて言えることないの草
黒歴史だねーww
2020/05/07(木) 22:35:53.74ID:k5uIH00p0
>>933
あ、>>928とか5通り早くコード付で答えてあげなよww
あと5年後まで改善策見つけたら書き込んでねw
2020/05/07(木) 22:48:13.57ID:IeUYmiVSd
>>934
君が初心者に毛が生えたレベルなのは俺の責任じゃ無いんだ。
悔しいからって絡むのは辞めてくれw
2020/05/07(木) 22:50:20.24ID:IeUYmiVSd
だいたい、バカにしようととしたら自分より上のレベルで悔しくても、それは自分が悪いんだろw
2020/05/07(木) 23:08:01.99ID:ATN3rOjQ0
array関数で要素を代入する際に、プロシージャ引数のヒントの様にカンマで区切ると何を入力すべきか表示させることは出来ないでしょうか。要素が多いので解りづらくて
戻り値ありの関数作るべきなのでしょうか
2020/05/08(金) 00:15:43.02ID:7LgH0Xf00
>>938
入力に困るほど大量のデータをプログラム中に直接書くのは設計が悪いと思う
せめてワークシートに見出しを付けて並べたら?
2020/05/08(金) 00:44:49.38ID:NrG+fdAu0
>>936
恥ずかしい書き込みするやつの言うことは違うなあw
10年以上前の話とか言っちゃうんだもんなあww
で、5年がなんだって?w
2020/05/08(金) 02:37:36.79ID:LrYvIqoM0
>>940
だから絡むの辞めてくれ。
初心者のプライドが傷ついたのかよw
2020/05/08(金) 09:10:24.43ID:gaKPf4O20
1000とった方が勝ち
2020/05/08(金) 09:39:57.65ID:NrG+fdAu0
>>941

>出来る奴は瞬時に何通りかは思いつく。

>もっとも、これ10年以上前の話だし、それで修正するとかいう話でもないけどな。

>瞬時に5通り思いついたとして、5年後に知らない技術を獲得した時に、あの時これ使えばもっと良くなったなあと思うとか。

ん?早く質問者に5通りコードで回答してあげなよ、プロVBAおじさんww
2020/05/08(金) 10:17:39.27ID:SGzHt0H00
このスレにコロナでも混ざってんの?
2020/05/08(金) 12:21:01.99ID:KpBIrL5Ad
>>943
その返しもバカっぽくね?
質問の内容とか考えた?
2020/05/08(金) 12:25:59.54ID:KpBIrL5Ad
>>943

>早く質問者に5通りコードで回答してあげなよ

日本語をちゃんと理解することができる?
2020/05/08(金) 12:27:38.79ID:EoiUnzGX0
static変数の宣言と同時に初期値入れても、Cと違って毎回初期値が入るようなんですけが回避方法ってありますか
2020/05/08(金) 12:37:08.32ID:NrG+fdAu0
>>945
ほらほらー、10年以上やってこの程度も5通り分からないの?ww

「出来る奴は瞬時に何通りかは思いつく。」
んだろwwほらほらww
2020/05/08(金) 18:51:21.09ID:F9AE4+4ta
バッチを非同期で実行したいんだけどShellでやってもWSHShellでやっても
バッチの終了まで待たされるんだけど何故?

やってることはIEを操作してファイルをDLするところまでVBAでやって
それ以降の処理をバッチでやりたいんだけど…
950デフォルトの名無しさん (ワッチョイ cfe6-r6hg)
垢版 |
2020/05/08(金) 19:02:53.06ID:XNwDJZFz0
非同期オプション付けても出来ないのですか?
不思議ですね
2020/05/08(金) 19:59:31.15ID:swHMPSPD0
最大で何行くらい組んだことある?
2020/05/08(金) 20:43:59.77ID:1Hremoh70
2000
953デフォルトの名無しさん (アウアウウー Sa1f-2+Ho)
垢版 |
2020/05/08(金) 21:13:02.00ID:oLBub1X/a
vbaでハイパーリンク設定済み場所から
フルパスを取得したいです。

https://www.google.co.jp/amp/s/gamp.ameblo.jp/ksej/entry-11288945247.html

このサイトの方法でネットワーク上のアドレス取得して
あるセルにフルパスを貼りたいんだけど
カレントディレクトリが¥¥A¥B¥C
とあったら、¥¥A¥Bまでしか貼り付けに反映されないのってなぜかわかりますか?

msgboxでカレントディレクトリだけ表示させたら
Cまで表示されますが貼り付けたらBまでしか表示されない感じです。

あとカレントフォルダの設定はこのサイトの方法です。
https://vbabeginner.net/vbaでネットワークドライブにカレントを変更する/
2020/05/08(金) 21:31:38.77ID:KpBIrL5Ad
>>948
くだらねえ煽りの前にお前が日本語を理解出来て無かったのが分かったのか?
そして今は理解出来てるんだろうな?
2020/05/08(金) 21:32:10.12ID:KpBIrL5Ad
>>948
そしてもう1つ。
質問の内容とか考えた?
2020/05/08(金) 21:43:28.38ID:KpBIrL5Ad
>>949
Shellは待たされないと思うぞ。
待つにはタスクからプロセスハンドルを得て、WaitForSingleObjectとかを使う筈。
←たしかこいつは古いんで今は似た名前の奴を使う。
957デフォルトの名無しさん (ワッチョイ 738e-jYUs)
垢版 |
2020/05/08(金) 22:58:17.96ID:AMoglHga0
>>953
ただのコピペしかできない馬鹿だからだろ
958デフォルトの名無しさん (アウアウウー Sa1f-2+Ho)
垢版 |
2020/05/08(金) 23:39:12.99ID:oLBub1X/a
>>957
他のサイトも色々見て調べたり試行錯誤したのですが
Cが表示されなくて。

何か縛り的なのがあるかわかりますか。
貼り付け時の表示文字数に制限があるとか。

最悪わからなければ、
¥¥からCまでを取得したものをセルに貼り付けて
C以降を貼り付けたものを&で繋げて使おうか迷ってます。
2020/05/08(金) 23:49:29.90ID:7LgH0Xf00
>>953
最小限のコードで実験してみ?
(1)ワークシートにハイパーリンク設定
(2)FSOでフルパス取得
(3)MsgBoxで確認
(4)セルにフルパスの文字列を入れる
960デフォルトの名無しさん (アウアウウー Sa1f-2+Ho)
垢版 |
2020/05/08(金) 23:56:44.70ID:oLBub1X/a
1)と2)と4)についてはBまでの表示

3)についてはフルパスでは試してないので、試して見ます。

ちなみに3)はカレントディレクトリのみで行うと、Cまで表示されて、次の行に2)を試すとBまでになってしまいます。
2020/05/09(土) 00:37:26.19ID:SO2yq4ky0
>>954
質問どんどん来てるよww
10年やってきたんだから早く5通り以上答えてあげなよww
そしてリファクタリング出来たらその都度書き込んでなw

>出来る奴は瞬時に何通りかは思いつく。

>もっとも、これ10年以上前の話だし、それで修正するとかいう話でもないけどな。

>瞬時に5通り思いついたとして、5年後に知らない技術を獲得した時に、あの時これ使えばもっと良くなったなあと思うとか。
2020/05/09(土) 09:12:02.43ID:jb1+fPLha
>>956
思うぞと言われても実際待たされてるから困ってるんだが。

検索しても待つ方法しか引っかからんし…
CPU使用率が上がるとVBAスクリプトが止まるとかそういうわけじゃないよね
2020/05/09(土) 09:12:34.65ID:5lxB5cuMr
パスとドライブの違いわかってる?
uncパスの形式わかってる?
そのaもbもフォルダじゃないけど、なにをどうやって表示させた?
2020/05/09(土) 10:41:18.50ID:OK904gHA0
最小限のコードでテストしてみた
Excel2019のshell関数でバッチの同時起動できてるから原因は別の所にある
https://i.imgur.com/bqqc2uc.png
2020/05/09(土) 11:14:42.24ID:m7V0shMq0
>>953
ハイパーリンク扱う時って表示文字列とアドレスの2つがあった気がするが関係ないか?
966デフォルトの名無しさん (ワッチョイ 8f59-2+Ho)
垢版 |
2020/05/09(土) 12:02:06.49ID:zV8Vx2bY0
>>963
わかりにくくてすいません。

abcは仮に書いた感じで、実際はネットワーク上のフォルダ名になります。
2020/05/09(土) 12:06:22.54ID:OK904gHA0
>>966
何をやろうとしてるのかイマイチよくわからん
試したコードとワークシートのスクショをここに書いて
2020/05/09(土) 12:11:35.33ID:74X5YOol0
>>961
日本語が理解出来てたのか出来て無かったのかどっちだい?
話はそれからだ。
969デフォルトの名無しさん (ワッチョイ 8f59-2+Ho)
垢版 |
2020/05/09(土) 12:17:50.79ID:zV8Vx2bY0
>>967

ネットワーク上にあるエクセルファイルで、
相対参照で貼り付けされたハイパーリンクがあるんですが
それを絶対参照で取得したいです。

カレントディレクトリを¥¥a¥¥b¥¥cで設定し
GetAbsolutePathNameで取得しあるセルに貼り付けると
なぜか¥¥a¥b¥取得したパス.xlsxになります。
カレントディレクトリをmsgboxで表示すると¥¥a¥b¥cとなります。

今端末が手元にないので、スクショ取れるようになり次第
対応します。

助かります。
970デフォルトの名無しさん (ワッチョイ 8f59-2+Ho)
垢版 |
2020/05/09(土) 12:23:23.31ID:zV8Vx2bY0
>>965
アドレスを変更しています。
2020/05/09(土) 12:40:40.05ID:5ucHUX9S0
どうやってvba勉強した?
2020/05/09(土) 12:48:47.19ID:drDVgFRjH
いくつか他の言語はできるからなんとなく雰囲気で
特に勉強はしていない
2020/05/09(土) 13:04:53.46ID:74X5YOol0
>>962
何となく分かった。
待たされたんじゃなくてフォーカスがバッチファイルにある。

よく、たくさんのウィンドウが開いてる時なんかにメッセージを表示しようとタスクバー上で点滅してるのと同じ現象。
バッチファイル実行中にExcelをクリックするとすぐ実行されるよ。

Shellの第2引数にvbNormalNoFocusを指定してみよう。
2020/05/09(土) 13:16:32.84ID:74X5YOol0
>>969
カレントディレクトリとは何かを調べた方が良い。
これはエクセルファイルだとかに関係が無い。
動いている場所だ。
ブックのある場所でも無い。

ハイパーリンクの相対参照、絶対参照の操作でカレントディレクトリが関係することは無い。
2020/05/09(土) 13:16:59.46ID:hJO1Owz9d
>>971
マイコンBASICマガジンのゲームがやりたくて覚えた
子供は記憶力がいいからすぐ覚えた
大人になってから始める人は大変だろうね
976デフォルトの名無しさん (ワッチョイ 738e-jYUs)
垢版 |
2020/05/09(土) 13:21:14.53ID:WSrPnN3q0
意味もわからずただコピペしかできない馬鹿には無理
2020/05/09(土) 13:25:01.47ID:SO2yq4ky0
>>968
話はそれからだ、ってコード5つ提示もしないで答えない10年経験者に言われてもなあww
ほらコード5つ提示して答えてあげなよw

>出来る奴は瞬時に何通りかは思いつく。

>もっとも、これ10年以上前の話だし、それで修正するとかいう話でもないけどな。

>瞬時に5通り思いついたとして、5年後に知らない技術を獲得した時に、あの時これ使えばもっと良くなったなあと思うとか。
978デフォルトの名無しさん (ワッチョイ 8f59-2+Ho)
垢版 |
2020/05/09(土) 13:27:57.61ID:zV8Vx2bY0
>>974
ご指摘ありがとうございます。

相対参照だと./や../で省略されてしまうので
省略される箇所(ネットワーク上(インターネット上ではない)の決まったフォルダ)
を指定するためにカレントディレクトリで設定していました。

ちなみに複数端末でファイルを操作する事を想定しています。

もう少し勉強します。
2020/05/09(土) 13:33:59.72ID:74X5YOol0
>>977
やっぱり日本語分かってねえじゃんwww
2020/05/09(土) 13:40:39.44ID:m7V0shMq0
>>969
ネットワーク上にあるエクセルファイルはUNCパスになるので
ディレクトリ構成はサーバー上での階層
一番上はサーバーのIPアドレス(DNSで変換された名前)
2020/05/09(土) 14:38:22.98ID:SO2yq4ky0
>>979
自分の言ったこと分かってねえじゃんww

>出来る奴は瞬時に何通りかは思いつく。

>もっとも、これ10年以上前の話だし、それで修正するとかいう話でもないけどな。

>瞬時に5通り思いついたとして、5年後に知らない技術を獲得した時に、あの時これ使えばもっと良くなったなあと思うとか。
2020/05/09(土) 15:54:31.92ID:INzaqzr5M
議論してるところ申し訳ないけど
>>928
わかる方お願いできますか
2020/05/09(土) 15:58:18.33ID:JX27GBwZ0
>>982
合ってるよ
2020/05/09(土) 16:04:20.17ID:74X5YOol0
>>981
バ一カw

>>983
そう、これが正解。
バカと違って質問の意味が分かってる人はこういう答えになるから何通り等の方法等とならないことを知っている。
985デフォルトの名無しさん (ワッチョイ 7332-R2sI)
垢版 |
2020/05/09(土) 18:27:33.02ID:d0o5iTyS0
>>983
便乗してそのコード教えてくれせんか
986デフォルトの名無しさん (バットンキン MMbb-6LGb)
垢版 |
2020/05/09(土) 18:39:39.46ID:3Qrhs3L2M
ある表があって一行ずつアクティブセルをループで下に移動させ、条件があった場合offset で特定のセルを集計するマクロを作成し使用してたんだけど、
アクティブセルじゃなくてcellで置き換えたら実行スピードが早くなった。
やっぱり画面が遷移すると遅くなるんだよね?
オートフィルタ組み込むと遅くなる?
2020/05/09(土) 19:29:16.68ID:SO2yq4ky0
>>984

矛盾しまくってるがww
頭悪いなーVBA10年以上やってるんだろww
瞬時に5通りできるんじゃないんですかー?www

ID:KpBIrL5Ad
ID:74X5YOol0
ID:MibsCGor0

>バカと違って質問の意味が分かってる人はこういう答えになるから何通り等の方法等とならないことを知っている。

>出来る奴は瞬時に何通りかは思いつく。

>もっとも、これ10年以上前の話だし、それで修正するとかいう話でもないけどな。

>瞬時に5通り思いついたとして、5年後に知らない技術を獲得した時に、あの時これ使えばもっと良くなったなあと思うとか。
988デフォルトの名無しさん (ワッチョイ 0b87-YOOL)
垢版 |
2020/05/09(土) 19:48:20.99ID:YHeP8Ot70
>>985
死ねよ
2020/05/09(土) 20:09:54.40ID:7P+we5mg0
フォームからシートにデータを入力する場合、セルに値を入れるコードはどちらに書く方が良いのでしょうか。
シート側に関数処理書いて、フォーム側から引数渡す形を考えていますが、本来はどういう使い方なのかわからず。
2020/05/09(土) 20:14:54.27ID:m7V0shMq0
>>989
書き方が何通りかある場合、どれを選択するかは作る人が選択すればいい
2020/05/09(土) 20:29:18.83ID:JFqcrtJG0
>>986
表示に影響する処理は速くない
2020/05/09(土) 20:32:02.99ID:JFqcrtJG0
>>989
自分だったらシートには書かない
2020/05/09(土) 21:56:43.63ID:RixiaBnA0
>>989
変なやり方だね
2020/05/09(土) 22:11:53.76ID:yzOAykNA0
>>937
フォームとシートでどちらが主役かで決めるといいと思ったけど
シートをコピーしたときにコードもコピーされて後で大変になるから、シートじゃない方がいいね
2020/05/09(土) 22:12:57.07ID:yzOAykNA0
×>>937
>>989
です
2020/05/09(土) 22:22:33.93ID:7P+we5mg0
ありがとうございます。
フォームのコード量が多くなりますね。別クラスに記述してみます。
2020/05/09(土) 23:28:56.55ID:m7V0shMq0
>>996
お前の仕事はお前が判断すればいい
2020/05/09(土) 23:43:47.15ID:G+eyUkVB0
俺の仕事はお前のものだ。
お前の仕事はお前のものだ。
お前の手柄は俺のもの。
俺の手柄は俺のものだ。

みんな違っていいじゃないか。
だって、人間だもの。
2020/05/10(日) 08:02:11.47ID:Nkoph0aj0
俺の手柄なら金くれ
2020/05/10(日) 08:02:44.03ID:Nkoph0aj0
1000
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 53日 15時間 35分 24秒
レス数が1000を超えています。これ以上書き込みはできません。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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