!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
↑同じ内容を3行貼り付けること
ExcelのVBAに関する質問スレ
コード書き込みや作成依頼もOK
次スレは>>980が立てること
無理なら細かく安価指定
※前スレ
Excel VBA 質問スレ Part77
https://mevius.5ch.net/test/read.cgi/tech/1658009255/
-
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
探検
Excel VBA 質問スレ Part78
レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん (ワッチョイ 5f2e-juJ7)
2022/10/30(日) 13:43:16.31ID:6yf2E1Gz02デフォルトの名無しさん (ワッチョイ 532e-juJ7)
2022/10/30(日) 13:52:22.69ID:6yf2E1Gz0 3行貼り付けても
2行になるんだな この呪文↓
!extend:checked:vvvvv:1000:512
2行になるんだな この呪文↓
!extend:checked:vvvvv:1000:512
3デフォルトの名無しさん (ワッチョイ 532e-juJ7)
2022/10/30(日) 13:52:41.17ID:6yf2E1Gz0 1行目は本物の呪文
2行目は次回スレ立て時用の呪文
3行目は間違って消す馬鹿除けの保険
2行目は次回スレ立て時用の呪文
3行目は間違って消す馬鹿除けの保険
4デフォルトの名無しさん (ワッチョイ 532e-juJ7)
2022/10/30(日) 13:54:09.50ID:6yf2E1Gz0 とりあえず建てたよ。
あと進行よろしくお願いします。
あと進行よろしくお願いします。
5デフォルトの名無しさん (ワッチョイ 1924-NQ1M)
2022/10/30(日) 15:40:36.74ID:pPckLpAv0 初心者はなんで自分の能力でできないことをやりたがるんだろうね
6デフォルトの名無しさん (ワッチョイ 1342-9sNO)
2022/10/30(日) 15:56:30.95ID:INNDxBri0 そりゃ自分でできることだけやってても伸びないからじゃね
7デフォルトの名無しさん (ワッチョイ 137c-Iwn0)
2022/10/30(日) 15:59:52.83ID:Mbn5azmc0 >>5
子供と一緒で自分の能力でできることを知らないからじゃない?
子供と一緒で自分の能力でできることを知らないからじゃない?
8デフォルトの名無しさん (ワッチョイ 13da-ee5o)
2022/10/30(日) 16:51:58.49ID:5A/AyQcT0 出来なかったことがやれるように成ったらうれしかろ? 次のステップは踏みたいじゃん 階段途中で足止め食うよりは
https://chie-pctr.c.yimg.jp/dk/iwiz-chie/que-13121424663?w=999&h=999&up=0
前スレの最後の質問は、ログっぽさ出そうと苦労しても出力が一瞬で終わってガッカリすると思う
よっぽどひつこいloopとかさせて延々と処理し続けるコード書くなんてのも無駄の極みだし
出力に遅延処理させる? Excel上ではとっくに結果出てるのにログっぽい画面ではダラダラ出力し続けさせる?
うん、悪くない 関係無いが、マトリックスのOPの象徴をマトリックス・コード デジタル・レインとか呼ぶらしい 今更知った
https://chie-pctr.c.yimg.jp/dk/iwiz-chie/que-13121424663?w=999&h=999&up=0
前スレの最後の質問は、ログっぽさ出そうと苦労しても出力が一瞬で終わってガッカリすると思う
よっぽどひつこいloopとかさせて延々と処理し続けるコード書くなんてのも無駄の極みだし
出力に遅延処理させる? Excel上ではとっくに結果出てるのにログっぽい画面ではダラダラ出力し続けさせる?
うん、悪くない 関係無いが、マトリックスのOPの象徴をマトリックス・コード デジタル・レインとか呼ぶらしい 今更知った
9デフォルトの名無しさん (ワッチョイ 49da-60hQ)
2022/10/30(日) 17:13:30.48ID:6arNe7Kx010デフォルトの名無しさん (ワッチョイ 1301-pRvw)
2022/10/30(日) 18:34:39.52ID:2N6ePwSn0 >>5
そもそも自分の能力で出来るならこのスレに来ないし
そもそも自分の能力で出来るならこのスレに来ないし
11デフォルトの名無しさん (スッップ Sd33-iO6U)
2022/10/30(日) 19:11:45.46ID:LcJSLwmnd >>5
判断すらできないし、それを指摘する人もまわりにいないんでしょ
判断すらできないし、それを指摘する人もまわりにいないんでしょ
12デフォルトの名無しさん (ワッチョイ c1da-Tk+f)
2022/10/30(日) 19:21:37.70ID:ZcgB96550 自分でできない処理をやりたいと考えるだけならいいが
自分で調べたりしないで質問したらやってもらえるとか思ってるんじゃないか
自分で調べたりしないで質問したらやってもらえるとか思ってるんじゃないか
13デフォルトの名無しさん (ワッチョイ 13da-ee5o)
2022/10/31(月) 11:08:09.71ID:y4w9EAHl0 しばらく前からそういう層は増えてる 黎明期のような、積極的に見知らぬ世界に飛び込もうって勢いじゃなく
仕事でやらざるを得ないからしょうがなく操作する、でも分からん、教えて
検索しようとしても、やたらと広告メインのサイトばかりヒットして、ロクな情報に辿り着けない ンなもん使えねー に成る
便利も度を超すとアタマがパーに成るだけ 老獪なじじい共は相手が美少女だとでも思い込んで、手取り足取り懇切丁寧に教えてあげて
やる気(ぜってーモチベーションとか言わない強靭な意志)を引き出してあげるよう、つべこべ文句垂れてないで、やよ励め
仕事でやらざるを得ないからしょうがなく操作する、でも分からん、教えて
検索しようとしても、やたらと広告メインのサイトばかりヒットして、ロクな情報に辿り着けない ンなもん使えねー に成る
便利も度を超すとアタマがパーに成るだけ 老獪なじじい共は相手が美少女だとでも思い込んで、手取り足取り懇切丁寧に教えてあげて
やる気(ぜってーモチベーションとか言わない強靭な意志)を引き出してあげるよう、つべこべ文句垂れてないで、やよ励め
14デフォルトの名無しさん (スップ Sd73-iO6U)
2022/10/31(月) 15:01:23.81ID:1VyNBOoWd まあ興味ある質問ならこたえるし
質問がよくわからない、質問者もよくわからないなら無視するだけだから質問するのはかまわないけどね
質問がよくわからない、質問者もよくわからないなら無視するだけだから質問するのはかまわないけどね
15デフォルトの名無しさん (ワッチョイ 134f-JQHF)
2022/10/31(月) 19:53:47.30ID:pfNUNfDW0 質問です。
ボタンを押して時間が長く掛かる処理を実行する際、
他のとあるボタンを押したときにピタッと処理を中断するプログラムって書くことは可能ですか?
エスケープキーとかで中断させようとすると、中々中断されなかったり、固まってしまうことがあるもので・・・
以下の条件は満たして欲しいです。
・中断用のボタンを押すまでの処理実行速度は落とさない。
・中断用のボタンを押すとピタッと止まって実行している処理を中断してプログラムを終了する。
※尚、途中でDBを読み込むなどVBAに依存しない処理は含まれないものとします。
ボタンを押して時間が長く掛かる処理を実行する際、
他のとあるボタンを押したときにピタッと処理を中断するプログラムって書くことは可能ですか?
エスケープキーとかで中断させようとすると、中々中断されなかったり、固まってしまうことがあるもので・・・
以下の条件は満たして欲しいです。
・中断用のボタンを押すまでの処理実行速度は落とさない。
・中断用のボタンを押すとピタッと止まって実行している処理を中断してプログラムを終了する。
※尚、途中でDBを読み込むなどVBAに依存しない処理は含まれないものとします。
16デフォルトの名無しさん (ワッチョイ 81ce-ee5o)
2022/10/31(月) 19:56:07.94ID:m528Nikw017デフォルトの名無しさん (ワッチョイ 134f-JQHF)
2022/10/31(月) 22:50:53.16ID:pfNUNfDW018デフォルトの名無しさん (ワッチョイ c1da-Tk+f)
2022/10/31(月) 23:00:31.00ID:4/W2uk2s0 >>15
作り方によるが、長くかかる処理がLoop回数が多いようなパターンであれば
1.長くかかる処理の中に、ある条件が成り立てば以降の処理をしないで終了するようにしておく
2.Doeventsを長くかかる処理の中に入れる
3.ボタンを押したときに上の条件が成り立つようにする
なら一応それっぽくできるかも
作り方によるが、長くかかる処理がLoop回数が多いようなパターンであれば
1.長くかかる処理の中に、ある条件が成り立てば以降の処理をしないで終了するようにしておく
2.Doeventsを長くかかる処理の中に入れる
3.ボタンを押したときに上の条件が成り立つようにする
なら一応それっぽくできるかも
19デフォルトの名無しさん (ワッチョイ 7b66-FQW+)
2022/11/02(水) 12:00:56.68ID:LYlR/saz0 win10 office2019
ループの外で
Dim ar() as long
してある配列を
そのあとのループの中で初期化してかつ、空のままUboundでも使いたいです。
今はLong宣言を諦めてVariantにしてループ内で
ar = array()
してそのあと空のままUboundに使ってもエラーにならないようにして使っています。
Redimで初期化してLongの空配列でもUbound出来る方法で、誰に配っても問題なく動くというのはないでしょうか?
ループの外で
Dim ar() as long
してある配列を
そのあとのループの中で初期化してかつ、空のままUboundでも使いたいです。
今はLong宣言を諦めてVariantにしてループ内で
ar = array()
してそのあと空のままUboundに使ってもエラーにならないようにして使っています。
Redimで初期化してLongの空配列でもUbound出来る方法で、誰に配っても問題なく動くというのはないでしょうか?
20デフォルトの名無しさん (オッペケ Src5-bygb)
2022/11/02(水) 12:44:54.50ID:twL4/Nfdr 日本語でおけ
コード出せ
コード出せ
21デフォルトの名無しさん (スッップ Sd33-iO6U)
2022/11/02(水) 13:09:37.72ID:u9JRuLqrd 俺も3回読み直したけど何がしたいかわからんかったわ
22デフォルトの名無しさん (スッップ Sd33-iO6U)
2022/11/02(水) 14:30:47.00ID:u9JRuLqrd 初期化って何?Erase??
空ってどういう状態???要素数の宣言なし????
じゃあRedimで初期化して空配列ってなに?????
なんだよなぁ
空ってどういう状態???要素数の宣言なし????
じゃあRedimで初期化して空配列ってなに?????
なんだよなぁ
23デフォルトの名無しさん (ワッチョイ 5149-K2BO)
2022/11/02(水) 17:23:30.25ID:CTo+D6um0 >>19
たとえばUBound2とかいう名前で、空だったら-1を返す、そうでなければ
UBoundの値を返すといった関数を作って、渡した人にはUBound2を使ってもらうとか。
あるいは空に戻すときに、ReDim ar(-1 to -1) as longのようにするとか。
実際には空の配列ではないけれど、 UBound(ar) < 0 のような形で判定できる。
たとえばUBound2とかいう名前で、空だったら-1を返す、そうでなければ
UBoundの値を返すといった関数を作って、渡した人にはUBound2を使ってもらうとか。
あるいは空に戻すときに、ReDim ar(-1 to -1) as longのようにするとか。
実際には空の配列ではないけれど、 UBound(ar) < 0 のような形で判定できる。
24デフォルトの名無しさん (スッップ Sd33-iO6U)
2022/11/02(水) 17:38:59.67ID:u9JRuLqrd 自分は基本的に動的配列は>>23の様な初期化条件をきめておいて操作してるわ
使ったことなくて今ためしたけど
if (not ar) = -1 then
の様な式で要素数未定義が判断できるけど
こんなことしても事故のもとだからなぁ
使ったことなくて今ためしたけど
if (not ar) = -1 then
の様な式で要素数未定義が判断できるけど
こんなことしても事故のもとだからなぁ
25デフォルトの名無しさん (スプッッ Sde5-W6w7)
2022/11/02(水) 17:42:15.18ID:K1ZIN18od 以前似たようなことを質問していた馬鹿だろ
2619 (ワッチョイ 7b66-FQW+)
2022/11/02(水) 18:07:41.93ID:LYlR/saz0 >>23
ありがとうございます。
UBound2というのは変数でしょうか?
ttps://qiita.com/Q11Q/items/a2d61545d9e5c4e15f22
渡すというのは完成したマクロファイルを他のパソコンで動かすという意味です。
dim Ary()
Ary = Array()
この初期化がとても便利で空のままUBound(Ary)してもエラーになりません。
その代償でVariant型にせざるを得ないのが気になってしまって。
-1 to 1という初期化方法はいいですね。
とても参考になるレスをありがとうございました。
これで失礼致します。
ありがとうございます。
UBound2というのは変数でしょうか?
ttps://qiita.com/Q11Q/items/a2d61545d9e5c4e15f22
渡すというのは完成したマクロファイルを他のパソコンで動かすという意味です。
dim Ary()
Ary = Array()
この初期化がとても便利で空のままUBound(Ary)してもエラーになりません。
その代償でVariant型にせざるを得ないのが気になってしまって。
-1 to 1という初期化方法はいいですね。
とても参考になるレスをありがとうございました。
これで失礼致します。
27デフォルトの名無しさん (アウアウウー Sa9d-NQ1M)
2022/11/03(木) 02:19:49.23ID:tGqLN8Kua エラー処理は誰もが苦労する所だな
28デフォルトの名無しさん (ワッチョイ 1301-pRvw)
2022/11/03(木) 08:29:16.93ID:NbsIPyEs029デフォルトの名無しさん (ワッチョイ c1da-Tk+f)
2022/11/03(木) 11:49:27.42ID:k/SeYHwf0 無理やり異常が出ないようにコードを組めてもその際の実行結果って正しい結果になっているのかな?
30デフォルトの名無しさん (スッップ Sd33-iO6U)
2022/11/03(木) 13:26:26.26ID:SXuBVfSid 人のコードだからどうでもいいんじゃね
31デフォルトの名無しさん (ワッチョイ 81ce-ee5o)
2022/11/03(木) 13:41:08.10ID:8HWzaTv40 裏技を使わないと書けないコードってのは元の設計が間違ってる
言語仕様をきちんと理解してないだけ
言語仕様をきちんと理解してないだけ
32デフォルトの名無しさん (ワッチョイ 137c-Iwn0)
2022/11/03(木) 16:03:25.78ID:hk926ywx033デフォルトの名無しさん (ワッチョイ 3909-iO6U)
2022/11/03(木) 21:03:31.78ID:6JQwVlSC0 VBAを1から覚えるなら「エクセルの神髄」というサイトで勉強すれば早いですか?
https://excel-ubara.com/excelvba1/
楽天RSSをりようして、株価データを取得・操作のため学ぼうと思っています。
https://excel-ubara.com/excelvba1/
楽天RSSをりようして、株価データを取得・操作のため学ぼうと思っています。
34デフォルトの名無しさん (ワッチョイ 134f-JQHF)
2022/11/03(木) 21:19:20.67ID:uJ5qkIw8035デフォルトの名無しさん (スプッッ Sd73-Yeao)
2022/11/03(木) 22:18:41.27ID:301n+Lw6d その目的ならExcel使わない方が良い
36デフォルトの名無しさん (ワッチョイ 3909-iO6U)
2022/11/03(木) 22:25:29.94ID:6JQwVlSC037デフォルトの名無しさん (ワッチョイ 137c-iO6U)
2022/11/03(木) 22:37:23.30ID:hk926ywx0 あー、昔そういうの作った気がすると思ってほっくり返したら出てきたわ
https://uploda1.ysklog.net/uploda/7e9d14b129.jpg
確か全銘柄から値が急激に上下した銘柄をピックアップしてた
知ってると思うけどHPからとってくるデータは基本時間遅らせてるからデイトレするなら役に立たないよ
昔はどっかの証券会社でAPIかなんか提供してたはず、今はわからんす
真髄とかってチラ見だけどサイト良いね、ただ印刷とかグラフとか重要じゃないものも等価に説明してるんで
自分にとって必要なものから覚えていった方が良いかも
https://uploda1.ysklog.net/uploda/7e9d14b129.jpg
確か全銘柄から値が急激に上下した銘柄をピックアップしてた
知ってると思うけどHPからとってくるデータは基本時間遅らせてるからデイトレするなら役に立たないよ
昔はどっかの証券会社でAPIかなんか提供してたはず、今はわからんす
真髄とかってチラ見だけどサイト良いね、ただ印刷とかグラフとか重要じゃないものも等価に説明してるんで
自分にとって必要なものから覚えていった方が良いかも
38デフォルトの名無しさん (ブーイモ MMdd-ee5o)
2022/11/04(金) 00:04:38.11ID:musbajKsM39デフォルトの名無しさん (ワッチョイ 137c-Iwn0)
2022/11/04(金) 00:55:51.96ID:3MIAhDZX0 まぁそうなんどけどね
株は簡単に言うと多数決で勝つ方を読むゲームだから公的な提供データをみた他大多数がどう考えるかを先読みする力が必要
そして先読みするにはみんなと同じことやってちゃだめな部分もあるのよ
株は簡単に言うと多数決で勝つ方を読むゲームだから公的な提供データをみた他大多数がどう考えるかを先読みする力が必要
そして先読みするにはみんなと同じことやってちゃだめな部分もあるのよ
40デフォルトの名無しさん (ワッチョイ 694f-hZr9)
2022/11/04(金) 03:53:57.13ID:xdVLdIYL0 HP で公表している、明地式3点チャージ法だけやっておけば?
乖離率が大きい、売られ過ぎ銘柄の戻りを狙う。
急落の瞬間に買って、上がればすぐに売る
ほぼ、100%当たるけど、
相場が大暴落する時だけだから、なかなか発生しないけど
乖離率が大きい、売られ過ぎ銘柄の戻りを狙う。
急落の瞬間に買って、上がればすぐに売る
ほぼ、100%当たるけど、
相場が大暴落する時だけだから、なかなか発生しないけど
41デフォルトの名無しさん (ワッチョイ 937c-rqX/)
2022/11/04(金) 07:15:46.95ID:9FITh/fu042デフォルトの名無しさん (ワッチョイ 694f-hZr9)
2022/11/04(金) 08:44:29.23ID:xdVLdIYL0 Python で有名なYouTuber・キノコードは、
一目均衡表など、株価の指標の作り方の動画とか出していなかったか?
株価などは、Python, Ruby だろう。
GUI は、HTML, CSS, JavaScript。つまり、ウェブアプリ。
簡単に動くのは、Jupyter Notebook
VBA では作らない
一目均衡表など、株価の指標の作り方の動画とか出していなかったか?
株価などは、Python, Ruby だろう。
GUI は、HTML, CSS, JavaScript。つまり、ウェブアプリ。
簡単に動くのは、Jupyter Notebook
VBA では作らない
43デフォルトの名無しさん (ラクッペペ MMeb-YnjT)
2022/11/04(金) 08:56:03.05ID:Jlvfh50dM 仮にMS OfficeでそれらしいことをするならVBA よりOfficeアドインの範疇なのでVBAではなくてC#やJavaScriptが基礎になると思う
44デフォルトの名無しさん (ワッチョイ 137c-Iwn0)
2022/11/04(金) 10:52:13.03ID:3MIAhDZX045デフォルトの名無しさん (ワッチョイ 49f0-cDFA)
2022/11/04(金) 10:59:08.72ID:ZQs9x2pi0 板情報集計値は俺のしる限りどの証券会社も公表してないから自分でやる意味はあるかも
それで勝てるかは知らんが
それで勝てるかは知らんが
46デフォルトの名無しさん (スップ Sd73-iO6U)
2022/11/04(金) 11:20:09.73ID:AoHCfeaMd いい加減スレチってわかれよ
47デフォルトの名無しさん (ワッチョイ c1da-NQ1M)
2022/11/04(金) 18:56:10.58ID:SA7ElMvZ0 スレチと知っててこんなことも知ってるっよって自慢したいのでしょう
他に友達いないかわいそうな人ってわかってやれよ
他に友達いないかわいそうな人ってわかってやれよ
48デフォルトの名無しさん (ワッチョイ 137c-Iwn0)
2022/11/04(金) 19:05:00.00ID:3MIAhDZX049デフォルトの名無しさん (ワッチョイ 924f-oAOw)
2022/11/05(土) 07:58:50.01ID:LfhrqaaU0 ま、そういうこった
ガッツリやりたいなら.NetでASP.NetのC#か
数学的な要素が強いならPython辺りの板へ行けばいいだろう。
どうしてもEXCELでやりたいならWebのEXCELの方が向いているからOfficeScriptだな。
多分そんな板立ってるか分からんから
自分で立てるか似たようなJavaScript板へ行けば。
ガッツリやりたいなら.NetでASP.NetのC#か
数学的な要素が強いならPython辺りの板へ行けばいいだろう。
どうしてもEXCELでやりたいならWebのEXCELの方が向いているからOfficeScriptだな。
多分そんな板立ってるか分からんから
自分で立てるか似たようなJavaScript板へ行けば。
50デフォルトの名無しさん (ワッチョイ 8101-pbv6)
2022/11/05(土) 09:37:48.82ID:j9mhoLXM051デフォルトの名無しさん (スップ Sd12-YZoV)
2022/11/05(土) 11:04:23.59ID:qEPBo7Vkd 質問の回答でもなんでもないレスなら雑談スレにでもいけばいいものを
52デフォルトの名無しさん (ワッチョイ ad10-o+MF)
2022/11/06(日) 08:04:11.74ID:WRia8VYT053デフォルトの名無しさん (オッペケ Sr79-pbv6)
2022/11/06(日) 10:25:52.00ID:HzrUdJhmr >>52
そんな事全く書いてなくね?それはあなたの思い込みでしょ
そもそも「まずは自分でやってみようと思いました。最低限の知識くらいはと。」って書いてあるんだから
あなたが判断することではない
つまり質問だけに答えてればいいんだから余計な事は言う必要ないし、答えたくなければ黙ってろカスってことね
そんな事全く書いてなくね?それはあなたの思い込みでしょ
そもそも「まずは自分でやってみようと思いました。最低限の知識くらいはと。」って書いてあるんだから
あなたが判断することではない
つまり質問だけに答えてればいいんだから余計な事は言う必要ないし、答えたくなければ黙ってろカスってことね
54デフォルトの名無しさん (ブーイモ MMb2-0JPN)
2022/11/06(日) 12:27:37.53ID:V51Xvaw0M 別に厳格なルールはないけどな
ここって質問ないときはこうやってダラダラとやってる感じじゃん
そこを個々の主観で縛っていったら一番窮屈な人にあわさるがそれがお望みか?
ここって質問ないときはこうやってダラダラとやってる感じじゃん
そこを個々の主観で縛っていったら一番窮屈な人にあわさるがそれがお望みか?
55デフォルトの名無しさん (ブーイモ MMb2-0JPN)
2022/11/06(日) 12:32:45.96ID:V51Xvaw0M 他人に注意をするときには客観的によくよく吟味してからにしないと結局荒らすことになる
それは誰も本意ではないだろ?
それは誰も本意ではないだろ?
56デフォルトの名無しさん (ワイーワ2 FF1a-jAYC)
2022/11/06(日) 20:36:11.37ID:riDqZ27VF よもやよもやだ
57デフォルトの名無しさん (ワッチョイ 328b-C1rH)
2022/11/06(日) 21:56:54.24ID:OR5OK3k20 メソッドの後ろにスペースを入れると、引数候補が表示される時とされないときがあります。この違いはどのように考えれば良いでしょうか。
例えば、worksheets.addでは候補が出てくるのですが、activeworkbook.closeでは出てきません。
例えば、worksheets.addでは候補が出てくるのですが、activeworkbook.closeでは出てきません。
58デフォルトの名無しさん (ワッチョイ adda-pSqO)
2022/11/06(日) 22:06:28.68ID:XPFotTg00 別に困らない
59デフォルトの名無しさん (スフッ Sdb2-EYDG)
2022/11/07(月) 08:01:36.70ID:h9A4jLCfd 補完機能に期待した事ないや
同じく候補が出る時と出ない時のパターンが分からん
同じく候補が出る時と出ない時のパターンが分からん
60デフォルトの名無しさん (ワッチョイ 9201-obsI)
2022/11/07(月) 09:40:23.30ID:kmERiYaX0 >>57
> activeworkbook.closeでは出てきません。
普通に出るぞ
Microsoft(R) Excel(R) for Microsoft 365 MSO (バージョン 2209 ビルド16.0.15629.20200) 64ビット
> activeworkbook.closeでは出てきません。
普通に出るぞ
Microsoft(R) Excel(R) for Microsoft 365 MSO (バージョン 2209 ビルド16.0.15629.20200) 64ビット
61デフォルトの名無しさん (ワッチョイ 61da-5diq)
2022/11/07(月) 15:34:45.97ID:70xy0Nvv0 ただのマウント&説教スレ
62デフォルトの名無しさん (ワッチョイ 5549-/1fV)
2022/11/07(月) 15:57:02.55ID:iza/eHKb0 言葉の使い方として正しいのか知らんけど
メソッドの形ならスペース
関数の形なら括弧
メソッドの形ならスペース
関数の形なら括弧
63デフォルトの名無しさん (ワッチョイ 12da-uoZ8)
2022/11/11(金) 00:37:34.42ID:Emvu2GHR0 webbrowserでSSL認証ってどうすればいい?
C#でwebview2なら出来たんだけど、
VBAなのでwebbrowserじゃないと駄目なんだわ。
C#でwebview2なら出来たんだけど、
VBAなのでwebbrowserじゃないと駄目なんだわ。
64デフォルトの名無しさん (ワッチョイ 924f-oAOw)
2022/11/11(金) 08:12:21.32ID:SalKsxDp065デフォルトの名無しさん (アウアウウー Sacd-jAYC)
2022/11/11(金) 15:05:26.45ID:QOE8vLcla >>57
うろおぼえだけど、戻り値がどうなってるかによる
Worksheets.Addは明確にWorksheetsコレクションのAddメソッドのことなのでインテリセンスがちゃんと機能する
ActiveWorkbook.Closeは、ActiveWorkbookが確実にWorkbookオブジェクトを返す保証がないので、Closeメソッドのインテリセンスが機能しない
dim wkBook as Workbook
set wkBook=ActiveWorkbook
wkBook.Close
とでもすればインテリセンスは機能する
うろおぼえだけど、戻り値がどうなってるかによる
Worksheets.Addは明確にWorksheetsコレクションのAddメソッドのことなのでインテリセンスがちゃんと機能する
ActiveWorkbook.Closeは、ActiveWorkbookが確実にWorkbookオブジェクトを返す保証がないので、Closeメソッドのインテリセンスが機能しない
dim wkBook as Workbook
set wkBook=ActiveWorkbook
wkBook.Close
とでもすればインテリセンスは機能する
66デフォルトの名無しさん (スププ Sd43-7TzV)
2022/11/16(水) 08:04:06.59ID:iwuklodQd ExcelVBAからプログミング初めてそろそろ別言語が気になってるんだけど、どのくらいまで習得したら一区切りによさそう?
今は基本的な構文とか覚えてクラスを勉強し始めようかなって所なんだけど
今は基本的な構文とか覚えてクラスを勉強し始めようかなって所なんだけど
67デフォルトの名無しさん (スップ Sd03-H0Ic)
2022/11/16(水) 08:50:07.90ID:z9TySYjjd それで食べていくなら食べていけるだけの事を覚えるまでだし
趣味でモノづくりしたいならつくれるまでだし
ただなんとなくなら適当にどうぞ
そもそも人に聞くことか?w
趣味でモノづくりしたいならつくれるまでだし
ただなんとなくなら適当にどうぞ
そもそも人に聞くことか?w
68デフォルトの名無しさん (スッププ Sd43-HbVv)
2022/11/16(水) 09:57:43.76ID:vjYael+cd 別言語じゃないと出来ない事が出てきた時。
EdgeがDom操作出来ないから、仕方なくC#の勉強始めたわ。
EdgeがDom操作出来ないから、仕方なくC#の勉強始めたわ。
69デフォルトの名無しさん (ワッチョイ 154f-FFna)
2022/11/16(水) 11:10:33.08ID:pSETlPcG0 雇用形態による
客先IT 土方奴隷なら、Java, PHP だし、
モダンでリモートワークなら、Ruby on Rails
YouTube で有名な雑食系エンジニア・KENTA の動画でも見れば?
半年で、Railsのポートフォリオを作って、転職する
客先IT 土方奴隷なら、Java, PHP だし、
モダンでリモートワークなら、Ruby on Rails
YouTube で有名な雑食系エンジニア・KENTA の動画でも見れば?
半年で、Railsのポートフォリオを作って、転職する
70デフォルトの名無しさん (ワッチョイ ddda-BvCT)
2022/11/16(水) 13:16:24.41ID:zpXhJLmc071デフォルトの名無しさん (ワッチョイ b5da-DkKd)
2022/11/16(水) 14:44:55.98ID:LR3eo8AJ0 一般事務系ならどのあたりまで?
72デフォルトの名無しさん (スップ Sd03-H0Ic)
2022/11/16(水) 14:56:37.09ID:z9TySYjjd 一般事務なら使わない
73デフォルトの名無しさん (スププ Sd43-7TzV)
2022/11/16(水) 17:09:04.39ID:iwuklodQd >>66だけど答えてくれた人ありがとう、結構臨機応変にって感じなのね
74デフォルトの名無しさん (スプッッ Sda1-2U4B)
2022/11/16(水) 18:23:35.40ID:4eEwN6UDd >>73
Rubyだけは絶対に手を出すな
Rubyだけは絶対に手を出すな
75デフォルトの名無しさん (JP 0Heb-BvCT)
2022/11/16(水) 19:20:01.04ID:+GbRkwRhH76デフォルトの名無しさん (ワッチョイ 1b30-7TzV)
2022/11/16(水) 22:22:53.60ID:9ltX2oUg0 >>74
これ怖い 参考に理由聞いてもいい?
これ怖い 参考に理由聞いてもいい?
77デフォルトの名無しさん (アウアウエー Sa13-oZep)
2022/11/16(水) 22:34:06.61ID:DYObOoK1a クラスモジュールを使ってなにか面白いこと便利なことできないかなあ
今のとこコンストラクタで画面更新や自動計算を切る呪文を唱えるクラスくらいしか作っていないんだが
今のとこコンストラクタで画面更新や自動計算を切る呪文を唱えるクラスくらいしか作っていないんだが
78デフォルトの名無しさん (ワッチョイ cd59-LvGQ)
2022/11/16(水) 22:49:19.27ID:UM257iUM0 実務ではクラスモジュールなんて殆ど使わないよ
標準モジュールで機能別に関数をまとめるとかだな
それよりエラートラップや値渡しと参照渡しの違いとか覚えたほうがいい
C#やJavaだとクラスの設計ができるレベルじゃないときついが
標準モジュールで機能別に関数をまとめるとかだな
それよりエラートラップや値渡しと参照渡しの違いとか覚えたほうがいい
C#やJavaだとクラスの設計ができるレベルじゃないときついが
79デフォルトの名無しさん (ワッチョイ 7501-X0N7)
2022/11/16(水) 23:09:35.64ID:1T85N88O0 一般事務ならそれこそvbaのみで十分だろ
職場のパソコンで環境構築とか不可能だし
Excelなら必ず入ってるからな
職場のパソコンで環境構築とか不可能だし
Excelなら必ず入ってるからな
80デフォルトの名無しさん (ワッチョイ 234f-nE6g)
2022/11/17(木) 01:03:56.22ID:ugho+MXj0 >>77
そうだなぁ
きちんとクラスの特性とか多態性とか
基本的なことを押さえていれば
何となくこんなシチュエーションのときに使うって
分かると思うからその辺調べてみれば?
もっとも、VBAでクラスのこと説明してるとこ
あまりないから、JavaとかC#でクラスって
どんなもんかググれば大概出てくるんじゃないかなぁ
VBAのクラスはかなり制限あるし
その辺のこと興味持つようになったらボチボチ
他言語にも手を伸ばす時期だと思うよ
あと、「こんな使い方するんだ」ってのが
知りたければ「デザインパターン」でググってみればいい
これもなんかのヒントにはなるよ
そうだなぁ
きちんとクラスの特性とか多態性とか
基本的なことを押さえていれば
何となくこんなシチュエーションのときに使うって
分かると思うからその辺調べてみれば?
もっとも、VBAでクラスのこと説明してるとこ
あまりないから、JavaとかC#でクラスって
どんなもんかググれば大概出てくるんじゃないかなぁ
VBAのクラスはかなり制限あるし
その辺のこと興味持つようになったらボチボチ
他言語にも手を伸ばす時期だと思うよ
あと、「こんな使い方するんだ」ってのが
知りたければ「デザインパターン」でググってみればいい
これもなんかのヒントにはなるよ
8169 (ワッチョイ 154f-FFna)
2022/11/17(木) 06:50:32.28ID:bNmyZmxA0 Qiita, Zenn, Note, Wantedly、食べチョクなどは、Ruby on Rails。
時価総額100億円ぐらいを目指す、ベンチャー企業がRailsを採用する。
米国では、1兆円超えのShopify, Airbnb, Gitlab などもある
他には、ガーシーが使う、Mastodon はRails 6。
作者のドイツのオイゲン・ロホコは、PHPからRailsに変えた。
Rubyの方が可読性が高いから
米国年収では今の円安で、Rails, AWS Solution Architect などは、2千万円ぐらい。
バックエンド技術者は高い。
AWS, Linux, Docker, Kubernetes、データベースなど学ぶことが多いから
KENTA の天敵・モローは、2年ほど前に、YouTubeで言ってた。
Rubyは滅ぶ。これからはJava・PHPの時代だと
それが今になって急に、Railsのキャリア相談までやり出したw
Java・PHPの仕事は、どうなったの?w
YouTubeのモローの動画。
【2022年版】Ruby on Railsの将来性
KENTAが、PHP, Scala をオワコン認定したから、
PHPのFacebook とか、Laravel を使っているZOZO、
Scalaを使っているTwitter などは、良い開発者を集めるのが大変
時価総額100億円ぐらいを目指す、ベンチャー企業がRailsを採用する。
米国では、1兆円超えのShopify, Airbnb, Gitlab などもある
他には、ガーシーが使う、Mastodon はRails 6。
作者のドイツのオイゲン・ロホコは、PHPからRailsに変えた。
Rubyの方が可読性が高いから
米国年収では今の円安で、Rails, AWS Solution Architect などは、2千万円ぐらい。
バックエンド技術者は高い。
AWS, Linux, Docker, Kubernetes、データベースなど学ぶことが多いから
KENTA の天敵・モローは、2年ほど前に、YouTubeで言ってた。
Rubyは滅ぶ。これからはJava・PHPの時代だと
それが今になって急に、Railsのキャリア相談までやり出したw
Java・PHPの仕事は、どうなったの?w
YouTubeのモローの動画。
【2022年版】Ruby on Railsの将来性
KENTAが、PHP, Scala をオワコン認定したから、
PHPのFacebook とか、Laravel を使っているZOZO、
Scalaを使っているTwitter などは、良い開発者を集めるのが大変
82デフォルトの名無しさん (JP 0Heb-BvCT)
2022/11/17(木) 07:25:29.19ID:pvjBVkzjH >>76
利用者が増える兆候が全くない。
もう10年前だけど、Twitterもrubyを損切りした
ざっくりいうと大体perlと同じぐらいの人気
https://trends.google.co.jp/trends/explore?date=today%203-m&q=%2Fm%2F05zrn,%2Fm%2F060kv,%2Fm%2F05z1_,%2Fm%2F02p97,%2Fm%2F06ff5#TIMESERIES
利用者が増える兆候が全くない。
もう10年前だけど、Twitterもrubyを損切りした
ざっくりいうと大体perlと同じぐらいの人気
https://trends.google.co.jp/trends/explore?date=today%203-m&q=%2Fm%2F05zrn,%2Fm%2F060kv,%2Fm%2F05z1_,%2Fm%2F02p97,%2Fm%2F06ff5#TIMESERIES
83デフォルトの名無しさん (ラクッペペ MM4b-Sy7H)
2022/11/17(木) 07:25:45.68ID:UeQQfqrGM 技術の方向性が迷子
84デフォルトの名無しさん (JP 0Heb-BvCT)
2022/11/17(木) 07:50:17.45ID:pvjBVkzjH >>81
他の全ての大手は普通にPHP・pythonを使っているのに、
「ごく一部の大手」だけがrubyを使っているのが現状
また、ruby信者は頭がおかしくこのような歪な布教活動を行う特徴がある
くれぐれも騙されないように
他の全ての大手は普通にPHP・pythonを使っているのに、
「ごく一部の大手」だけがrubyを使っているのが現状
また、ruby信者は頭がおかしくこのような歪な布教活動を行う特徴がある
くれぐれも騙されないように
85デフォルトの名無しさん (スッップ Sd43-H0Ic)
2022/11/17(木) 08:28:52.99ID:sFGipXVYd また雑談が始まった
スレタイよく読めよお前ら
スレタイよく読めよお前ら
86デフォルトの名無しさん (ワッチョイ b5da-DkKd)
2022/11/17(木) 09:34:06.31ID:6A2Gqyph0 総合スレっての無かったかい?
87デフォルトの名無しさん (スプッッ Sda1-2U4B)
2022/11/17(木) 11:29:16.58ID:7HR1FVlLd >>76
わかっただろ?統一教会みたいな連中に巻き込まれる
わかっただろ?統一教会みたいな連中に巻き込まれる
88デフォルトの名無しさん (ワッチョイ 237c-tLWi)
2022/11/17(木) 11:59:56.14ID:oqPw0CoV089デフォルトの名無しさん (スププ Sd43-7TzV)
2022/11/17(木) 12:04:27.49ID:i1/jmP1Yd90デフォルトの名無しさん (スッップ Sd43-H0Ic)
2022/11/17(木) 13:58:32.43ID:sFGipXVYd91デフォルトの名無しさん (ワッチョイ 1b8c-/xWR)
2022/11/17(木) 14:22:27.97ID:4mNSRYt80 言語として最高かどうかは別として
とりあえずjavascript系をやっていればこの先20年は安泰
とりあえずjavascript系をやっていればこの先20年は安泰
92デフォルトの名無しさん (ワッチョイ b5da-DkKd)
2022/11/17(木) 15:49:55.21ID:6A2Gqyph0 VBA自体年寄り御用達の言語になっちまった感だからね
93デフォルトの名無しさん (ワッチョイ 1dce-gPc0)
2022/11/17(木) 17:00:32.50ID:m6w3NGDg0 ラズパイの入門キットが尼で3000円で売ってるからRubyでサンプル動かしてLEDチカチカ楽しいよ
仕事につなげたいなら今はJavaでスマホアプリが一番需要がある
自分のスマホで遊んでもいいし、Windows用のエミュレータも無料で公開されてる
仕事につなげたいなら今はJavaでスマホアプリが一番需要がある
自分のスマホで遊んでもいいし、Windows用のエミュレータも無料で公開されてる
94デフォルトの名無しさん (スプッッ Sda1-2U4B)
2022/11/17(木) 17:49:39.21ID:7HR1FVlLd ほら、こうやってRuby、Rubyって
ゴキブリそのもの
そもそもRaspberry PiのサンプルはPythonが圧倒的に多い
Rubyとか言ってる連中に近づいてはいけません
ゴキブリそのもの
そもそもRaspberry PiのサンプルはPythonが圧倒的に多い
Rubyとか言ってる連中に近づいてはいけません
95デフォルトの名無しさん (ワッチョイ ddda-BvCT)
2022/11/17(木) 19:10:46.08ID:uw0RNQ/90 こうなった原因を作った初心者がすべて悪い
96デフォルトの名無しさん (ワッチョイ e38b-H0Ic)
2022/11/17(木) 21:44:05.97ID:KK3w9Zce0 VBA + Selenium + Chrome で自動ログインをツールを作っています。
Dim Driver As New Selenium.WebDriver
ログインした後にパスワードを保存しますか?
というダイアログが出て邪魔でしょうがないです。
それを削除する為に
credentials_enable_service false
profile.password_manager_enabled false
を使うのは分かったのですが、pythonやjavaのコードばかりブログに乗っていて
VBAの文法でどう書けば良いか分かりません。
詳しい方がいたら教えてください。
Dim Driver As New Selenium.WebDriver
ログインした後にパスワードを保存しますか?
というダイアログが出て邪魔でしょうがないです。
それを削除する為に
credentials_enable_service false
profile.password_manager_enabled false
を使うのは分かったのですが、pythonやjavaのコードばかりブログに乗っていて
VBAの文法でどう書けば良いか分かりません。
詳しい方がいたら教えてください。
97デフォルトの名無しさん (ワッチョイ 237c-tLWi)
2022/11/17(木) 23:24:19.00ID:oqPw0CoV0 >>90
放っておけばっていうのはお前がコントロールしようとしている掲示板の脱線に対してだよ
放っておいても質問があれば勝手に戻るからさ、これ書くの2度目ね
そのことと俺がお前を放っておくのとは意味あいがぜーんぜん違うんだがわかる?まぁ解んなくてもいいけど
あと指図はするけど言われたくないんだよな?
ならその通りにしましょうかね
放っておけばっていうのはお前がコントロールしようとしている掲示板の脱線に対してだよ
放っておいても質問があれば勝手に戻るからさ、これ書くの2度目ね
そのことと俺がお前を放っておくのとは意味あいがぜーんぜん違うんだがわかる?まぁ解んなくてもいいけど
あと指図はするけど言われたくないんだよな?
ならその通りにしましょうかね
98デフォルトの名無しさん (ワッチョイ 1dce-gPc0)
2022/11/18(金) 00:09:57.91ID:PzEY95EU099デフォルトの名無しさん (ワッチョイ e38b-H0Ic)
2022/11/18(金) 04:37:56.15ID:NsskB2ct0100デフォルトの名無しさん (ワッチョイ 1dce-gPc0)
2022/11/18(金) 15:03:38.43ID:PzEY95EU0 >>99
AddArgument
AddArgument
101デフォルトの名無しさん (JP 0Heb-BvCT)
2022/11/18(金) 15:59:01.29ID:rkfxbe2GH 間違ってrubyを学習してしまい、無駄な時間を過ごしてしまうことが忍びないのはわかる
しかし、「人生には無駄な学習がある」ということに気づくことも大事な事かもしれない
※rubyの学習が無意味ということは、rubyを学習すればすぐに気づく
しかし、「人生には無駄な学習がある」ということに気づくことも大事な事かもしれない
※rubyの学習が無意味ということは、rubyを学習すればすぐに気づく
102デフォルトの名無しさん (ワッチョイ 2342-lg2x)
2022/11/18(金) 19:53:51.40ID:zxScCJY70 別にruby推しでもかまわないけど関係ないスレでは自重しろとは思う
103デフォルトの名無しさん (スップ Sd03-2U4B)
2022/11/18(金) 20:42:45.12ID:2X/Wvhddd rubyスレは過疎っているもの
104デフォルトの名無しさん (ワッチョイ ffda-Xf0Y)
2022/11/19(土) 02:07:39.29ID:emmVvlBX0 なんでこんな偉そうな奴らばかりなのここ?
105デフォルトの名無しさん (ワッチョイ a310-m0Pc)
2022/11/19(土) 02:29:57.55ID:UCCiArGZ0 ruby信者が荒らすから
106デフォルトの名無しさん (JP 0Hfe-stRS)
2022/11/19(土) 08:44:51.51ID:jgd4H5DdH rubyキチガイが荒らしに来るからヘイトが凄い事になってる
なお他のスレでも同様
なお他のスレでも同様
107デフォルトの名無しさん (アウアウエー Sa3a-iKek)
2022/11/19(土) 18:19:31.17ID:IQRl98lga GetOpenFilenameで開いたファイルのパスを返すFunctionを作ったのですが、戻り値を変数として利用する度にGetOpenFilenameメソッドが実行されてダイアログが開きます
初回のみダイアログを開くFunctionは作れないもんですかねえ
代替案としてSubプロシ=[ジャとして呼bム出して取得しbスファイルパスbPublic変数に試めているのでbキがPublic変数b使うのはなんbゥ気持ち悪くて=c…
初回のみダイアログを開くFunctionは作れないもんですかねえ
代替案としてSubプロシ=[ジャとして呼bム出して取得しbスファイルパスbPublic変数に試めているのでbキがPublic変数b使うのはなんbゥ気持ち悪くて=c…
108デフォャ泣gの名無しさb (ワッチョイ e201-IwB9)
2022/11/19(土) 18:32:15.63ID:c1VeRjNF0 とりあえずコードで示そうか
109デフォルトの名無しさん (ワッチョイ a3da-stRS)
2022/11/19(土) 19:04:59.90ID:7ZzLn7VE0110デフォルトの名無しさん (ワッチョイ fb59-MmhG)
2022/11/19(土) 19:12:46.39ID:kzcZtDQa0 JavaとかC#でenum使うメリットがわからん
111デフォルトの名無しさん (ワッチョイ 4b5f-X61t)
2022/11/19(土) 19:17:53.70ID:bItn6bkl0 >>107
戻り値を変数に入れてないだけでは?
戻り値を変数に入れてないだけでは?
112デフォルトの名無しさん (スッップ Sd02-TaOI)
2022/11/19(土) 22:10:17.78ID:oLScpTixd >>107
コードも見てないから何とも言えないけど
初回のみって判定なら基本的に変数で管理するしかないと思うけどね
それとGetOpenFilenameがダイアログでファイル名(ファイルパス)を取得するための関数なら関数自体は何もせずに
GetOpenFilenameを2回目以降に呼ばないような変数管理が普通の方法じゃないかと思うよ
publicが気持ち悪いってのは関数や変数のスコープ管理がおかしいからだと思うから
それはそれで見直せばいいのでは
コードも見てないから何とも言えないけど
初回のみって判定なら基本的に変数で管理するしかないと思うけどね
それとGetOpenFilenameがダイアログでファイル名(ファイルパス)を取得するための関数なら関数自体は何もせずに
GetOpenFilenameを2回目以降に呼ばないような変数管理が普通の方法じゃないかと思うよ
publicが気持ち悪いってのは関数や変数のスコープ管理がおかしいからだと思うから
それはそれで見直せばいいのでは
113デフォルトの名無しさん (ワッチョイ 5f01-rxZH)
2022/11/19(土) 22:13:03.43ID:6K02rf2Z0 >>107
それってsubの中で
cells(1,1)=Function変数
cells(2,1)=Function変数
ってやってるからでしょ?
subの中でtempでも宣言して
temp=Function変数
cells(1,1)=temp
cells(2,1)=temp
ってやればいいんじゃない?
それってsubの中で
cells(1,1)=Function変数
cells(2,1)=Function変数
ってやってるからでしょ?
subの中でtempでも宣言して
temp=Function変数
cells(1,1)=temp
cells(2,1)=temp
ってやればいいんじゃない?
114デフォルトの名無しさん (ワッチョイ ffda-Xf0Y)
2022/11/19(土) 23:25:37.91ID:emmVvlBX0 ざっくりな質問じゃなくて詳細書いてくれ頼むから
115デフォルトの名無しさん (スップ Sd22-P3Qh)
2022/11/19(土) 23:29:30.05ID:WhIdqCT2d >>107
こういう馬鹿が来るから荒れる
こういう馬鹿が来るから荒れる
116デフォルトの名無しさん (ワッチョイ a3da-stRS)
2022/11/20(日) 00:35:29.58ID:5+GQTxgS0 自分で納得できるコードが書けないのは経験が足りないだけかも
117デフォルトの名無しさん (スププ Sd02-QpwG)
2022/11/20(日) 07:09:50.84ID:LWJSK1yhd 自分でそこんところをいろいろ考えてやるのが楽しいのに
どうにでもなるようなことを聞いてる人ってプログラミング=苦痛と感じてるひとなんだろうなぁって思うわ
まぁそれならそれで仕方ないけど
どうにでもなるようなことを聞いてる人ってプログラミング=苦痛と感じてるひとなんだろうなぁって思うわ
まぁそれならそれで仕方ないけど
118デフォルトの名無しさん (オッペケ Srdf-rxZH)
2022/11/20(日) 08:11:58.08ID:aAZoxoj/r119デフォルトの名無しさん (ブーイモ MMdb-EUya)
2022/11/20(日) 08:12:58.99ID:U8ZuobNzM と、荒しが申しております。
120デフォルトの名無しさん (ミカカウィ FFeb-LEwT)
2022/11/20(日) 09:58:37.83ID:BaPmF74HF >>108
こんな感じです。
Public Function OpenedFilePath() As Variant
OpenedFilePath = Application.GetOpenFilename(FileFilter:="ExcelファイルおよびCSVファイル,*.xls*;*.csv")
If OpenedFilePath = False Then
MsgBox "ファイルが選択されませんでした。"
Exit Function
End If
Dim OpenedFileName As String
OpenedFileName = Dir(OpenedFilePath)
Dim Wb As Workbook
For Each Wb In Workbooks
If Wb.Name = OpenedFileName Then
MsgBox "選択したファイルは既に開かれています。ファイルを閉じてやり直してください。"
OpenedFilePath = False
Exit Function
End If
Next Wb
Workbooks.Open OpenedFileName, UpdateLinks:=0
End Function
Function変数「OpenedFilePath」をメインのプロシージャで何度か呼び出すのですが、
そのたびにダイヤログが開くんですよね(まあ当たり前なんですけど)。
やっぱり「OpenedFilePath」をメインのプロシージャの方でローカル変数に格納するしかないですかね。
こんな感じです。
Public Function OpenedFilePath() As Variant
OpenedFilePath = Application.GetOpenFilename(FileFilter:="ExcelファイルおよびCSVファイル,*.xls*;*.csv")
If OpenedFilePath = False Then
MsgBox "ファイルが選択されませんでした。"
Exit Function
End If
Dim OpenedFileName As String
OpenedFileName = Dir(OpenedFilePath)
Dim Wb As Workbook
For Each Wb In Workbooks
If Wb.Name = OpenedFileName Then
MsgBox "選択したファイルは既に開かれています。ファイルを閉じてやり直してください。"
OpenedFilePath = False
Exit Function
End If
Next Wb
Workbooks.Open OpenedFileName, UpdateLinks:=0
End Function
Function変数「OpenedFilePath」をメインのプロシージャで何度か呼び出すのですが、
そのたびにダイヤログが開くんですよね(まあ当たり前なんですけど)。
やっぱり「OpenedFilePath」をメインのプロシージャの方でローカル変数に格納するしかないですかね。
121デフォルトの名無しさん (オッペケ Srdf-rxZH)
2022/11/20(日) 10:09:40.70ID:JSdYtKUKr >>120
変数に入れるのが一般的だけど、どうしてもっていうならFunction全体を「OpenedFilePathが空白だったら」ってIfで囲ったらなんとかならん?
変数に入れるのが一般的だけど、どうしてもっていうならFunction全体を「OpenedFilePathが空白だったら」ってIfで囲ったらなんとかならん?
122デフォルトの名無しさん (ワッチョイ 4b5f-stRS)
2022/11/20(日) 10:21:57.15ID:ZntJwwMB0 特に理由がない限り1つのプロシージャの機能はなるべく1つに限定したほうがいい
短期的に問題無くても後々機能を使いまわしたくなった時に利便性が悪い
短期的に問題無くても後々機能を使いまわしたくなった時に利便性が悪い
123デフォルトの名無しさん (ワッチョイ e201-IwB9)
2022/11/20(日) 10:25:11.24ID:AxU0uBeT0 >>120
まず「Function変数」なんオレオレ用語は止めなよ、余計混乱する
> Function変数「OpenedFilePath」をメインのプロシージャで何度か呼び出すのですが、
それ何のために呼び出してるんだ?
そもそも関数内でブックをオープンするならオープンしたブックを返してメイン側ではそのブックを使えばいいだけな気がするが...
Public Sub Main()
Dim Book As WorkBook
Set Book = OpenedFilePath()
...
End Sub
Public Function OpenedFilePath() As WorkBook
Dim Path As Variant
Path = Application.GetOpenFilename(FileFilter:="ExcelファイルおよびCSVファイル,*.xls*;*.csv")
If Path = False Then
MsgBox "ファイルが選択されませんでした。"
Set OpenedFilePath = Nothing
Exit Function
End If
Dim OpenedFileName As String
OpenedFileName = Dir(Path)
Dim Wb As Workbook
For Each Wb In Workbooks
If Wb.Name = OpenedFileName Then
MsgBox "選択したファイルは既に開かれています。ファイルを閉じてやり直してください。"
Set OpenedFilePath = Nothing
Exit Function
End If
Next Wb
Set OpenedFilePath = Workbooks.Open(OpenedFileName, UpdateLinks:=0)
End Function
まず「Function変数」なんオレオレ用語は止めなよ、余計混乱する
> Function変数「OpenedFilePath」をメインのプロシージャで何度か呼び出すのですが、
それ何のために呼び出してるんだ?
そもそも関数内でブックをオープンするならオープンしたブックを返してメイン側ではそのブックを使えばいいだけな気がするが...
Public Sub Main()
Dim Book As WorkBook
Set Book = OpenedFilePath()
...
End Sub
Public Function OpenedFilePath() As WorkBook
Dim Path As Variant
Path = Application.GetOpenFilename(FileFilter:="ExcelファイルおよびCSVファイル,*.xls*;*.csv")
If Path = False Then
MsgBox "ファイルが選択されませんでした。"
Set OpenedFilePath = Nothing
Exit Function
End If
Dim OpenedFileName As String
OpenedFileName = Dir(Path)
Dim Wb As Workbook
For Each Wb In Workbooks
If Wb.Name = OpenedFileName Then
MsgBox "選択したファイルは既に開かれています。ファイルを閉じてやり直してください。"
Set OpenedFilePath = Nothing
Exit Function
End If
Next Wb
Set OpenedFilePath = Workbooks.Open(OpenedFileName, UpdateLinks:=0)
End Function
124デフォルトの名無しさん (JP 0Hfe-stRS)
2022/11/20(日) 10:37:30.36ID:j5HG04Q5H え
125デフォルトの名無しさん (JP 0Hfe-stRS)
2022/11/20(日) 10:51:14.71ID:j5HG04Q5H GetOpenFilenameでファイル選択しなかったときの返り値は
”false”
ね
FALSE
じゃないよ
糞だよ
”false”
ね
FALSE
じゃないよ
糞だよ
126デフォルトの名無しさん (JP 0Hfe-stRS)
2022/11/20(日) 10:58:27.47ID:j5HG04Q5H なんでstaticが出てこないんだよwww
Public Function OpenedFilePath() As String
'引数がtrueなら必ずダイアログを開くっての実装しようとおもったけどやめた
'OpenedFilePathは空白かどうかだけで判定。staticで変数を宣言
Static path
'空白じゃなければ終了
If (path <> "") Then
Exit Function
End If
'本体
path = Application.GetOpenFilename(FileFilter:="ExcelファイルおよびCSVファイル,*.xls*;*.csv")
'開かなかったら終了
If OpenedFilePath = "False" Then
OpenedFilePath = ""
MsgBox "ファイルが選択されませんでした。"
Exit Function
End If
End Function
Public Function OpenedFilePath() As String
'引数がtrueなら必ずダイアログを開くっての実装しようとおもったけどやめた
'OpenedFilePathは空白かどうかだけで判定。staticで変数を宣言
Static path
'空白じゃなければ終了
If (path <> "") Then
Exit Function
End If
'本体
path = Application.GetOpenFilename(FileFilter:="ExcelファイルおよびCSVファイル,*.xls*;*.csv")
'開かなかったら終了
If OpenedFilePath = "False" Then
OpenedFilePath = ""
MsgBox "ファイルが選択されませんでした。"
Exit Function
End If
End Function
127デフォルトの名無しさん (ワッチョイ e201-IwB9)
2022/11/20(日) 11:33:22.40ID:AxU0uBeT0 >>125
なんでそんなすぐわかる嘘つくの?
Returns False if the user cancels the dialog box.
https://learn.microsoft.com/en-us/office/vba/api/excel.application.getopenfilename
そもそもその仕様だと false というファイル名を返せないだろ、馬鹿すぎ
なんでそんなすぐわかる嘘つくの?
Returns False if the user cancels the dialog box.
https://learn.microsoft.com/en-us/office/vba/api/excel.application.getopenfilename
そもそもその仕様だと false というファイル名を返せないだろ、馬鹿すぎ
128デフォルトの名無しさん (ワッチョイ e201-IwB9)
2022/11/20(日) 11:34:19.38ID:AxU0uBeT0129デフォルトの名無しさん (JP 0Hfe-stRS)
2022/11/20(日) 11:44:28.04ID:j5HG04Q5H130デフォルトの名無しさん (スッップ Sd02-TaOI)
2022/11/20(日) 12:28:19.61ID:28UXg9Drd 「Workbooks.Open」のようなコードだけだとActiveBookが変わって
本来操作したいブック以外を参照してしまう事故を防ぐためにも
自分も>>123のようなコードがいいと思うな
あとはVariantはなんにでも使えてしまうから戻り値もWorkbookがいいと思うけど
private変数で宣言するならファンクションである必要もなくなりそうではあるんだが
それは前後の流れ次第かね
本来操作したいブック以外を参照してしまう事故を防ぐためにも
自分も>>123のようなコードがいいと思うな
あとはVariantはなんにでも使えてしまうから戻り値もWorkbookがいいと思うけど
private変数で宣言するならファンクションである必要もなくなりそうではあるんだが
それは前後の流れ次第かね
131デフォルトの名無しさん (ワッチョイ e219-6GUG)
2022/11/20(日) 15:20:20.30ID:BdLJ6aAN0 >>117
楽しい・・・?
そうだね、VBAは弄ってて楽しい言語だね。
何でもお手軽に作れるしグラフィカルな部分が多いから
分かりやすいし。
お手軽と言えばJavaScript もそうかな。
逆にCOBOLとか何が楽しいのか俺には理解出来ない。
楽しい・・・?
そうだね、VBAは弄ってて楽しい言語だね。
何でもお手軽に作れるしグラフィカルな部分が多いから
分かりやすいし。
お手軽と言えばJavaScript もそうかな。
逆にCOBOLとか何が楽しいのか俺には理解出来ない。
132デフォルトの名無しさん (ワッチョイ 5701-kfYZ)
2022/11/20(日) 15:36:16.68ID:CFvDfimk0 おっちゃんが理解できるようにしてやろうか?
133デフォルトの名無しさん (ワッチョイ c28b-TaOI)
2022/11/20(日) 21:15:15.16ID:79zBHkdo0 >>100
ありがとうございます。
Dim Driver As New Selenium.WebDriver
Driver.AddArgument "credentials_enable_service=False"
Driver.AddArgument "profile.password_manager_enabled=False"
「パスワードを保存しますか?」というダイアログが表示されてしまいます。
このダイアログが邪魔でしょうがないです。
何とか消したいのですが、コード間違っていますか?
ありがとうございます。
Dim Driver As New Selenium.WebDriver
Driver.AddArgument "credentials_enable_service=False"
Driver.AddArgument "profile.password_manager_enabled=False"
「パスワードを保存しますか?」というダイアログが表示されてしまいます。
このダイアログが邪魔でしょうがないです。
何とか消したいのですが、コード間違っていますか?
134デフォルトの名無しさん (ワッチョイ 4ead-+H9L)
2022/11/20(日) 21:44:52.90ID:XCN8LgbG0 Driver.SetPreference "credentials_enable_service", False
こうじゃない?
こうじゃない?
135デフォルトの名無しさん (ワッチョイ c28b-TaOI)
2022/11/20(日) 22:06:06.02ID:79zBHkdo0 >>134
これも試しましたが、ダイアログが起動します、、、
うーん、困りました。
With Driver
.SetPreference "credentials_enable_service", False
.SetPreference "password_manager_enabled", False
.SetPreference "--password-store", basic
これも試しましたが、ダイアログが起動します、、、
うーん、困りました。
With Driver
.SetPreference "credentials_enable_service", False
.SetPreference "password_manager_enabled", False
.SetPreference "--password-store", basic
136デフォルトの名無しさん (ワッチョイ a3da-Xf0Y)
2022/11/20(日) 22:08:29.04ID:xkQL1DmC0 弱りましたねえ
諦めるしか
諦めるしか
137デフォルトの名無しさん (ワッチョイ c28b-TaOI)
2022/11/20(日) 22:21:11.90ID:79zBHkdo0 最悪、しょうがないので力業でWindows APIで座標指定で「×」をクリックします。
138デフォルトの名無しさん (ワッチョイ 4ead-+H9L)
2022/11/20(日) 22:25:06.89ID:XCN8LgbG0 >>135
ソースコード全部見せて
ソースコード全部見せて
139デフォルトの名無しさん (ワッチョイ c335-Y+uH)
2022/11/20(日) 22:41:36.64ID:kiSLDjFu0 ブラウザの操作なんかPADでやればいいじゃん
140デフォルトの名無しさん (ワッチョイ 4ead-+H9L)
2022/11/20(日) 22:44:18.63ID:XCN8LgbG0 Map<String, Object> prefs = new HashMap<String, Object>();
prefs.put("credentials_enable_service", false);
prefs.put("profile.password_manager_enabled", false);
options.setExperimentalOption("prefs", prefs);
Javaだとこうだから
Driver.SetPreference "prefs", ...
にしないといけないのかも
prefs.put("credentials_enable_service", false);
prefs.put("profile.password_manager_enabled", false);
options.setExperimentalOption("prefs", prefs);
Javaだとこうだから
Driver.SetPreference "prefs", ...
にしないといけないのかも
141デフォルトの名無しさん (ワッチョイ c28b-TaOI)
2022/11/20(日) 22:46:06.24ID:79zBHkdo0 >>138
色々と試しましたが、全部ダイアログが出ます、、、
Dim Driver As New Selenium.WebDriver
'パスワードを保存しますか?ダイアログを消す。(消えない)
'Driver.SetCapability "credentials_enable_service", "False"
'Driver.SetCapability "profile.password_manager_enabled", "False"
'Driver.AddArgument "credentials_enable_service=False"
'Driver.AddArgument "profile.password_manager_enabled=False"
With Driver
'.SetPreference "credentials_enable_service", False
'.SetPreference "password_manager_enabled", False
'.SetPreference "--password-store", basic
.Start "chrome"
.Get "https://hogehoge.com/"
End With
'ID
Driver.FindElementById("UserID").SendKeys "IDhoge"
'ID
Driver.FindElementById("UserPASS").SendKeys "PASShoge"
'ログインボタンをクリック
Driver.FindElementById("id_login_button").Click
色々と試しましたが、全部ダイアログが出ます、、、
Dim Driver As New Selenium.WebDriver
'パスワードを保存しますか?ダイアログを消す。(消えない)
'Driver.SetCapability "credentials_enable_service", "False"
'Driver.SetCapability "profile.password_manager_enabled", "False"
'Driver.AddArgument "credentials_enable_service=False"
'Driver.AddArgument "profile.password_manager_enabled=False"
With Driver
'.SetPreference "credentials_enable_service", False
'.SetPreference "password_manager_enabled", False
'.SetPreference "--password-store", basic
.Start "chrome"
.Get "https://hogehoge.com/"
End With
'ID
Driver.FindElementById("UserID").SendKeys "IDhoge"
'ID
Driver.FindElementById("UserPASS").SendKeys "PASShoge"
'ログインボタンをクリック
Driver.FindElementById("id_login_button").Click
142デフォルトの名無しさん (ワッチョイ 4ead-+H9L)
2022/11/20(日) 23:19:33.15ID:XCN8LgbG0 Dim prefs
Set prefs = CreateObject("Selenium.Dictionary")
prefs("credentials_enable_service") = False
prefs("profile.password_manager_enabled") = False
driver.SetPreference "prefs", prefs
これでどう?
Set prefs = CreateObject("Selenium.Dictionary")
prefs("credentials_enable_service") = False
prefs("profile.password_manager_enabled") = False
driver.SetPreference "prefs", prefs
これでどう?
143デフォルトの名無しさん (ワッチョイ c28b-TaOI)
2022/11/20(日) 23:54:01.57ID:79zBHkdo0 >>142
ありがとうござます。試しましたがやはダイアログが表示されます、、、
ありがとうござます。試しましたがやはダイアログが表示されます、、、
144デフォルトの名無しさん (ワッチョイ 4ead-+H9L)
2022/11/21(月) 00:00:32.12ID:pQOpt44b0 driver.SetPreference "credentials_enable_service", False
Dim profile
Set profile = CreateObject("Selenium.Dictionary")
profile("password_manager_enabled") = False
driver.SetPreference "profile", profile
これでどう?
Dim profile
Set profile = CreateObject("Selenium.Dictionary")
profile("password_manager_enabled") = False
driver.SetPreference "profile", profile
これでどう?
145デフォルトの名無しさん (ワッチョイ 4ead-+H9L)
2022/11/21(月) 00:11:55.56ID:pQOpt44b0 Driver.SetPreference "credentials_enable_service", False
Driver.SetPreference "profile.password_manager_enabled", False
これでできそうな気がする
Driver.SetPreference "profile.password_manager_enabled", False
これでできそうな気がする
146デフォルトの名無しさん (ワッチョイ c28b-TaOI)
2022/11/21(月) 00:17:14.31ID:jvJhQ1Yn0147デフォルトの名無しさん (ワッチョイ 4ead-+H9L)
2022/11/21(月) 00:42:53.42ID:pQOpt44b0 Driver.AddArgument "--password-store=basic"
Driver.SetPreference "credentials_enable_service", False
Driver.SetPreference "profile.password_manager_enabled", False
これでどう?
Driver.SetPreference "credentials_enable_service", False
Driver.SetPreference "profile.password_manager_enabled", False
これでどう?
148デフォルトの名無しさん (ワッチョイ c28b-TaOI)
2022/11/21(月) 00:48:06.12ID:jvJhQ1Yn0149デフォルトの名無しさん (ワッチョイ c3ce-zHbW)
2022/11/21(月) 08:04:05.28ID:GlEj3eeB0 >>148
結果的に消えるならいいじゃん
そこでボタンをクリックしないと動作が止まる、とかだったら困るけど、動けばいいんだよ
てか、オプション設定のタイミングが悪いんじゃないの?Chromeを起動する前に設定してる?
結果的に消えるならいいじゃん
そこでボタンをクリックしないと動作が止まる、とかだったら困るけど、動けばいいんだよ
てか、オプション設定のタイミングが悪いんじゃないの?Chromeを起動する前に設定してる?
150デフォルトの名無しさん (ワッチョイ c28b-TaOI)
2022/11/21(月) 08:09:22.01ID:jvJhQ1Yn0151デフォルトの名無しさん (スップ Sd22-P3Qh)
2022/11/21(月) 17:38:44.89ID:oUN57f6ld >>133
マルチポスト、更に言語の違いすらわからない馬鹿は消えろ
マルチポスト、更に言語の違いすらわからない馬鹿は消えろ
152デフォルトの名無しさん (ワッチョイ e201-IwB9)
2022/11/21(月) 18:02:11.22ID:KDDXOYAA0 マルチポストはどうかと思うが少なくともこっちのスレだと言語は合ってるだろ
153デフォルトの名無しさん (ワッチョイ 0e8c-7Q5q)
2022/11/21(月) 23:00:46.16ID:qzpyBUkr0 https://xtech.nikkei.com/atcl/nxt/column/18/02246/110200002/
https://cdn-xtech.nikkei.com/atcl/nxt/column/18/02246/110200002/ph1.jpg
利用しているプログラミング言語
「あなたが現在使っているプログラミング言語は何ですか」という設問に対する回答の内訳。
最大3つ選択してもらった。回答数が10以上の言語を掲載
VBA頑張ってるじゃん
Rubyの倍やん
https://cdn-xtech.nikkei.com/atcl/nxt/column/18/02246/110200002/ph1.jpg
利用しているプログラミング言語
「あなたが現在使っているプログラミング言語は何ですか」という設問に対する回答の内訳。
最大3つ選択してもらった。回答数が10以上の言語を掲載
VBA頑張ってるじゃん
Rubyの倍やん
154デフォルトの名無しさん (JP 0Hfe-stRS)
2022/11/21(月) 23:03:32.24ID:O4O9qqWgH そりゃ母数が全然違うからな
事務員どころか営業でも使う人がいる
事務員どころか営業でも使う人がいる
155デフォルトの名無しさん (ワッチョイ e219-6GUG)
2022/11/21(月) 23:12:28.50ID:+rhbDZE90 >>153
これは結構意外な結果。
HTMLとCSSが思ったより低いね。
もっと意外だったのがSQLがランクインしていないこと。
「SQLはプログラミング言語じゃねーだろ」という意見も聞こえそうだけど、
それ言ったらHTMLだってプログラミング言語かと言えば怪しいよね。
iPhoneを開発するOvjective-C辺りはCに含まれるのかな?
でもそう考えるとSwift もランクインされていない。
最近はPython が主流なのかー。
まぁRubyはさして知るべし。
これは結構意外な結果。
HTMLとCSSが思ったより低いね。
もっと意外だったのがSQLがランクインしていないこと。
「SQLはプログラミング言語じゃねーだろ」という意見も聞こえそうだけど、
それ言ったらHTMLだってプログラミング言語かと言えば怪しいよね。
iPhoneを開発するOvjective-C辺りはCに含まれるのかな?
でもそう考えるとSwift もランクインされていない。
最近はPython が主流なのかー。
まぁRubyはさして知るべし。
156デフォルトの名無しさん (JP 0Hfe-stRS)
2022/11/21(月) 23:18:34.01ID:O4O9qqWgH メインの言語がhtmlです!って人はちょっと・・・
157デフォルトの名無しさん (ワッチョイ e219-6GUG)
2022/11/21(月) 23:28:16.93ID:+rhbDZE90 よく見るとTypeScriptが追い上げてるなぁ
Web版EXCEL開発しなきゃいけなくなったとき用に少し勉強しておくかな
Web版EXCEL開発しなきゃいけなくなったとき用に少し勉強しておくかな
158デフォルトの名無しさん (スップ Sd22-P3Qh)
2022/11/22(火) 00:17:55.04ID:z+hPxvMVd >>153
rubyは毎年順位を落としている
rubyは毎年順位を落としている
159デフォルトの名無しさん (ワッチョイ c28b-TaOI)
2022/11/22(火) 01:16:20.45ID:rA6aTIVz0 Pythoの何がいいの?C#の方がよっぽどコードが綺麗。
160デフォルトの名無しさん (ワッチョイ a3da-Xf0Y)
2022/11/22(火) 07:07:33.19ID:PnGd/teh0 VBAはバリバリ活躍してるけど、VBはもはや枯れた言語か。。
161デフォルトの名無しさん (ワッチョイ e201-IwB9)
2022/11/22(火) 07:14:38.51ID:5norvibI0 むしろVB(VB.NET以外)がランクインしてるのに驚いたわ
さすがに保守案件なんだろうけど
さすがに保守案件なんだろうけど
162デフォルトの名無しさん (JP 0Hfe-stRS)
2022/11/22(火) 08:25:23.22ID:jrlVPdOBH163デフォルトの名無しさん (JP 0Hfe-stRS)
2022/11/22(火) 08:29:03.16ID:jrlVPdOBH164デフォルトの名無しさん (ワッチョイ 8bad-nHGa)
2022/11/22(火) 10:15:24.80ID:YR0FNqFN0 VBAでフォームからセルに入力できるフォームを作るときにテキストボックスとセルをcontrolsauceで連結するのが一般的ですか?
今まで、読みとりボタンで、テキストボックス1=セルの値、更新ボタンで、セルの値=テキストボックス1としてたのですが、controlsauceを使った方がよいのか悩んでます
今まで、読みとりボタンで、テキストボックス1=セルの値、更新ボタンで、セルの値=テキストボックス1としてたのですが、controlsauceを使った方がよいのか悩んでます
165デフォルトの名無しさん (ワッチョイ c28b-TaOI)
2022/11/22(火) 10:27:21.22ID:rA6aTIVz0 >>162
pythonマジでコードが気持ち悪いんだけど。
pythonマジでコードが気持ち悪いんだけど。
166デフォルトの名無しさん (ワッチョイ a3da-stRS)
2022/11/22(火) 10:38:52.48ID:4t4l6PXg0 使わなきゃいいだけなのにあえて他言語の悪口を言うのはRuby厨か
167デフォルトの名無しさん (オッペケ Srdf-rxZH)
2022/11/22(火) 12:03:51.19ID:DuxWDXCmr >>163
プログラマー以外がプログラミングしちゃいけないわけじゃないし、別に歪じゃないだろ
プログラマー以外がプログラミングしちゃいけないわけじゃないし、別に歪じゃないだろ
168デフォルトの名無しさん (オッペケ Srdf-qU2U)
2022/11/22(火) 12:11:04.68ID:KOo0nK71r 歪というか、アンケートの対象はプログラマーのみではなさそうだな
プログラマーなんて社会人の一部だし
この手のはなんかの指標として使えるものではないと自分は思ってる
プログラマーなんて社会人の一部だし
この手のはなんかの指標として使えるものではないと自分は思ってる
169デフォルトの名無しさん (ワッチョイ c28b-TaOI)
2022/11/22(火) 12:51:18.95ID:rA6aTIVz0 pythonのメリットは何?
170デフォルトの名無しさん (JP 0Hfe-stRS)
2022/11/22(火) 13:05:26.48ID:jrlVPdOBH >>169
pythonスレへどうぞ
pythonスレへどうぞ
171デフォルトの名無しさん (ワッチョイ e219-6GUG)
2022/11/22(火) 13:50:49.13ID:gWTAVy/70 VB.Netは確かにもうMicrosoft からも.NetCoreでは更新しませんよって宣言されてた気もするし、
終わった言語と言えばそうなのかもね。
ま、でも文法こそ違うものの、中身はC#と大して変わらないから、
やるならC#でいいよ。
C#とVBA覚えておけば必然的にVB.Netも書けると思う。
終わった言語と言えばそうなのかもね。
ま、でも文法こそ違うものの、中身はC#と大して変わらないから、
やるならC#でいいよ。
C#とVBA覚えておけば必然的にVB.Netも書けると思う。
172デフォルトの名無しさん (アウアウウー Sa3b-5Xd8)
2022/11/22(火) 14:11:59.31ID:CBZvulmSa vb.netとc#って
objective-cとswiftみたいなもんじゃね
objective-cとswiftみたいなもんじゃね
173デフォルトの名無しさん (ワッチョイ 4ead-+H9L)
2022/11/22(火) 14:54:19.77ID:0MFmILJN0 そうだな、ぜんぜん違うけどな
174デフォルトの名無しさん (ワッチョイ ef4f-95HW)
2022/11/22(火) 15:48:12.92ID:p3XTSB6d0 VBA は社員が使っている。一般人・アマチュア。
Linux, Docker, Heroku, AWS などを知っているはずがない。
Windows しか出来ない香具師
一方、Ruby on Rails は、ウェブ開発のプロ用。
ポートフォリオにも使う転職用だから、一般人よりも少なくなる
VBAが出来ても、プロとしては転職できない。
VBAが出来るから、モダンなウェブ開発企業が採用するとは思わない
Linux, Docker, Heroku, AWS などを知っているはずがない。
Windows しか出来ない香具師
一方、Ruby on Rails は、ウェブ開発のプロ用。
ポートフォリオにも使う転職用だから、一般人よりも少なくなる
VBAが出来ても、プロとしては転職できない。
VBAが出来るから、モダンなウェブ開発企業が採用するとは思わない
175デフォルトの名無しさん (ワッチョイ ef8e-P3Qh)
2022/11/22(火) 15:57:35.32ID:ntrRKrLv0 >>169
Pythonにあっという間に追い越され凋落が加速しているRubyざまあ
Pythonにあっという間に追い越され凋落が加速しているRubyざまあ
176デフォルトの名無しさん (ワッチョイ 627c-1a1Y)
2022/11/22(火) 16:01:15.96ID:byhRgCcA0 >>174
ドヤ顔で香具師とか言われても……
ドヤ顔で香具師とか言われても……
177デフォルトの名無しさん (ワッチョイ ef8e-P3Qh)
2022/11/22(火) 16:04:23.96ID:ntrRKrLv0178デフォルトの名無しさん (ワッチョイ ffda-Xf0Y)
2022/11/22(火) 18:41:56.86ID:kVcqtNac0 でもどうだろ?
60歳前後の人はVB通ってきてからVBAを始めた人多いと思うからもっと人口多いと思う。
60歳前後の人はVB通ってきてからVBAを始めた人多いと思うからもっと人口多いと思う。
179デフォルトの名無しさん (ワッチョイ e219-6GUG)
2022/11/22(火) 18:45:18.15ID:gWTAVy/70 あー、まぁ旧VB6ならそうかもね
VB.Netは完全にObject指向言語だから
そこからVBAやるってのはキツいんじゃないかな?
まぁその逆はもっとキツいと思うけど
VB.Netは完全にObject指向言語だから
そこからVBAやるってのはキツいんじゃないかな?
まぁその逆はもっとキツいと思うけど
180デフォルトの名無しさん (ワッチョイ ffda-Xf0Y)
2022/11/22(火) 18:51:44.40ID:kVcqtNac0 そういえばVBなんて言語あったなー(遠い目)
ウチにVBのリファレンス本が埃かぶってある。
ウチにVBのリファレンス本が埃かぶってある。
181デフォルトの名無しさん (ワッチョイ e7e5-Wl22)
2022/11/22(火) 19:36:41.19ID:chmk150V0 旧VBは結構な値段しただろ
使ったことがあるのはプロのプログラマーだけだよ
VBAやVB.NETは素人向け
使ったことがあるのはプロのプログラマーだけだよ
VBAやVB.NETは素人向け
182デフォルトの名無しさん (アウアウエー Sa3a-iKek)
2022/11/22(火) 21:05:06.99ID:X8yFxH5Ua ネットでサンプルコードを漁っていると配列の型を宣言するときに括弧を省いているのが多いけれどなんでだろう
Dim Array As variant
Array = Range(“A1:C10”)
とか
Dim Array as Variant
Array = TempArray
みたいに
括弧無しの方が処理が早いのだろうか
そもそも括弧有り無しの違いってなんなんだろう
Dim Array As variant
Array = Range(“A1:C10”)
とか
Dim Array as Variant
Array = TempArray
みたいに
括弧無しの方が処理が早いのだろうか
そもそも括弧有り無しの違いってなんなんだろう
183デフォルトの名無しさん (JP 0Hfe-stRS)
2022/11/22(火) 21:39:01.76ID:jrlVPdOBH >>182
vbaの配列、特に静的配列はカスって事を念頭においておいてほしい。
他の言語はここまでめんどくさくない
静的配列は要素数が決まっていて拡張性が無い。
Dim array_a(5) As Long
動的配列は要素数を変動させることができるがめんどくさい
Dim array_a() As Long
これは配列をvariant型の変数に入れてるだけで、配列の型とは関係がない
Dim array_b As Variant
array_b = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
array_b = Array(1, 2, 3, 4, 5, 6)
どれが良いかというと、variantに入れておけば大体うまくいく
動的配列や静的配列を使うのもいいけど、めんどくさいだけだよ
vbaの配列、特に静的配列はカスって事を念頭においておいてほしい。
他の言語はここまでめんどくさくない
静的配列は要素数が決まっていて拡張性が無い。
Dim array_a(5) As Long
動的配列は要素数を変動させることができるがめんどくさい
Dim array_a() As Long
これは配列をvariant型の変数に入れてるだけで、配列の型とは関係がない
Dim array_b As Variant
array_b = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
array_b = Array(1, 2, 3, 4, 5, 6)
どれが良いかというと、variantに入れておけば大体うまくいく
動的配列や静的配列を使うのもいいけど、めんどくさいだけだよ
184デフォルトの名無しさん (ワッチョイ 3b68-KP+k)
2022/11/22(火) 22:02:02.71ID:hcZiH6eO0 sub hoge
for i=1 to10
if i=5 then exit sub
next
end sub
サブルーチンのforとかloop中に
判定文でexit forどころか、exit subするのって、マズいんですかね?
メモリ喰っちゃう?
for i=1 to10
if i=5 then exit sub
next
end sub
サブルーチンのforとかloop中に
判定文でexit forどころか、exit subするのって、マズいんですかね?
メモリ喰っちゃう?
185デフォルトの名無しさん (ワッチョイ 4b5f-X61t)
2022/11/22(火) 22:10:43.92ID:h1MkuzsC0 コメント書いとけばいいんじゃね
186デフォルトの名無しさん (アウアウエー Sa3a-iKek)
2022/11/22(火) 22:18:04.27ID:X8yFxH5Ua187デフォルトの名無しさん (JP 0Hfe-stRS)
2022/11/22(火) 22:24:40.04ID:jrlVPdOBH188デフォルトの名無しさん (アウアウエー Sa3a-LEwT)
2022/11/22(火) 22:47:31.59ID:X8yFxH5Ua >>187
たとえば「シートの表を一旦二次元配列に格納して不要な行を取り除いてからシートに転記する」ってコードの場合、次のようになるでしょ?
Dim RawArr As variant
RawArr = Range("A1:E100").Value
Dim EditArr() As Variant
Redim EditArr(1 to Ubound(RawArr ,1), 1 to Ubound(RawArr ,2))
'↑これは括弧付きで配列として宣言しなければならない
Dim R as Long, C As Long, Rcount As Long
Rcount = 1
For R = 1 to Ubound(RawArr ,1)
If Not RawArr(R, 1) = "不要" Then
Rcount = Rcount +1
For C = 1 to Ubound(RawArr ,2)
EditArr(Rcount, C) = RawArr(R, C)
Next C
End If
Next R
Range("A1:E100").Value = EditArr
このコードにおいて「EditArr」を括弧付きで配列として宣言するならば「RawArr」もそれに準じた方がわかりやすいのではと思うんだよね
超細かくて申し訳ないけれど
たとえば「シートの表を一旦二次元配列に格納して不要な行を取り除いてからシートに転記する」ってコードの場合、次のようになるでしょ?
Dim RawArr As variant
RawArr = Range("A1:E100").Value
Dim EditArr() As Variant
Redim EditArr(1 to Ubound(RawArr ,1), 1 to Ubound(RawArr ,2))
'↑これは括弧付きで配列として宣言しなければならない
Dim R as Long, C As Long, Rcount As Long
Rcount = 1
For R = 1 to Ubound(RawArr ,1)
If Not RawArr(R, 1) = "不要" Then
Rcount = Rcount +1
For C = 1 to Ubound(RawArr ,2)
EditArr(Rcount, C) = RawArr(R, C)
Next C
End If
Next R
Range("A1:E100").Value = EditArr
このコードにおいて「EditArr」を括弧付きで配列として宣言するならば「RawArr」もそれに準じた方がわかりやすいのではと思うんだよね
超細かくて申し訳ないけれど
189デフォルトの名無しさん (ワッチョイ a73a-Wl22)
2022/11/22(火) 23:39:01.43ID:+p7n4F+r0 jscriptの配列をそのままvbscriptにしたら
メッチャんこ速くなったからそっちの性能はいいんじゃね?
メッチャんこ速くなったからそっちの性能はいいんじゃね?
190デフォルトの名無しさん (ワッチョイ 622f-ES6F)
2022/11/23(水) 00:24:02.68ID:6lN/+0f80 >>188
これってのが
Dim EditArr() As Variant
なら、
Dim EditArr As Variant
でも動いてるようだが?
そのまま走らせたら両方ともそこ以外で実行時エラー出てるけど
さらに言えば、ReDimするなら(Option Explicit onでも)Dimすらなくても動いたような
これってのが
Dim EditArr() As Variant
なら、
Dim EditArr As Variant
でも動いてるようだが?
そのまま走らせたら両方ともそこ以外で実行時エラー出てるけど
さらに言えば、ReDimするなら(Option Explicit onでも)Dimすらなくても動いたような
191デフォルトの名無しさん (オッペケ Srdf-rxZH)
2022/11/23(水) 03:52:19.28ID:uIyZhPcqr192デフォルトの名無しさん (ワッチョイ e219-6GUG)
2022/11/23(水) 08:25:42.71ID:/bpEmzEb0193デフォルトの名無しさん (ワッチョイ c329-AJfA)
2022/11/23(水) 17:09:12.41ID:yNj03cHV0 【速報】上司「お前のことはExcelの印刷くらい信用している」→パワハラ
広告代理店・電報堂(本社・東京都足立区)に勤務する50代の部長が20代の部下にパワハラを繰り返し、
部下をうつによる休職に追い込んだとして民事訴訟を起こされていたことが22日分かった。
訴状によると部長は部下に対し日頃から「お前のことはExcelの印刷と同じくらい信用している」
という発言を繰り返しており、その結果「どれだけ仕事をしても信用が得られない」
と感じた部下は今年5月からうつの症状を発症するようになり、現在は休職しているという。
なお上司は取材に対し「信用していると言っただけなのになぜパワハラ扱いされるのか理解できない」
と述べた。
https://kizuna.5ch.net/test/read.cgi/curry/1663509806/
広告代理店・電報堂(本社・東京都足立区)に勤務する50代の部長が20代の部下にパワハラを繰り返し、
部下をうつによる休職に追い込んだとして民事訴訟を起こされていたことが22日分かった。
訴状によると部長は部下に対し日頃から「お前のことはExcelの印刷と同じくらい信用している」
という発言を繰り返しており、その結果「どれだけ仕事をしても信用が得られない」
と感じた部下は今年5月からうつの症状を発症するようになり、現在は休職しているという。
なお上司は取材に対し「信用していると言っただけなのになぜパワハラ扱いされるのか理解できない」
と述べた。
https://kizuna.5ch.net/test/read.cgi/curry/1663509806/
194デフォルトの名無しさん (ワッチョイ e201-IwB9)
2022/11/23(水) 17:31:53.36ID:g5bfG+kA0 まあ言い方だろうな
Excelの印刷はたまに端や上下が切れたりするけどちゃんと手当てしてやればそこそこ使える
ワードなんかと違ってレイアウトを崩さずにページに収めるとか使える機能もあるしな
Excelの印刷はたまに端や上下が切れたりするけどちゃんと手当てしてやればそこそこ使える
ワードなんかと違ってレイアウトを崩さずにページに収めるとか使える機能もあるしな
195デフォルトの名無しさん (JP 0Hfe-stRS)
2022/11/23(水) 17:46:45.69ID:g30UJYxeH それ完全に釣りだぞ
196デフォルトの名無しさん (ワッチョイ c28b-TaOI)
2022/11/23(水) 17:54:50.35ID:WIX5xDy/0 香具師 ← 化石を久しぶりに見つけたw
197デフォルトの名無しさん (ワッチョイ e201-IwB9)
2022/11/23(水) 18:00:15.39ID:g5bfG+kA0198デフォルトの名無しさん (ワッチョイ ffda-Xf0Y)
2022/11/23(水) 20:28:09.45ID:Y1rfQ/KW0 ジジババかよw
199デフォルトの名無しさん (ワッチョイ a3da-stRS)
2022/11/23(水) 22:51:52.84ID:2bxJ1QPk0 そんなこと言ってると生きてる間に孫の顔みれんぞ
200デフォルトの名無しさん (ラクッペペ MM8f-22yv)
2022/11/28(月) 07:46:50.71ID:eMQ5RF7GM 独り者なら孫どころか子供もいないだろ
201デフォルトの名無しさん (JP 0Hcf-Z2Iz)
2022/11/28(月) 08:26:23.40ID:bGDdl4B7H 子供はいるけどもう20年ぐらい会ってないな
202デフォルトの名無しさん (ワッチョイ 57da-3ksn)
2022/11/28(月) 14:54:18.05ID:nQn7KMv00 悲しい話と捉えていいすか?
生き別れ
生き別れ
203デフォルトの名無しさん (ワッチョイ ffda-Z2Iz)
2022/11/28(月) 19:26:05.44ID:QIQXhRT50 面会に来てくれないのか
204デフォルトの名無しさん (ワッチョイ b7da-3ksn)
2022/11/29(火) 11:12:10.65ID:OPHrjchb0 臭い飯の感想は?
205デフォルトの名無しさん (JP 0Hcf-Z2Iz)
2022/11/29(火) 11:36:14.54ID:NIQubJ4ZH うまああああああい
206デフォルトの名無しさん (ワッチョイ b7da-3ksn)
2022/11/29(火) 17:17:30.27ID:OPHrjchb0 兄が元刑務官だけど、昔に比べればブタ箱の飯はだいぶ香ばしい匂いになったみたいだよw
207デフォルトの名無しさん (ワッチョイ ffda-emCW)
2022/11/30(水) 08:01:42.75ID:wuoQBUdg0 スタンフォード監獄実験で普通の人でもそういう仕事につくと凶暴になる実験あったな
208デフォルトの名無しさん (ワッチョイ 9f8b-RPwI)
2022/12/01(木) 12:10:59.18ID:0YLKwBCI0 >>207
実はアレはヤラセだったと関係者が暴露してる
実はアレはヤラセだったと関係者が暴露してる
209デフォルトの名無しさん (JP 0Hcb-Z2Iz)
2022/12/02(金) 07:28:51.94ID:cUj7Y7YjH 神様たち
エクセルVBAで関数内関数を作りたいのですがやり方教えてください
エクセルVBAで関数内関数を作りたいのですがやり方教えてください
210デフォルトの名無しさん (ワッチョイ 9f01-YdBL)
2022/12/02(金) 08:16:36.75ID:tKD1RDkG0 無理、はい次の方~
211デフォルトの名無しさん (アウアウウー Sa5b-qzZ5)
2022/12/02(金) 09:43:13.76ID:YgL2+bOja >>209
作る意味ないので別関数で呼び出せ
作る意味ないので別関数で呼び出せ
212デフォルトの名無しさん (スップ Sd3f-RPwI)
2022/12/02(金) 11:05:19.85ID:ZBzpMFYrd213デフォルトの名無しさん (ワッチョイ 9f01-YdBL)
2022/12/02(金) 11:25:08.14ID:tKD1RDkG0 作る意味があるケースもあるけど現状作れないし作れるようになりそうもないから議論してもしょうがない、はい次の方~
214デフォルトの名無しさん (ワッチョイ b7da-3ksn)
2022/12/02(金) 11:30:07.60ID:OZyA684d0 なんでそんな事ばかりやりたいのか
215デフォルトの名無しさん (JP 0Hcf-Z2Iz)
2022/12/02(金) 11:44:11.14ID:aS3/tvEuH 他の言語でやってるとね~やっぱ欲しいなって思う場面が出てくるんだよね~
別にテクニカルな事をしたいわけじゃないのよ~
別にテクニカルな事をしたいわけじゃないのよ~
216デフォルトの名無しさん (JP 0Hcf-Z2Iz)
2022/12/02(金) 11:44:35.67ID:aS3/tvEuH まぁ一つ言えばこの一連の流れで>>211は頭一つ抜けて無能だね~
217デフォルトの名無しさん (スップ Sd3f-RPwI)
2022/12/02(金) 12:18:39.53ID:ZBzpMFYrd218デフォルトの名無しさん (ワッチョイ f7f0-Z2Iz)
2022/12/02(金) 14:20:37.10ID:T9SNtee60 神様達、ありがとうございました
無いと分かればそれはそれですっきりです
無いと分かればそれはそれですっきりです
219デフォルトの名無しさん (スッップ Sdbf-SMlo)
2022/12/02(金) 19:29:27.52ID:GBjZlXrEd ある条件を満たせば使えるようになるのは内緒だ
220デフォルトの名無しさん (スップ Sd3f-RPwI)
2022/12/02(金) 20:03:26.58ID:ZBzpMFYrd 教えるつもりがないならだまってろ
221デフォルトの名無しさん (ワッチョイ b7da-3ksn)
2022/12/02(金) 20:23:06.13ID:OZyA684d0222デフォルトの名無しさん (ワッチョイ 7df0-7kHv)
2022/12/03(土) 10:30:49.38ID:S7dtgmin0 神様達、よろしくお願いします
classモジュール変数に、public で配列を置きたいのですが
配列は、オブジェクトモジュールのパブリックメンバーとして利用できません
と怒られました
クラスをnewして、メンバーとして配列にアクセスする方法はありませんか?
例)=================================
標準モジュール
dim cls as Class1
set cls = new Class1
debug.print(cls.ar(0)) <---こう呼び出したい
=============================
クラスモジュール
public ar() as variant
private sub Class_Inisialize()
ar(0)="xxx"
end sub
classモジュール変数に、public で配列を置きたいのですが
配列は、オブジェクトモジュールのパブリックメンバーとして利用できません
と怒られました
クラスをnewして、メンバーとして配列にアクセスする方法はありませんか?
例)=================================
標準モジュール
dim cls as Class1
set cls = new Class1
debug.print(cls.ar(0)) <---こう呼び出したい
=============================
クラスモジュール
public ar() as variant
private sub Class_Inisialize()
ar(0)="xxx"
end sub
223222 (ワッチョイ 7df0-7kHv)
2022/12/03(土) 10:34:59.98ID:S7dtgmin0 神様たち、すみませんでした。解決できました。ごめんなさい
224デフォルトの名無しさん (ワッチョイ d010-vo7k)
2022/12/03(土) 10:52:40.84ID:sKNlSpsi0225デフォルトの名無しさん (スップ Sdc4-4FAg)
2022/12/03(土) 12:46:31.23ID:pfZ7JepId それサブルーチンだし関数内関数っていっていいの?
引数も渡せないでしょ
引数も渡せないでしょ
226222 (ワッチョイ 7df0-7kHv)
2022/12/03(土) 13:22:57.30ID:S7dtgmin0 GOSUBはミートソースでも食べられないと教わりました
227デフォルトの名無しさん (ワッチョイ aa01-QZbE)
2022/12/03(土) 13:27:47.06ID:HS9T9UMm0 > VBA GOSUBでググれ
全米がずっこけたわ
もう老害はこう言うのでマウント取るしかないんだな...
全米がずっこけたわ
もう老害はこう言うのでマウント取るしかないんだな...
228デフォルトの名無しさん (JP 0H06-7kHv)
2022/12/03(土) 13:46:56.21ID:y5TLnC6XH >>227
これ若造やぞ
これ若造やぞ
229デフォルトの名無しさん (ワッチョイ 73da-9BiN)
2022/12/03(土) 13:59:22.91ID:53g102vo0 知ってる?
マウント取ってくるのは大抵年寄りだぞ
何故ならば体が思うように動かないからやたら口達者になるから。
マウント取ってくるのは大抵年寄りだぞ
何故ならば体が思うように動かないからやたら口達者になるから。
230デフォルトの名無しさん (JP 0H06-7kHv)
2022/12/03(土) 14:03:12.32ID:y5TLnC6XH そもそもこれマウントでもなんでもなく単に間違えてるだけでしょ
231デフォルトの名無しさん (スップ Sdc4-4FAg)
2022/12/03(土) 14:08:18.64ID:pfZ7JepId GOSUBでも似たようなことできるけど○○できないとか制限あるよっていえばいいのに
最初の4行なんて余計でしょもったいぶって言う割には回答がおかしすぎて
マウントとかそういうレベルでもない
最初の4行なんて余計でしょもったいぶって言う割には回答がおかしすぎて
マウントとかそういうレベルでもない
232デフォルトの名無しさん (アウアウウー Sab5-QZbE)
2022/12/03(土) 14:14:01.12ID:zLpEoZMka ↑ こう言うことを言い出すのもたいてい老害w
233デフォルトの名無しさん (ラクッペペ MM34-k0qw)
2022/12/03(土) 14:16:30.51ID:ywgcZJJ9M 高階関数のことならVBA関数では不可
ワークシート関数であればLAMBDA(とLET)
ワークシート関数であればLAMBDA(とLET)
234デフォルトの名無しさん (JP 0H06-g9pY)
2022/12/03(土) 14:26:56.17ID:y5TLnC6XH235デフォルトの名無しさん (アウアウウー Sab5-QZbE)
2022/12/03(土) 14:33:59.75ID:zLpEoZMka いきなり〇国とか言い出すのも老害によくある行動
236デフォルトの名無しさん (アウアウウー Sa3a-zfUU)
2022/12/03(土) 14:59:55.68ID:YYHySLTHa 質問者はなんで出来ると思って質問したのか?
237222 (ワッチョイ 7df0-7kHv)
2022/12/03(土) 15:06:08.67ID:S7dtgmin0 アドバイス頂けただけありがたいです。
神様皆様ありがとうございます
マクロの記録なのですが、
マクロ記録→検索→全部→マクロ記録終了
そしてマクロを選択して編集すると
Macro
と書かれているだけでマクロが記録できません
記録してどんなワークシート関数を使っているのかみたいのですが
何か必要な設定があるのでしょうか?
現在excel2019を使っています
神様皆様ありがとうございます
マクロの記録なのですが、
マクロ記録→検索→全部→マクロ記録終了
そしてマクロを選択して編集すると
Macro
と書かれているだけでマクロが記録できません
記録してどんなワークシート関数を使っているのかみたいのですが
何か必要な設定があるのでしょうか?
現在excel2019を使っています
238222 (ワッチョイ 7df0-7kHv)
2022/12/03(土) 15:11:13.12ID:S7dtgmin0239デフォルトの名無しさん (JP 0H06-7kHv)
2022/12/03(土) 15:32:48.63ID:y5TLnC6XH240デフォルトの名無しさん (JP 0H06-7kHv)
2022/12/03(土) 16:01:02.34ID:y5TLnC6XH >>238
vbaは化石だから色々と諦めるしかない
vbaは化石だから色々と諦めるしかない
241デフォルトの名無しさん (ワッチョイ c001-g9pY)
2022/12/03(土) 17:35:51.41ID:su8PlnK50242デフォルトの名無しさん (ワッチョイ a62f-WJTY)
2022/12/03(土) 18:08:54.01ID:i+Roms8I0243デフォルトの名無しさん (スップ Sdc4-4FAg)
2022/12/03(土) 18:30:19.13ID:pfZ7JepId244デフォルトの名無しさん (ワッチョイ 6eda-k08R)
2022/12/03(土) 19:16:17.53ID:lRZF9sqh0 >>238
Class内にDictionaryなりCollectionなりをSetしておいてItemをため込み、
Property Getで取得することはできそうな気がする。。。
ごめん、検証してないし希望とは違うかもしれんけど。
Class内にDictionaryなりCollectionなりをSetしておいてItemをため込み、
Property Getで取得することはできそうな気がする。。。
ごめん、検証してないし希望とは違うかもしれんけど。
245デフォルトの名無しさん (アウアウエー Sa6a-M9qo)
2022/12/03(土) 22:12:00.65ID:K9qqP04ra 複数行にまとめてVLOOKUP関数を埋め込みたいのでFormulaR1C1プロパティを使っているのですが、マジックナンバーを避けるために検索範囲や列番号を変数で表現すると一行がやたら長くなってしまいます
出来るだけ簡潔に書きたいのですが、何かいい方法はありませんかねえ
出来るだけ簡潔に書きたいのですが、何かいい方法はありませんかねえ
246デフォルトの名無しさん (ワッチョイ 328c-t7j7)
2022/12/03(土) 22:38:24.22ID:RHVI1GN10 >>245
やたら長いとやらを貼らないと意味が分からない
やたら長いとやらを貼らないと意味が分からない
247デフォルトの名無しさん (JP 0H06-7kHv)
2022/12/03(土) 22:54:43.08ID:y5TLnC6XH >>245
indirectかませてるって事?
indirectかませてるって事?
248デフォルトの名無しさん (ワッチョイ 6eda-RX5i)
2022/12/04(日) 05:27:51.07ID:c2Va4wZ/0249デフォルトの名無しさん (ワッチョイ 73da-9BiN)
2022/12/04(日) 05:34:26.58ID:SnW1Fv340 テーブルとか職場の人が嫌がるのですが
250デフォルトの名無しさん (ワッチョイ 6eda-RX5i)
2022/12/04(日) 07:20:23.13ID:c2Va4wZ/0251デフォルトの名無しさん (ワッチョイ 245f-obKj)
2022/12/04(日) 07:55:31.27ID:CPo+UFwT0 構造化参照も理解できない方たちが事務やってるの多いもんな
変数てLET関数のことかな
VBAの変数名の付け方が参考になるんじゃないか
むしろVBAだと変数名は少し長くなっても後から理解できるようにしておくというのが多いけど
変数てLET関数のことかな
VBAの変数名の付け方が参考になるんじゃないか
むしろVBAだと変数名は少し長くなっても後から理解できるようにしておくというのが多いけど
252デフォルトの名無しさん (JP 0H88-7kHv)
2022/12/04(日) 08:09:42.33ID:TGszPi/mH253デフォルトの名無しさん (JP 0H88-7kHv)
2022/12/04(日) 08:10:27.13ID:TGszPi/mH254デフォルトの名無しさん (スプッッ Sd9e-3ggU)
2022/12/04(日) 10:02:49.72ID:ep+/H4bNd 自分はテーブル大好き派なんだが嫌いな人多いんだ
255デフォルトの名無しさん (ワッチョイ 73da-9BiN)
2022/12/04(日) 12:51:49.12ID:SnW1Fv340 嫌いどころかデータ蓄積の入力用シートすら作ってない不思議な人達ばかりよ現場は。
ひとつの表で完結させようとしている。
良くそれで仕事を完遂できるなと
ひとつの表で完結させようとしている。
良くそれで仕事を完遂できるなと
256デフォルトの名無しさん (ワッチョイ e23e-YDcJ)
2022/12/04(日) 13:25:18.39ID:pUfIiilw0 すみません
凄く基本的なマクロの質問になると思いますが質問させてください
シート2のA2からA列の最終行までの値をコピーして
シート1のB3に貼り付けをしたいのですがどうしたらいいでしょうか?
範囲を最終行に応じて自動的に変化させたいです
他にもB2から最終行まで、D3から最終行までとするにはどうしたら良いでしょうか?
凄く基本的なマクロの質問になると思いますが質問させてください
シート2のA2からA列の最終行までの値をコピーして
シート1のB3に貼り付けをしたいのですがどうしたらいいでしょうか?
範囲を最終行に応じて自動的に変化させたいです
他にもB2から最終行まで、D3から最終行までとするにはどうしたら良いでしょうか?
257デフォルトの名無しさん (ワッチョイ aa19-vo7k)
2022/12/04(日) 14:09:55.48ID:5CZT7HJs0 >>252
クラス内のプロシージャを全てPrivateにして外部のモジュールから参照するのはしようと思えば出来る。
クラス内のプロシージャを全てPrivateにして外部のモジュールから参照するのはしようと思えば出来る。
258デフォルトの名無しさん (ワッチョイ aa01-QZbE)
2022/12/04(日) 14:24:22.61ID:S/+N28Tr0 >>256
VBA 最終行 でググれ
https://www.excel-ubara.com/excelvba1/EXCELVBA318.html
> シート2のA2からA列の最終行
なら
With Worksheets("シート2")
LastRow =.Cells(.Rows.Count, "A").End(xlUp).Row
End With
VBA 最終行 でググれ
https://www.excel-ubara.com/excelvba1/EXCELVBA318.html
> シート2のA2からA列の最終行
なら
With Worksheets("シート2")
LastRow =.Cells(.Rows.Count, "A").End(xlUp).Row
End With
259デフォルトの名無しさん (スップ Sdc4-4FAg)
2022/12/04(日) 15:39:27.71ID:E+FYkBejd >>256
クリップボード経由しないならこんな感じじゃない
Dim iLastRow As Long
iLastRow = Worksheets("Sheet2").Range("A1").SpecialCells(xlLastCell).Row
Worksheets("Sheet1").Range("B1:B" & CStr(iRow - 1)).Value = Worksheets("Sheet2").Range("A2:A" & CStr(iLastRow)).Value
ちなみに代入元と代入先の行数を合わせる必要があるからそこは必要に応じて書き換えてね
クリップボード経由しないならこんな感じじゃない
Dim iLastRow As Long
iLastRow = Worksheets("Sheet2").Range("A1").SpecialCells(xlLastCell).Row
Worksheets("Sheet1").Range("B1:B" & CStr(iRow - 1)).Value = Worksheets("Sheet2").Range("A2:A" & CStr(iLastRow)).Value
ちなみに代入元と代入先の行数を合わせる必要があるからそこは必要に応じて書き換えてね
260デフォルトの名無しさん (JP 0H88-7kHv)
2022/12/04(日) 15:42:10.01ID:TGszPi/mH >>257
dim cls as class1
set cls =new class1
cls.arry(0)
cls.dictionary("x")
みたいなことできますか?
プログラムはかなりできあがってきたんですが
出来るようなら書き換えたいです
dim cls as class1
set cls =new class1
cls.arry(0)
cls.dictionary("x")
みたいなことできますか?
プログラムはかなりできあがってきたんですが
出来るようなら書き換えたいです
261デフォルトの名無しさん (JP 0H88-7kHv)
2022/12/04(日) 16:08:10.76ID:TGszPi/mH 神様の皆様、よろしくお願いします
動的配列を使って要素を追加するケースで質問です
dim ar() as variant
redim ar(0)
for i=0 to 9
ar(i)=i
redim preserve ar(ubound(ar)+1)
next
redim preserve ar(ubound(ar)-1) // A
A部分はar(10)を削除しようとして記述しています
この記述は、ar配列の最終要素を削除する動作を保証しているのでしょうか?
それとも何かの影響でarの最終要素以外の要素を削除することはあるのでしょうか?
動的配列を使って要素を追加するケースで質問です
dim ar() as variant
redim ar(0)
for i=0 to 9
ar(i)=i
redim preserve ar(ubound(ar)+1)
next
redim preserve ar(ubound(ar)-1) // A
A部分はar(10)を削除しようとして記述しています
この記述は、ar配列の最終要素を削除する動作を保証しているのでしょうか?
それとも何かの影響でarの最終要素以外の要素を削除することはあるのでしょうか?
262デフォルトの名無しさん (ワッチョイ ae4b-lCwf)
2022/12/04(日) 16:43:26.32ID:cmQKIRXH0 >>261
VBE上でローカルウィンドウを出してF8を繰り返し押せば確認できるよ
VBE上でローカルウィンドウを出してF8を繰り返し押せば確認できるよ
263デフォルトの名無しさん (ワッチョイ aa01-QZbE)
2022/12/04(日) 16:53:49.22ID:S/+N28Tr0 >>261
自分でシミュレーションしてみ
' i = 9 から...
ar(i)=i ' ar(9)=9
redim preserve ar(ubound(ar)+1) ' redim preserve ar(9+1)
redim preserve ar(ubound(ar)-1) ' redim preserve ar(10-1)
自分でシミュレーションしてみ
' i = 9 から...
ar(i)=i ' ar(9)=9
redim preserve ar(ubound(ar)+1) ' redim preserve ar(9+1)
redim preserve ar(ubound(ar)-1) ' redim preserve ar(10-1)
264デフォルトの名無しさん (ワッチョイ e23e-YDcJ)
2022/12/04(日) 16:55:07.12ID:pUfIiilw0265デフォルトの名無しさん (JP 0H88-7kHv)
2022/12/04(日) 17:09:39.48ID:TGszPi/mH266デフォルトの名無しさん (JP 0H06-4FAg)
2022/12/04(日) 18:25:54.71ID:SVL4/CbaH267デフォルトの名無しさん (ワッチョイ dc05-AmP8)
2022/12/04(日) 18:42:02.29ID:QfYm9r1x0 請求書をつくるとき取引先ごとの売上をいれてるシートをピボットテーブルで日付ごとに合算してそれをコピペして請求書シートに貼ってるんですが
これをうまい具合に自動化することはできませんか?
これをうまい具合に自動化することはできませんか?
268デフォルトの名無しさん (スップ Sdc4-4FAg)
2022/12/04(日) 18:44:43.55ID:E+FYkBejd そういうコードをかけばいいんじゃない?
269デフォルトの名無しさん (ブーイモ MMba-5Y9H)
2022/12/04(日) 18:57:53.90ID:k+5uNib2M ピボットテーブルの特定セルを参照する関数なかったっけ?
270デフォルトの名無しさん (JP 0H06-4FAg)
2022/12/04(日) 19:30:14.40ID:SVL4/CbaH >>267
取引先ごとの売上をいれてるシートをピボットテーブルで日付ごとに合算してそれをコピペして請求書シートに貼ってる
↓
請求書シートの所定の場所に、ピボットテーブルを表示させる
でいいんじゃないの?
取引先や日付範囲でフィルタすれば全自動になると思う
取引先ごとの売上をいれてるシートをピボットテーブルで日付ごとに合算してそれをコピペして請求書シートに貼ってる
↓
請求書シートの所定の場所に、ピボットテーブルを表示させる
でいいんじゃないの?
取引先や日付範囲でフィルタすれば全自動になると思う
271デフォルトの名無しさん (ワッチョイ dc05-AmP8)
2022/12/04(日) 20:19:07.12ID:QfYm9r1x0272デフォルトの名無しさん (JP 0H06-4FAg)
2022/12/04(日) 20:33:04.86ID:SVL4/CbaH >>271
どうズレるかはよく分からんけど・・・
ズレるのが怖いなら、
単純に参照すれば良い。黄色の部分は本当にシンプルな式だけで良いと思う
https://i.imgur.com/rwpq1hu.png
どうズレるかはよく分からんけど・・・
ズレるのが怖いなら、
単純に参照すれば良い。黄色の部分は本当にシンプルな式だけで良いと思う
https://i.imgur.com/rwpq1hu.png
273デフォルトの名無しさん (ワッチョイ 328c-t7j7)
2022/12/04(日) 20:47:06.88ID:dKAtQmN50274デフォルトの名無しさん (JP 0H88-7kHv)
2022/12/04(日) 22:29:31.05ID:TGszPi/mH275デフォルトの名無しさん (ワッチョイ dc05-AmP8)
2022/12/05(月) 00:46:19.76ID:TwFYHOyP0276デフォルトの名無しさん (JP 0H06-4FAg)
2022/12/05(月) 01:25:43.19ID:vai3YpAKH >>275
>ちなみに零細で月に10枚程度しか請求書ださないとこは
>ExcelのなんちゃってDBで十分ですかね?
じゃなくて、成長率
毎年の成長率が高い企業は、本当に気をつけたほうがいい
>フリーSQLも含めACCESSやファイルメーカーもたかってみたがデータの柔軟性がなさすぎて困った
Excelがおかしな事をしているだけなんだよ
それがたまたま日本の零細~中小に合致しているだけ
>ちなみに零細で月に10枚程度しか請求書ださないとこは
>ExcelのなんちゃってDBで十分ですかね?
じゃなくて、成長率
毎年の成長率が高い企業は、本当に気をつけたほうがいい
>フリーSQLも含めACCESSやファイルメーカーもたかってみたがデータの柔軟性がなさすぎて困った
Excelがおかしな事をしているだけなんだよ
それがたまたま日本の零細~中小に合致しているだけ
277デフォルトの名無しさん (ワッチョイ dc05-AmP8)
2022/12/05(月) 01:33:53.42ID:TwFYHOyP0278デフォルトの名無しさん (ワッチョイ dc05-AmP8)
2022/12/05(月) 01:36:52.68ID:TwFYHOyP0 外部からインポートもコピペではできないし
テーブルを全く計算も不得意ときてる
テーブルを全く計算も不得意ときてる
279デフォルトの名無しさん (スプッッ Sd70-e7tZ)
2022/12/05(月) 03:27:44.54ID:FhvtASfFd 安い販売管理アプリすら買えない貧乏会社は潰れろ
280デフォルトの名無しさん (JP 0H88-7kHv)
2022/12/05(月) 06:57:51.15ID:/0dw54cWH 今どきはフリークラウドの管理ソフト(販売系、経理系、労務系)のサービスが山ほどあるでしょ
提供会社が無償提供やめたり、提供自体やめると面倒だけど
データ移行性を確保できるのならそっち方法がいい
提供会社が無償提供やめたり、提供自体やめると面倒だけど
データ移行性を確保できるのならそっち方法がいい
281デフォルトの名無しさん (ワッチョイ dc05-AmP8)
2022/12/05(月) 07:47:07.80ID:TwFYHOyP0282デフォルトの名無しさん (ミカカウィ FF90-lCwf)
2022/12/05(月) 11:40:12.06ID:BG/y+01pF >>246
一例をそのまま貼ると、こんな感じです。
Dim VLOOKUP商品名 As String
VLOOKUP商品名 = "=VLOOKUP(RC" & eCols_明細.得意先コード & "," & WsName得意先テーブル & "!R" & eRows_通常.開始行 & "C" & eCols_得意先テーブル.得意先コード & ":R" & EndRow得意先テーブル & "C" & eCount_得意先テーブル & "," & eCols_得意先テーブル.得意先名 & "," & 完全一致 & ")"
めちゃくちゃ長くて可読性が悪いなと……
一例をそのまま貼ると、こんな感じです。
Dim VLOOKUP商品名 As String
VLOOKUP商品名 = "=VLOOKUP(RC" & eCols_明細.得意先コード & "," & WsName得意先テーブル & "!R" & eRows_通常.開始行 & "C" & eCols_得意先テーブル.得意先コード & ":R" & EndRow得意先テーブル & "C" & eCount_得意先テーブル & "," & eCols_得意先テーブル.得意先名 & "," & 完全一致 & ")"
めちゃくちゃ長くて可読性が悪いなと……
283デフォルトの名無しさん (スップ Sd9e-4FAg)
2022/12/05(月) 12:03:42.76ID:2GrVmVNid 変数に代入している際の話なら
VLOOKUP商品名 = ""
VLOOKUP商品名 = VLOOKUP商品名 & "AAA"
VLOOKUP商品名 = VLOOKUP商品名 & "BBB"
VLOOKUP商品名 = VLOOKUP商品名 & "CCC"
とかきりのいいところで分割して代入すればいいんじゃない?
VLOOKUP商品名 = ""
VLOOKUP商品名 = VLOOKUP商品名 & "AAA"
VLOOKUP商品名 = VLOOKUP商品名 & "BBB"
VLOOKUP商品名 = VLOOKUP商品名 & "CCC"
とかきりのいいところで分割して代入すればいいんじゃない?
284デフォルトの名無しさん (アウアウウー Sa3a-zfUU)
2022/12/05(月) 12:08:08.63ID:1vq1KTlma >>282
それ自力で展開できないようじゃやばいよ
それ自力で展開できないようじゃやばいよ
285デフォルトの名無しさん (アウアウクー MMd2-M9qo)
2022/12/05(月) 12:14:29.23ID:EBZoNox0M286デフォルトの名無しさん (ワッチョイ e62c-WJTY)
2022/12/05(月) 12:36:26.38ID:2GYg1OhQ0287デフォルトの名無しさん (ワッチョイ 0101-9CiQ)
2022/12/05(月) 18:30:47.05ID:ovLbu+Xd0 >>285
「そもそも複数行へのVLOOKUP関数の埋込みをFormulaR1C1プロパティを使わなくても出来ないものなのかなあ」ってのがよくわからん
どんな機能を使おうが、セルに代入したいなら必ず一度はコードに記載しなきゃいけないんだから「eCols_明細.得意先コード」とかの変数名を短くするくらいしかないでしょ
「そもそも複数行へのVLOOKUP関数の埋込みをFormulaR1C1プロパティを使わなくても出来ないものなのかなあ」ってのがよくわからん
どんな機能を使おうが、セルに代入したいなら必ず一度はコードに記載しなきゃいけないんだから「eCols_明細.得意先コード」とかの変数名を短くするくらいしかないでしょ
288デフォルトの名無しさん (ワッチョイ 6eda-RX5i)
2022/12/05(月) 20:42:26.49ID:vfUaA4330 >>282
VBAからvlookup関数を埋め込んだことが無いので処理のイメージがつかめないんだけど、
今やろうとしていることはvlookup関数の字面を文字列を繋げて作り上げようとしてる感じなのかな?
そもそもVlookup関数の構文は VLOOKUP(検索値, 範囲, 列番号, 検索の型)なのだから変数を使うのであれば
検索値や範囲を変数に格納して繋げれば良いのでは? 例えば,,,
Dim val as String: val="値"
Dim rng as Range: set rng = range(”A1”,"B10")
Dim col as long: col = 2
Dim FormulaStr as string
FormulaStr = "=VLOOKUP(" & val & "," & rng.Address & "," & col & ", false)"
みたいな感じ? 値や範囲をセルによって可変にしたいなら変数に格納する値を変えればいいわけだし。。。
こういうことじゃないのかな?
VBAからvlookup関数を埋め込んだことが無いので処理のイメージがつかめないんだけど、
今やろうとしていることはvlookup関数の字面を文字列を繋げて作り上げようとしてる感じなのかな?
そもそもVlookup関数の構文は VLOOKUP(検索値, 範囲, 列番号, 検索の型)なのだから変数を使うのであれば
検索値や範囲を変数に格納して繋げれば良いのでは? 例えば,,,
Dim val as String: val="値"
Dim rng as Range: set rng = range(”A1”,"B10")
Dim col as long: col = 2
Dim FormulaStr as string
FormulaStr = "=VLOOKUP(" & val & "," & rng.Address & "," & col & ", false)"
みたいな感じ? 値や範囲をセルによって可変にしたいなら変数に格納する値を変えればいいわけだし。。。
こういうことじゃないのかな?
289デフォルトの名無しさん (ワッチョイ 245f-obKj)
2022/12/05(月) 20:47:00.71ID:imBemMvO0 そもそも数式をVBAで入力することってあんまりないよな
290デフォルトの名無しさん (ワッチョイ 6eda-RX5i)
2022/12/05(月) 21:46:02.27ID:vfUaA4330291デフォルトの名無しさん (JP 0H88-7kHv)
2022/12/05(月) 22:43:24.64ID:/0dw54cWH やっぱりVlookやsumifみたいな
組み込み関数のほうが、普通にコードするより速く強力なんでしょうか?
組み込み関数のほうが、普通にコードするより速く強力なんでしょうか?
292デフォルトの名無しさん (ワッチョイ 7cda-9BiN)
2022/12/06(火) 00:26:23.27ID:/P6wRT1K0 コードが短くなるから
293デフォルトの名無しさん (ワッチョイ 6eda-RX5i)
2022/12/06(火) 05:54:39.62ID:iYcy7y+Q0 >>291
Excelに備わっている関数は強力だと思うし使い勝手が良かったりするものもありますね。
私の場合はcountifやmatch、max、minあたりはVBA上でもWorksheetfunctionからよく使います。
Excelに備わっている関数は強力だと思うし使い勝手が良かったりするものもありますね。
私の場合はcountifやmatch、max、minあたりはVBA上でもWorksheetfunctionからよく使います。
294デフォルトの名無しさん (ワッチョイ aa01-QZbE)
2022/12/06(火) 06:19:16.90ID:MaIfapT+0 >>291
かなり最適化されてるしマルチスレッドで動作するから同じ処理ならVBAより相当速い
かなり最適化されてるしマルチスレッドで動作するから同じ処理ならVBAより相当速い
295デフォルトの名無しさん (スッップ Sd70-hPFt)
2022/12/06(火) 07:43:11.23ID:Al8BgWGSd >>275
零細だったらそれこそappsheetでもいいんじゃないですか?
零細だったらそれこそappsheetでもいいんじゃないですか?
296デフォルトの名無しさん (オッペケ Src1-9CiQ)
2022/12/06(火) 08:29:25.79ID:AKPIYKETr 関数を直接入力するとその後にシートに何かしら入力するたびに再計算されるから面倒だわ
その再計算が気にならないってんならvbaで処理しても気にならないレベルでしょ
countifなんか特に再計算に3分とかかかる場合もあるし
その再計算が気にならないってんならvbaで処理しても気にならないレベルでしょ
countifなんか特に再計算に3分とかかかる場合もあるし
297デフォルトの名無しさん (JP 0H06-4FAg)
2022/12/06(火) 09:00:18.69ID:0FDDxcj9H298デフォルトの名無しさん (オッペケ Src1-9CiQ)
2022/12/06(火) 11:03:13.75ID:jhjyA+WOr >>297
意味が分かりにくくてすまん
だから関数を直接セルに入力するようなことはせずに、vbaでworksheetFunctionとかDictionaryとか使って結果だけを出力するなって意味
vbaで関数を入力するのは引き継ぎとか他人に渡すのを想定したときくらいかな
意味が分かりにくくてすまん
だから関数を直接セルに入力するようなことはせずに、vbaでworksheetFunctionとかDictionaryとか使って結果だけを出力するなって意味
vbaで関数を入力するのは引き継ぎとか他人に渡すのを想定したときくらいかな
299デフォルトの名無しさん (スップ Sd9e-4FAg)
2022/12/06(火) 11:13:52.38ID:64yedq7Nd 2行目もよくわからんし
VBAで関数を入力とかイミフなんだが
VBAで関数を入力とかイミフなんだが
300デフォルトの名無しさん (アウアウアー Sac2-M9qo)
2022/12/06(火) 11:40:45.39ID:QNWFDahpa Application.Calculation = xlCalculationManual はとりあえず書いとくでしょ
301デフォルトの名無しさん (ワッチョイ 7cda-9BiN)
2022/12/06(火) 13:28:57.18ID:/P6wRT1K0 つかVBAで関数使えるなんて最近知ったわ
302デフォルトの名無しさん (ブーイモ MMba-5Y9H)
2022/12/06(火) 13:35:48.17ID:41AW+NFUM >>301
お馬鹿自慢要らない
お馬鹿自慢要らない
303デフォルトの名無しさん (ワッチョイ 2cda-WJTY)
2022/12/06(火) 18:35:08.85ID:+0skKz+k0 どんな機能も馬鹿には使えない
304デフォルトの名無しさん (JP 0H06-4FAg)
2022/12/06(火) 22:10:52.72ID:0FDDxcj9H305デフォルトの名無しさん (ワッチョイ acce-R4o2)
2022/12/06(火) 23:34:20.45ID:HLCihNOZ0 2行目がひどすぎる
306デフォルトの名無しさん (ワッチョイ 7cda-9BiN)
2022/12/07(水) 01:18:20.40ID:X43S603Q0 なにが?
307デフォルトの名無しさん (JP 0H88-7kHv)
2022/12/07(水) 07:13:11.50ID:FarCeGHLH 演算処理能力、メモリ容量、基盤の伝送量と速度が大幅に向上し
組み込み関数による処理、VBA関数による処理などの差によるメモリ効率、処理速度を考えず
組み込み関数に依存しないコーディングを書けるようになった
言い換えると3行になるな
メモリ効率を悪化させてしまった
組み込み関数による処理、VBA関数による処理などの差によるメモリ効率、処理速度を考えず
組み込み関数に依存しないコーディングを書けるようになった
言い換えると3行になるな
メモリ効率を悪化させてしまった
308デフォルトの名無しさん (スップ Sd9e-4FAg)
2022/12/07(水) 11:24:59.17ID:D8w4iSDKd >>304
関数が入っているセルを参照するようなコードの場合
例えばCells(4, 3)にCells(3, 3)の値を10倍するような関数が入っているとして
Cells(3, 3).Value = 40
Debug.Print Cells(4, 3).Value
とやった場合、自動になっていればCells(4, 3)は400になった値が参照できて
手動ならもともと入っている値が参照できるという状態でしょ
スペックが向上、負荷のないコードだから書かないというのは危険な考えでは
関数が入っているセルを参照するようなコードの場合
例えばCells(4, 3)にCells(3, 3)の値を10倍するような関数が入っているとして
Cells(3, 3).Value = 40
Debug.Print Cells(4, 3).Value
とやった場合、自動になっていればCells(4, 3)は400になった値が参照できて
手動ならもともと入っている値が参照できるという状態でしょ
スペックが向上、負荷のないコードだから書かないというのは危険な考えでは
309デフォルトの名無しさん (JP 0H06-4FAg)
2022/12/07(水) 11:32:32.02ID:utJNEW7kH >>308
再計算に左右されるコードを書く事がそもそもおかしいんですわ
再計算に左右されるコードを書く事がそもそもおかしいんですわ
310デフォルトの名無しさん (アウアウクー MMd2-M9qo)
2022/12/07(水) 12:12:32.61ID:LcpUtl7xM 配列がらみのFunctionを作ったときにメモリを空けようと「一時的な配列」を初期化しているのだけれどもしかしてあんまり意味ない?
たとえばこのように↓
Function 戻り値配列 (引数)As Variant
Dim TempArr As Variant
(……何らかの処理)
戻り値配列 = TempArr
Erase TempArr ← これ
End Function
同じ要領で“TempDic”をRemove allしたら戻り値の連想配列も空になっちゃったけどこれはなんでなんだろう
たとえばこのように↓
Function 戻り値配列 (引数)As Variant
Dim TempArr As Variant
(……何らかの処理)
戻り値配列 = TempArr
Erase TempArr ← これ
End Function
同じ要領で“TempDic”をRemove allしたら戻り値の連想配列も空になっちゃったけどこれはなんでなんだろう
311デフォルトの名無しさん (JP 0H06-4FAg)
2022/12/07(水) 12:16:33.70ID:utJNEW7kH312デフォルトの名無しさん (スップ Sd9e-4FAg)
2022/12/07(水) 12:21:53.20ID:D8w4iSDKd313デフォルトの名無しさん (ワッチョイ 7df0-7kHv)
2022/12/07(水) 13:54:56.12ID:wBRRjjXH0 >>312
vbaって配列の要素に変数を入れ込んでから配列を初期化すると、
要素変数への参照は切れるけれどメモリ領域は解放されないのでは?
それともvbaって配列要素への参照切れで割りあてたメモリを開放するの?
vbaって配列の要素に変数を入れ込んでから配列を初期化すると、
要素変数への参照は切れるけれどメモリ領域は解放されないのでは?
それともvbaって配列要素への参照切れで割りあてたメモリを開放するの?
314デフォルトの名無しさん (ラクッペペ MM34-EnYx)
2022/12/07(水) 14:42:43.86ID:snBsCL7QM 調べてから質問しよう
315デフォルトの名無しさん (アウアウエー Sa6a-M9qo)
2022/12/07(水) 15:06:50.61ID:y9uo2cdUa とりあえず「Erase」を書くのはあんまり意味無いっぽいんでやめます
316デフォルトの名無しさん (JP 0H06-4FAg)
2022/12/07(水) 18:33:11.05ID:utJNEW7kH >>312
といいつつなにも訂正できないアホ
といいつつなにも訂正できないアホ
317デフォルトの名無しさん (アウアウウー Sab5-QZbE)
2022/12/07(水) 18:52:51.37ID:CifLjB7Ga >>310
> 同じ要領で“TempDic”をRemove allしたら戻り値の連想配列も空になっちゃったけどこれはなんでなんだろう
そりゃ参照を返してるだけで実体は一個しかないからRemoveAllしたら消えるよ
その後 TempDic を使わない事を明示したいなら
Set TempDic = Nothing
でもしとけばいいけどまあ関数抜けたら TempDic はなくなっちゃうんだから気にしなくていいと思うよ
> 同じ要領で“TempDic”をRemove allしたら戻り値の連想配列も空になっちゃったけどこれはなんでなんだろう
そりゃ参照を返してるだけで実体は一個しかないからRemoveAllしたら消えるよ
その後 TempDic を使わない事を明示したいなら
Set TempDic = Nothing
でもしとけばいいけどまあ関数抜けたら TempDic はなくなっちゃうんだから気にしなくていいと思うよ
318デフォルトの名無しさん (ワッチョイ aa19-vo7k)
2022/12/08(木) 00:25:28.15ID:+1lRH4XG0 まぁでも関数やメソッド抜けるまでは保持し続けるから単一責任原則を守ったコードに慣れるまでは
使い終わったらさっさと解放することに越したことはないよ。
最近当たったんだけどボタンを押して呼んだ関数の中で数万のインスタンスを生成する処理があって、
完了メッセージを出した後もその関数抜けるときにメモリを解放しているもんだから暫く待たされるという残念なコードを見てる。
生成した後のごちゃごちゃした処理は別関数でやってたのに実に残念なツールになってたよ。
使い終わったらさっさと解放することに越したことはないよ。
最近当たったんだけどボタンを押して呼んだ関数の中で数万のインスタンスを生成する処理があって、
完了メッセージを出した後もその関数抜けるときにメモリを解放しているもんだから暫く待たされるという残念なコードを見てる。
生成した後のごちゃごちゃした処理は別関数でやってたのに実に残念なツールになってたよ。
319デフォルトの名無しさん (アウアウウー Sab5-nfFp)
2022/12/08(木) 01:16:01.92ID:WwdCwmmca 意識高い系のVBA使いとか生きるの辛そうだな
プログラミング界ではそもそもVBAな時点でみんな半端者扱いなんだから気楽にやろうぜ
プログラミング界ではそもそもVBAな時点でみんな半端者扱いなんだから気楽にやろうぜ
320デフォルトの名無しさん (ワッチョイ 0101-9CiQ)
2022/12/08(木) 02:22:15.27ID:tbk78NJr0 vbaを使ってて0.01秒早くしてどうすんだ?って思うときはある
321デフォルトの名無しさん (ワッチョイ aa01-QZbE)
2022/12/08(木) 06:20:02.03ID:lmp5fbT90 >>318
> まぁでも関数やメソッド抜けるまでは保持し続けるから単一責任原則を守ったコードに慣れるまでは
> 使い終わったらさっさと解放することに越したことはないよ。
呼び出し元に返す話に何を言ってるんだ?
> まぁでも関数やメソッド抜けるまでは保持し続けるから単一責任原則を守ったコードに慣れるまでは
> 使い終わったらさっさと解放することに越したことはないよ。
呼び出し元に返す話に何を言ってるんだ?
322デフォルトの名無しさん (JP 0H88-7kHv)
2022/12/08(木) 07:04:26.73ID:HFBnNvT0H ならやっぱり配列要素がプリミティブでなければ
要素そのものを解放しないと
配列だけ初期化する意味なんてあるの?
要素そのものを解放しないと
配列だけ初期化する意味なんてあるの?
323デフォルトの名無しさん (JP 0H88-7kHv)
2022/12/08(木) 07:26:25.62ID:HFBnNvT0H というか、vbaには参照切れで自動的にメモリ開放する機能がないってことなのか
324デフォルトの名無しさん (ワッチョイ aa19-vo7k)
2022/12/08(木) 08:07:05.00ID:+1lRH4XG0 >>322
例えば配列にループしてインスタンスを設定するとして、そのループの中でひとつの変数にNewしてインスタンスを作成して、
そのインスタンスを配列に設定した場合、前回のループで設定したインスタンスは配列の内容が削除されれば、他に参照しているところがない限りメモリから解放されるよ。
例えば配列にループしてインスタンスを設定するとして、そのループの中でひとつの変数にNewしてインスタンスを作成して、
そのインスタンスを配列に設定した場合、前回のループで設定したインスタンスは配列の内容が削除されれば、他に参照しているところがない限りメモリから解放されるよ。
325デフォルトの名無しさん (JP 0H06-4FAg)
2022/12/08(木) 08:35:17.09ID:yLcZaBdRH326デフォルトの名無しさん (アウアウウー Sab5-QZbE)
2022/12/08(木) 10:09:55.21ID:JnPWza2ja327デフォルトの名無しさん (ラクッペペ MM34-EnYx)
2022/12/08(木) 10:17:37.27ID:owyQh2KqM >>326
仕様ですが何か?
仕様ですが何か?
328デフォルトの名無しさん (ワッチョイ 7df0-7kHv)
2022/12/08(木) 10:23:17.17ID:ch+LF4H/0 配列の話じゃなかったんですね、すみません
329デフォルトの名無しさん (ラクッペペ MM34-EnYx)
2022/12/08(木) 10:27:25.77ID:owyQh2KqM よく見たら >>317 で解決済みじゃんか
330デフォルトの名無しさん (ワッチョイ aa19-vo7k)
2022/12/08(木) 12:32:14.89ID:+1lRH4XG0331326 (ワッチョイ 7274-JnHA)
2022/12/08(木) 14:20:26.49ID:65k1Y+1Y0332デフォルトの名無しさん (ワッチョイ 7cda-9BiN)
2022/12/08(木) 17:59:48.27ID:sOdFjo8m0 またヘアの話してる。。
ヘア話好きだなぁお前ら
ヘア話好きだなぁお前ら
333デフォルトの名無しさん (ワッチョイ 70da-sbuD)
2022/12/09(金) 01:27:21.92ID:hGMGk7SH0 クエリA
UNION ALL
クエリB
→文字化け
クエリB
UNION ALL
クエリA
→正常
なんでやねん!
何で上下入れ替えると直る?
因みに、文字化けする方も文字列型にすると化けないので、
文字コードの問題ではない。
UNION ALL
クエリB
→文字化け
クエリB
UNION ALL
クエリA
→正常
なんでやねん!
何で上下入れ替えると直る?
因みに、文字化けする方も文字列型にすると化けないので、
文字コードの問題ではない。
334デフォルトの名無しさん (アウアウウー Sa3a-zfUU)
2022/12/09(金) 02:00:05.39ID:6OFfyKzYa コードだせよ
335デフォルトの名無しさん (ワッチョイ 7cda-9BiN)
2022/12/09(金) 02:12:16.40ID:Uc0MJbfu0 毛出せよ
336デフォルトの名無しさん (ワッチョイ 0a19-vo7k)
2022/12/09(金) 04:09:12.16ID:u4+GnlEA0 >>333
何に大してSQL投げてる?
何に大してSQL投げてる?
337デフォルトの名無しさん (JP 0H88-7kHv)
2022/12/09(金) 07:02:42.07ID:KfOH1QpXH 神様皆様おはようございます
神様たちのお導きで50万行*80列のデータから
所望のデータを抽出できました
ありがとうございました!
神様たちのお導きで50万行*80列のデータから
所望のデータを抽出できました
ありがとうございました!
338デフォルトの名無しさん (クスマテ MM6e-rZer)
2022/12/09(金) 13:09:40.12ID:rQKM0wa8M OneDriveで自動保存設定してるブックに手動保存するときだけbeforesaveイベントする方法はある?
339デフォルトの名無しさん (ワッチョイ dfda-fmpo)
2022/12/10(土) 04:11:06.01ID:sYCK+UIk0340デフォルトの名無しさん (ワッチョイ bf19-TX1J)
2022/12/10(土) 07:54:03.42ID:07zUVtVr0 >>339
SELECT句の中にアスタリスク使ってない?
UNION句で挙動がおかしくなるのはCSVファイルじゃなくてEXCELのシートにSQL投げたときに起こるのも見たことあるけど
まぁそもそもDBに投げてる訳じゃないからある程度は仕方ないってところもあるよ。
CSVファイルはUTF-8かSJISかってのもあるけど
UNION句の上下入れ替えたら直ったというのであれば今回は関係なさそうだしね。
SELECT句の中にアスタリスク使ってない?
UNION句で挙動がおかしくなるのはCSVファイルじゃなくてEXCELのシートにSQL投げたときに起こるのも見たことあるけど
まぁそもそもDBに投げてる訳じゃないからある程度は仕方ないってところもあるよ。
CSVファイルはUTF-8かSJISかってのもあるけど
UNION句の上下入れ替えたら直ったというのであれば今回は関係なさそうだしね。
341デフォルトの名無しさん (ワッチョイ dfda-fmpo)
2022/12/11(日) 02:40:17.51ID:08xatqWx0342デフォルトの名無しさん (アウアウウー Sa6b-UXa/)
2022/12/11(日) 02:50:20.80ID:z4dJXl08a あすたのリスクに備えよう
343デフォルトの名無しさん (ワッチョイ e7da-V/kh)
2022/12/11(日) 04:50:30.55ID:fs20dDlo0 いつまで起きている?
344デフォルトの名無しさん (ワッチョイ 87c6-BsWY)
2022/12/11(日) 12:55:57.38ID:GglWfKZ40 >>338
Ruby on Rails では、before_action, after_action, around_action で、コールバックできる
before_save :a, only: [:new :edit]
after_save :b, except: [:new :edit]
onlyで、new, editが呼ばれる前にだけ、aを実行する。
逆にexceptでは、new, editが呼ばれなかった後にだけ、bを実行する
Ruby on Rails では、before_action, after_action, around_action で、コールバックできる
before_save :a, only: [:new :edit]
after_save :b, except: [:new :edit]
onlyで、new, editが呼ばれる前にだけ、aを実行する。
逆にexceptでは、new, editが呼ばれなかった後にだけ、bを実行する
345デフォルトの名無しさん (ワッチョイ bf19-TX1J)
2022/12/11(日) 14:15:24.03ID:6rsOUIlG0 >>344
布教活動大変だね
布教活動大変だね
346デフォルトの名無しさん (JP 0Hcf-KKgq)
2022/12/11(日) 16:42:01.94ID:pyId0WeJH347デフォルトの名無しさん (ワッチョイ e7da-V/kh)
2022/12/11(日) 20:21:22.99ID:fs20dDlo0 Ruby信者ってどこにでも沸くな
348デフォルトの名無しさん (ワッチョイ 47ba-tIJK)
2022/12/11(日) 23:36:23.53ID:jy7H3fIV0 サーバーにあるフォルダからPDFを検索したいのに上手くいかない
検索はかけても何もヒットしない…
どこか修正するとこありますか?
テキストボックスに入力して検索
検索結果をリストボックスに表示します
Private Sub CommandButton1_Click()
Const BASE_PATH = "\\L\設計\図面"
Dim myPath As String, myName As String
Dim FSO As Object, oFolder As Object, oSubFolder As Object, oFile As Object
On Error Resume Next
If TextBox1.Value = ""Then Exit Sub
ListBox1.Clear
Set FSO = CreateObject("Scripting.FileSystemObject")
Set oFolder = FSO.GetFolder(BASE_PATH)
For Each oSubFolder In oFolder.SubFolders
For Each oFile In oSubFolder.Files
If LCase(oFile.Name) Like LCase(TextBox1.Value) &"*.pdf"Then
Debug.Print oFile.Path
myPath = oFile.ParentFolder &"\"myName = oFile.Name
ListBox1.AddItem myName
ListBox1.List(ListBox1.ListCount - 1, 1) = myPath
End If
Next
Next
Set FSO = Nothing
End Sub
検索はかけても何もヒットしない…
どこか修正するとこありますか?
テキストボックスに入力して検索
検索結果をリストボックスに表示します
Private Sub CommandButton1_Click()
Const BASE_PATH = "\\L\設計\図面"
Dim myPath As String, myName As String
Dim FSO As Object, oFolder As Object, oSubFolder As Object, oFile As Object
On Error Resume Next
If TextBox1.Value = ""Then Exit Sub
ListBox1.Clear
Set FSO = CreateObject("Scripting.FileSystemObject")
Set oFolder = FSO.GetFolder(BASE_PATH)
For Each oSubFolder In oFolder.SubFolders
For Each oFile In oSubFolder.Files
If LCase(oFile.Name) Like LCase(TextBox1.Value) &"*.pdf"Then
Debug.Print oFile.Path
myPath = oFile.ParentFolder &"\"myName = oFile.Name
ListBox1.AddItem myName
ListBox1.List(ListBox1.ListCount - 1, 1) = myPath
End If
Next
Next
Set FSO = Nothing
End Sub
349デフォルトの名無しさん (スプッッ Sdff-BgjO)
2022/12/12(月) 00:49:34.01ID:GzIbQG1id if文の文字列比較条件でワイルドカードが使えたらいいよね
350デフォルトの名無しさん (ワッチョイ 7f8e-BgjO)
2022/12/12(月) 00:53:47.45ID:b3Hc3KE20 あ、vbaか
すまん
すまん
351デフォルトの名無しさん (ワッチョイ e7da-V/kh)
2022/12/12(月) 01:42:01.46ID:4xXIhKks0 読めん
字下げから始めた方がミス探しやすいはず
字下げから始めた方がミス探しやすいはず
352デフォルトの名無しさん (ワッチョイ bf8c-9pmv)
2022/12/12(月) 02:19:04.59ID:hdNfjLFm0 >>348
とりあえずデバッガーした結果をクレ
とりあえずデバッガーした結果をクレ
353デフォルトの名無しさん (ワッチョイ df01-0RkQ)
2022/12/12(月) 05:04:18.82ID:x7256VzD0 >>348
とりあえず
For Each oFile In oSubFolder.Files
Debug.Print "Debug:" "& oFile.Name
If LCase(oFile.Name) Like LCase(TextBox1.Value) &"*.pdf"Then
としてまずファイルがあるのか確認しなよ
あとデバッグ中は
On Error Resume Next
をコメントアウトしといた方がいい
予想外のエラーを握り潰されて(当人にとっては)意味不明な挙動になることあるから
とりあえず
For Each oFile In oSubFolder.Files
Debug.Print "Debug:" "& oFile.Name
If LCase(oFile.Name) Like LCase(TextBox1.Value) &"*.pdf"Then
としてまずファイルがあるのか確認しなよ
あとデバッグ中は
On Error Resume Next
をコメントアウトしといた方がいい
予想外のエラーを握り潰されて(当人にとっては)意味不明な挙動になることあるから
354デフォルトの名無しさん (ブーイモ MM8f-qe51)
2022/12/12(月) 08:24:42.26ID:lSQJahkmM >>349
正規表現あるやろ
正規表現あるやろ
355デフォルトの名無しさん (アウアウエー Sa9f-arOL)
2022/12/12(月) 14:02:36.57ID:Yr5sVjH4a 請求書の原紙となるsheetをコピーして、そこに配列に格納した請求情報を貼り付けるという作業を約100回繰り返したいのですが、
①先に約100回のsheetのコピーを済ませて、生成されたsheets間をループして請求情報を貼り付ける
②sheetのコピー→請求情報の貼付けを約100回ループする
どちらの処理が早いのでしょうか
①先に約100回のsheetのコピーを済ませて、生成されたsheets間をループして請求情報を貼り付ける
②sheetのコピー→請求情報の貼付けを約100回ループする
どちらの処理が早いのでしょうか
356デフォルトの名無しさん (ワッチョイ df42-lPHY)
2022/12/12(月) 14:07:14.79ID:DRicYWUJ0 100回程度ならどっちでも体感の差はないと思う
357デフォルトの名無しさん (アウアウウー Sa6b-ROsr)
2022/12/12(月) 16:22:37.21ID:r3Uma5Xoa シートがクソ重かったりPCがクソ貧弱だったりするなら、
②の方がブックが小さい状態で貼り付けの処理ができるから安定して動くだろうね
②の方がブックが小さい状態で貼り付けの処理ができるから安定して動くだろうね
358デフォルトの名無しさん (アウアウエー Sa9f-arOL)
2022/12/12(月) 17:07:21.38ID:1yb84Oz2a >>357
後にまとめて印刷して突き合わせを行うため、請求書のシートの順番を配列の要素の順番と同じようにしなければなりません
よって②の場合は、配列の値を貼り付けた後に(配列の添字が 1 から始まるため) “Copy After := Worksheets( i )” を記述することになります
つまりシートをコピーする度にシート数をループ変数から取得する処理の繰り返しになるのですが(①だと “Copy After := Worksheets( 1 )” でもよい)、それでも②の方が安定しているのでしょうか
後にまとめて印刷して突き合わせを行うため、請求書のシートの順番を配列の要素の順番と同じようにしなければなりません
よって②の場合は、配列の値を貼り付けた後に(配列の添字が 1 から始まるため) “Copy After := Worksheets( i )” を記述することになります
つまりシートをコピーする度にシート数をループ変数から取得する処理の繰り返しになるのですが(①だと “Copy After := Worksheets( 1 )” でもよい)、それでも②の方が安定しているのでしょうか
359デフォルトの名無しさん (アウアウエー Sa9f-arOL)
2022/12/12(月) 17:09:47.10ID:1yb84Oz2a >>358
シート数を→シート番号を
シート数を→シート番号を
360デフォルトの名無しさん (ワッチョイ 7fda-UXa/)
2022/12/12(月) 17:26:03.86ID:8QT34TfC0 請求書ってそんな適当に作ったマクロで請求していいものなのか
361デフォルトの名無しさん (アウアウエー Sa9f-arOL)
2022/12/12(月) 17:30:19.83ID:1yb84Oz2a >>360
私がマクロを作る前は手書きで請求書を書いてエクセルに抽出した請求データと目視で突合していたんですよ(現在は自作した請求書を自動発行するマクロをスピードアップを目的に改修しているところです)
そういう会社もあるんです
私がマクロを作る前は手書きで請求書を書いてエクセルに抽出した請求データと目視で突合していたんですよ(現在は自作した請求書を自動発行するマクロをスピードアップを目的に改修しているところです)
そういう会社もあるんです
362デフォルトの名無しさん (スップ Sd7f-KKgq)
2022/12/12(月) 18:07:39.61ID:UCyWy/zwd iはWorksheets.Countあたりを使えばいいんじゃないの?
ただ100件程度なんてせいぜい数分でしょ
今までの時間に比べたらどっちでもいいんじゃないの
ただ100件程度なんてせいぜい数分でしょ
今までの時間に比べたらどっちでもいいんじゃないの
363デフォルトの名無しさん (スップ Sd7f-KKgq)
2022/12/12(月) 18:13:02.49ID:UCyWy/zwd ただそういうモノづくりをしてる自分からしたら
かりにある得意先の請求書のみ間違えていて修正したい場合①②どちらも最初から作り直すような感じに見えるけど
そうすると他の請求書にも影響あたえるような作りに見えるんだよね
なのでそういうのを作る場合は得意先コード的なものを最初に指定してその範囲の請求書を作る
かりに修正したい得意先があればそれだけを指定すればいいみたいな作りにするけどね
かりにある得意先の請求書のみ間違えていて修正したい場合①②どちらも最初から作り直すような感じに見えるけど
そうすると他の請求書にも影響あたえるような作りに見えるんだよね
なのでそういうのを作る場合は得意先コード的なものを最初に指定してその範囲の請求書を作る
かりに修正したい得意先があればそれだけを指定すればいいみたいな作りにするけどね
364デフォルトの名無しさん (アウアウエー Sa9f-arOL)
2022/12/12(月) 18:21:55.06ID:1yb84Oz2a365デフォルトの名無しさん (スップ Sd7f-KKgq)
2022/12/12(月) 18:35:02.38ID:UCyWy/zwd それならまずシートを100作るだけのコード書いて試せば済むことじゃないの?
よくわからないけど通常と指定可能な請求書作成が別のコードになってるんだとするとメンテのコストが2倍になるのかなと思わなくもないね
まあ他人の作るものだから余計なお世話だけどね
よくわからないけど通常と指定可能な請求書作成が別のコードになってるんだとするとメンテのコストが2倍になるのかなと思わなくもないね
まあ他人の作るものだから余計なお世話だけどね
366デフォルトの名無しさん (アウアウエー Sa9f-arOL)
2022/12/12(月) 18:40:55.92ID:1yb84Oz2a >>365
確かに自分で三通りの方法をテストしてみれば済む話なんですが、もしかして私が挙げた処理はよくあるパターンであって一般解が確立されているのかなと思い、質問させていただきました
確かに自分で三通りの方法をテストしてみれば済む話なんですが、もしかして私が挙げた処理はよくあるパターンであって一般解が確立されているのかなと思い、質問させていただきました
367デフォルトの名無しさん (ワッチョイ 273a-IK68)
2022/12/12(月) 20:57:08.22ID:Av/AuTTr0 たかが100回で差が出るわけ無いじゃんというレス付いてるだろ
それが一般解
それが一般解
368デフォルトの名無しさん (ワッチョイ dfc7-B8iQ)
2022/12/13(火) 08:18:42.44ID:j7P7/vOd0 >>348
If LCase(oFile.Name) Like LCase(TextBox1.Value)&"*.pdf" Then
この部分、頭にもアスタリスクをつけてみたら?
If LCase(oFile.Name) Like “*”&LCase(TextBox1.Value)&"*.pdf" Then
If LCase(oFile.Name) Like LCase(TextBox1.Value)&"*.pdf" Then
この部分、頭にもアスタリスクをつけてみたら?
If LCase(oFile.Name) Like “*”&LCase(TextBox1.Value)&"*.pdf" Then
369デフォルトの名無しさん (オッペケ Sr1b-OgJl)
2022/12/13(火) 09:09:12.15ID:EeVlUt2Pr 100回やって差なんか0.1秒もないだろ
その0.1秒を縮めるのに何分無駄にしてんだよ
どっちでもいいような事に無駄に時間を費やすのは無能のやることだぞ
その0.1秒を縮めるのに何分無駄にしてんだよ
どっちでもいいような事に無駄に時間を費やすのは無能のやることだぞ
370デフォルトの名無しさん (ワッチョイ df7c-qe51)
2022/12/13(火) 11:03:24.68ID:hJPKsYSy0 >>369
スレ読んで書き込むのに何分使ったの?
スレ読んで書き込むのに何分使ったの?
371デフォルトの名無しさん (JP 0Hcf-KKgq)
2022/12/13(火) 12:21:04.99ID:vd/+mp7xH リファクタリングの基準ってどれぐらい?
さすがに30分は当然なにかしらすると思うけど、
30秒ぐらいってどうするもんだろう。頑張って最適化するか、それとも待つか
さすがに30分は当然なにかしらすると思うけど、
30秒ぐらいってどうするもんだろう。頑張って最適化するか、それとも待つか
372デフォルトの名無しさん (ラクッペペ MM8f-IK68)
2022/12/13(火) 12:35:32.21ID:VHMxVebWM アンケート禁止にしないか?
集計できるほど人いないし
集計できるほど人いないし
373デフォルトの名無しさん (ワッチョイ 87ce-FUlb)
2022/12/13(火) 12:37:28.28ID:Z1nZTnw+0 >>371
賛否両論あって結論は出ていない
賛否両論あって結論は出ていない
374デフォルトの名無しさん (スップ Sd7f-KKgq)
2022/12/13(火) 15:11:59.28ID:hrptArbOd 自社の開発時のルールで決めてるんじゃないの?
適当ですとかならいい会社だね
単なるツールなら適当でいいんじゃない
適当ですとかならいい会社だね
単なるツールなら適当でいいんじゃない
375デフォルトの名無しさん (ワッチョイ df7c-qe51)
2022/12/13(火) 15:42:35.91ID:hJPKsYSy0 みんなプロなのか
私的に使ってる俺は処理が長いと感じたときとか、作って眺めたコードがクソ汚いかったときとかにする
私的に使ってる俺は処理が長いと感じたときとか、作って眺めたコードがクソ汚いかったときとかにする
376デフォルトの名無しさん (JP 0Hcf-KKgq)
2022/12/13(火) 18:38:15.19ID:vd/+mp7xH377デフォルトの名無しさん (ワッチョイ e7da-V/kh)
2022/12/13(火) 18:49:33.01ID:HC35XA+E0378デフォルトの名無しさん (ラクッペペ MM8f-IK68)
2022/12/14(水) 10:41:10.18ID:AqNC6do0M アンケート結果発表!
シラネーヨ 100%
シラネーヨ 100%
379デフォルトの名無しさん (ワッチョイ 6763-c6vA)
2022/12/14(水) 15:11:34.58ID:ntQYo9CS0 Excel VBAの本職ってなんだろう
380デフォルトの名無しさん (ワッチョイ 7fda-KKgq)
2022/12/14(水) 15:24:19.30ID:tcCDU8ws0 Excel VBAを「教える人」どまりかと
381デフォルトの名無しさん (ワッチョイ 472b-3TNT)
2022/12/14(水) 17:28:34.10ID:zpvPwogV0 ソートがうまくいきません。
今まで下のコードでちゃんとソートできていたのですが、別のブックで同じコードを使ってもソートしてくれません。
原因がわかる方いらしたら教えてください。
Call Range(Cells(i, 1), Cells(i, 6)).Sort(Cells(i, 1))
今まで下のコードでちゃんとソートできていたのですが、別のブックで同じコードを使ってもソートしてくれません。
原因がわかる方いらしたら教えてください。
Call Range(Cells(i, 1), Cells(i, 6)).Sort(Cells(i, 1))
382デフォルトの名無しさん (JP 0Hcf-KKgq)
2022/12/14(水) 19:02:52.74ID:DP6xyTlHH >>381
callで呼んでるのが変。むしろそんな書き方が出来るのか!と新しい発見レベル
sortの書き方が古い。2003以前とかの書き方だったような気がする
Sub aaa()
Range(Cells(2, 1), Cells(6, 2)).Sort Key1:=Cells(1, 1)
End Sub
https://learn.microsoft.com/ja-jp/office/vba/api/excel.range.sort
callで呼んでるのが変。むしろそんな書き方が出来るのか!と新しい発見レベル
sortの書き方が古い。2003以前とかの書き方だったような気がする
Sub aaa()
Range(Cells(2, 1), Cells(6, 2)).Sort Key1:=Cells(1, 1)
End Sub
https://learn.microsoft.com/ja-jp/office/vba/api/excel.range.sort
383デフォルトの名無しさん (スッップ Sdff-KKgq)
2022/12/14(水) 19:15:27.04ID:8W0NbET2d 戻り値が必要ない呼び出しするならcallでもいいでしょ
ただし引数指定する時にカッコでくくる必要がある
自分のところでもソートされない現象が再現するんだけど、なぜか一度ソートすると次回以降はソートされるようになるね
ちなみにこんな感じに修正すればソートされるようにならない?
Call Range(Cells(i, 1), Cells(i, 6)).Sort(key1:=Cells(i, 1), Orientation:=xlSortRows)
・「key1:=」をつける
・「, Orientation:=xlSortRows」をつける
ただし引数指定する時にカッコでくくる必要がある
自分のところでもソートされない現象が再現するんだけど、なぜか一度ソートすると次回以降はソートされるようになるね
ちなみにこんな感じに修正すればソートされるようにならない?
Call Range(Cells(i, 1), Cells(i, 6)).Sort(key1:=Cells(i, 1), Orientation:=xlSortRows)
・「key1:=」をつける
・「, Orientation:=xlSortRows」をつける
384デフォルトの名無しさん (ワッチョイ 472b-3TNT)
2022/12/14(水) 20:03:28.98ID:zpvPwogV0385デフォルトの名無しさん (ワッチョイ df01-0RkQ)
2022/12/14(水) 20:05:33.98ID:Q900W+A40 Let と Call は使わないなあ...
386デフォルトの名無しさん (アウアウウー Sa6b-V/kh)
2022/12/15(木) 08:41:16.03ID:iAaI5rJJa え?VBA本職の人がこのスレにいたような??
過去スレで見たような
過去スレで見たような
387デフォルトの名無しさん (ワッチョイ 7fda-UXa/)
2022/12/15(木) 12:16:56.32ID:xwhwlfZy0 質問者が本職では?
388デフォルトの名無しさん (ワッチョイ e7da-V/kh)
2022/12/15(木) 12:19:05.46ID:E+nMgP0Z0 そんな訳ないじゃん
本職が初級者みたいな質問するわけないし。
本職が初級者みたいな質問するわけないし。
389デフォルトの名無しさん (ワッチョイ 7fda-UXa/)
2022/12/15(木) 14:39:58.62ID:xwhwlfZy0 初心者でも本職っているだろ
390デフォルトの名無しさん (ワッチョイ 6763-c6vA)
2022/12/15(木) 17:34:15.89ID:psAmgpbl0 なんのお仕事をされているんですか
391デフォルトの名無しさん (ワッチョイ e7da-V/kh)
2022/12/15(木) 18:06:00.77ID:E+nMgP0Z0 引きこもり
392デフォルトの名無しさん (アウアウエー Sa9f-arOL)
2022/12/15(木) 18:08:25.94ID:zS2qEH43a ネット検索で出てきたコードを参考にして、あるシートから別のシートへ PageSetup オブジェクトのプロパティを引き継ぐ汎用コードを作ったのですが、 Application.printcommunication を触ると何故か処理がコケてしまいます
別のコード(プロパティの順番や数が違う)を試してみると Application.printcommunication = True のところで 1004 エラーが
調べてみると Application.printcommunication は法則性のないエラーを吐くことが多いらしいんですが、上手く安定して動作させる方法はないでしょうか
なお Application.printcommunication の操作を省くと重すぎて使い物になりません
別のコード(プロパティの順番や数が違う)を試してみると Application.printcommunication = True のところで 1004 エラーが
調べてみると Application.printcommunication は法則性のないエラーを吐くことが多いらしいんですが、上手く安定して動作させる方法はないでしょうか
なお Application.printcommunication の操作を省くと重すぎて使い物になりません
393デフォルトの名無しさん (ワッチョイ bf19-TX1J)
2022/12/15(木) 22:51:51.95ID:SZeJUdRk0 VBAが本職ではないけど
他言語を含めてプログラマーってことなら
意外と本職の人いそう
他言語を含めてプログラマーってことなら
意外と本職の人いそう
394デフォルトの名無しさん (ワッチョイ 7fda-3TNT)
2022/12/16(金) 03:10:13.03ID:43IDYg4Z0 本職の定義が不明
395デフォルトの名無しさん (アウアウウー Sa6b-0RkQ)
2022/12/16(金) 06:44:51.24ID:lvCG6MuKa VBA で金貰ってる(=給料の一部)と言うだけならかなり多くの会社員が該当しそう
396デフォルトの名無しさん (ワッチョイ 7fda-KKgq)
2022/12/16(金) 07:34:05.36ID:KlD5oueT0 VBAだけで生計を立てている、としたら・・・?
397デフォルトの名無しさん (ワッチョイ 47da-u86g)
2022/12/16(金) 07:47:34.39ID:nXqIC3mr0 >>392
解決方法じゃなくてすまんけど。
trueを設定してこけるということはその前にfalseを設定してるのだと思うけど、
falseとtrueの間の処理でなんの設定を変更するとこけるのかを地道に探し出すしかないような気がする。
プリンタ関係だとページ設定あたりかと思うけど思わぬところが影響してることもあるし、プリンタ環境は千差万別だしね。
解決方法じゃなくてすまんけど。
trueを設定してこけるということはその前にfalseを設定してるのだと思うけど、
falseとtrueの間の処理でなんの設定を変更するとこけるのかを地道に探し出すしかないような気がする。
プリンタ関係だとページ設定あたりかと思うけど思わぬところが影響してることもあるし、プリンタ環境は千差万別だしね。
398デフォルトの名無しさん (ワッチョイ 4fda-ZR1D)
2022/12/17(土) 11:54:26.33ID:RQDgBjgc0 >>392
こんなブログ見つけたけどこれがほんとなら確かにクセつよ
https://ubuntu84.blogspot.com/2014/12/excelvba-pagesetup-printcomminucateion.html
こんなブログ見つけたけどこれがほんとなら確かにクセつよ
https://ubuntu84.blogspot.com/2014/12/excelvba-pagesetup-printcomminucateion.html
399デフォルトの名無しさん (スッップ Sd8a-e5AJ)
2022/12/17(土) 13:51:53.17ID:MTNASajBd400デフォルトの名無しさん (ワッチョイ 6a2f-8Cre)
2022/12/17(土) 14:34:09.55ID:rC46nFCS0 >>392,398
ちょっと気になって試したけど、それ、ほんとは
.Zoom = False の行でエラーになってるな
ステップ実行させてみればそこでちゃんとエラーになるんだが
普通に実行させるとそこでそのエラーが発生しないで、
PrintCommunicationで予期せぬエラーとなってるんじゃないか
(うちの環境では順番入れ替えて同じだった)
VBAのバグっぽいしマイクロソフトに問い合わせるのがよさげだが
一度ステップ実行で1行ずつ試してみれば?
ちょっと気になって試したけど、それ、ほんとは
.Zoom = False の行でエラーになってるな
ステップ実行させてみればそこでちゃんとエラーになるんだが
普通に実行させるとそこでそのエラーが発生しないで、
PrintCommunicationで予期せぬエラーとなってるんじゃないか
(うちの環境では順番入れ替えて同じだった)
VBAのバグっぽいしマイクロソフトに問い合わせるのがよさげだが
一度ステップ実行で1行ずつ試してみれば?
401デフォルトの名無しさん (スッップ Sd8a-e5AJ)
2022/12/17(土) 14:46:45.42ID:MTNASajBd そのブログのコードは拡大縮小の部分についてみたいだけど
通常であれば有効にする動作を書くようなコードが必要なのに無効にするようなコードを書くから
当該エラーがでてるような感じにも見えるけどね
実際にエラーになる「.Zoom = False」を「.Zoom = 150」の様に修正するとエラーはでなくなるから
そういう書き方を心掛けないとだめなんじゃないかと思うわ
なので自分としては実際に設定したいページレイアウトをマクロの記録で取得してみたらといっている
通常であれば有効にする動作を書くようなコードが必要なのに無効にするようなコードを書くから
当該エラーがでてるような感じにも見えるけどね
実際にエラーになる「.Zoom = False」を「.Zoom = 150」の様に修正するとエラーはでなくなるから
そういう書き方を心掛けないとだめなんじゃないかと思うわ
なので自分としては実際に設定したいページレイアウトをマクロの記録で取得してみたらといっている
402デフォルトの名無しさん (ワッチョイ 4fda-ZR1D)
2022/12/17(土) 14:59:41.69ID:RQDgBjgc0 >>400
なるほど。
そうなると.PrintCommunicationが認識出来ないプロパティがいくつかあるのかもしれないね。
ステップだとその時々で確認しにいくけど走らせるとPrintCommunication=trueで一括設定しようとするからそこでエラーって感じかな?
1004エラーってコードに不備があるときに出る印象があったから個人的に納得。
なんか参考になった。試してくれてありがと。
いや質問者じゃないんだけどw
なるほど。
そうなると.PrintCommunicationが認識出来ないプロパティがいくつかあるのかもしれないね。
ステップだとその時々で確認しにいくけど走らせるとPrintCommunication=trueで一括設定しようとするからそこでエラーって感じかな?
1004エラーってコードに不備があるときに出る印象があったから個人的に納得。
なんか参考になった。試してくれてありがと。
いや質問者じゃないんだけどw
403デフォルトの名無しさん (ワッチョイ 4fda-ZR1D)
2022/12/17(土) 15:03:53.79ID:RQDgBjgc0404デフォルトの名無しさん (ワッチョイ 6a91-Ihjc)
2022/12/18(日) 18:40:43.65ID:EVD3BPiK0 A1の数字が10以上で、B1の文字がたた、なな、はは、まま、やや、ららが含まれている場合に、D1にプレゼントと書きたいんですけど、どういうvbaか教えて頂きたいです。
B1の候補が50個以上あって、COUNTIFとかで全部入れるのが大変なんです…
A列B列には、それぞれ100行くらいあります。
B1の候補が50個以上あって、COUNTIFとかで全部入れるのが大変なんです…
A列B列には、それぞれ100行くらいあります。
405デフォルトの名無しさん (スッップ Sd8a-g3+u)
2022/12/18(日) 18:47:30.46ID:dVPwMTg0d 馬鹿って仕様すらまともに書けないから馬鹿なんだよな
406デフォルトの名無しさん (アウアウウー Sa9f-ytDT)
2022/12/18(日) 18:50:14.49ID:aFtf8S9Da その候補を別のシートに並べればワークシート関数で一発では
407デフォルトの名無しさん (ワッチョイ 377d-VwZX)
2022/12/18(日) 20:52:35.12ID:ik+0WLv80 特定のフォルダにある一番新しいファイルを
開いて、内容をクリップボードにコピーした
いのですが、どう書いたらいいですか?
その後DBアプリで処理する流れです。
開いて、内容をクリップボードにコピーした
いのですが、どう書いたらいいですか?
その後DBアプリで処理する流れです。
408デフォルトの名無しさん (スッップ Sd8a-g3+u)
2022/12/18(日) 21:23:56.35ID:dVPwMTg0d ファイルをそのまま変換してdbに読み込ませればいいだろ
馬鹿って仕様すらまともに考えられないから馬鹿なんだよな
馬鹿って仕様すらまともに考えられないから馬鹿なんだよな
409デフォルトの名無しさん (JP 0H96-ZR1D)
2022/12/18(日) 21:31:13.42ID:WS1FCRK3H >>408
それってあなたの思い込みですよね
それってあなたの思い込みですよね
410デフォルトの名無しさん (JP 0H96-ZR1D)
2022/12/18(日) 21:32:30.15ID:WS1FCRK3H バカっていう方も悪いけど、それに対して韓国人呼ばわりはさすがにひどすぎると思う
いくら何でも言いすぎだろ
いくら何でも言いすぎだろ
411デフォルトの名無しさん (ワッチョイ 6a01-6ae9)
2022/12/18(日) 21:51:13.95ID:ciqdCn4z0 >>407
動かしてないからタイポとかあるかも
Dim FS As Object
Set FS = CreateObject("Scripting.FileSystemObject")
Dim Newest As Object
Set Newest = Nothing
Dim File As Object
For Each File In FS.GetFolder("特定のフォルダ").Files
If Newest Is Nothing Then
Set Newest = File
ElseIf Newest.DateLastModified < File.DateLastModified Then
Set Newest = File
End If
Next
Dim S As Object
Set S = Newest.OpenAsTextStream(1, -2)
With CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
.SetText S.ReadAll
.PutInClipboard
End With
S.Close
Bug: ファイルが存在しない時はエラーになります
Bug: 一番新しいファイルが複数あるとどれが開かれるかはわからない
動かしてないからタイポとかあるかも
Dim FS As Object
Set FS = CreateObject("Scripting.FileSystemObject")
Dim Newest As Object
Set Newest = Nothing
Dim File As Object
For Each File In FS.GetFolder("特定のフォルダ").Files
If Newest Is Nothing Then
Set Newest = File
ElseIf Newest.DateLastModified < File.DateLastModified Then
Set Newest = File
End If
Next
Dim S As Object
Set S = Newest.OpenAsTextStream(1, -2)
With CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
.SetText S.ReadAll
.PutInClipboard
End With
S.Close
Bug: ファイルが存在しない時はエラーになります
Bug: 一番新しいファイルが複数あるとどれが開かれるかはわからない
412デフォルトの名無しさん (ワッチョイ c3da-3IAs)
2022/12/19(月) 01:57:07.11ID:6OeO29Qx0 お前らすぐバカバカって言うけど、人を見下せるほど大した人間なのか?
413デフォルトの名無しさん (ブーイモ MMe6-DiWi)
2022/12/19(月) 02:08:16.14ID:m5eY3pz4M スキルと人間性は別なんだなあ
優秀な人間の性格がひどいとか割とよくある話
競争社会では他人を蹴落とさないと上に行けないし
優秀な人間の性格がひどいとか割とよくある話
競争社会では他人を蹴落とさないと上に行けないし
414デフォルトの名無しさん (ブーイモ MMbf-Zanp)
2022/12/19(月) 08:20:47.46ID:RL7A/3g/M415デフォルトの名無しさん (オッペケ Srb3-QolP)
2022/12/19(月) 08:58:43.85ID:UIs1Ip/rr 人間性よかったらこんなとこいないで普通の生活で満ち足りるやろしな
416デフォルトの名無しさん (スッップ Sd8a-g3+u)
2022/12/19(月) 13:01:38.97ID:mXgw/9zbd 他人に馬鹿と指摘するのは事実だから仕方ない
本当のことを指摘されて何が問題なのか
己が馬鹿と指摘されると怒るのは本物の馬鹿
本当のことを指摘されて何が問題なのか
己が馬鹿と指摘されると怒るのは本物の馬鹿
417デフォルトの名無しさん (ワッチョイ ea42-BqiG)
2022/12/19(月) 13:15:44.25ID:eiDZy5960 まさに馬鹿の理屈
418デフォルトの名無しさん (ワッチョイ c3da-3IAs)
2022/12/19(月) 15:06:14.17ID:6OeO29Qx0 本当の事だから言っているだけ
はいはい、そういう理屈ね?
もし逆の立場だったら不快な気分にならないのかな??
はいはい、そういう理屈ね?
もし逆の立場だったら不快な気分にならないのかな??
419デフォルトの名無しさん (スッップ Sd8a-g3+u)
2022/12/19(月) 16:42:50.56ID:mXgw/9zbd ならないよ?俺は馬鹿だもの
420デフォルトの名無しさん (ワッチョイ c3da-3IAs)
2022/12/19(月) 16:51:32.03ID:6OeO29Qx0 ~終了~
421デフォルトの名無しさん (ワッチョイ 1f5f-JDfe)
2022/12/19(月) 16:56:24.98ID:4PT5wSnn0 いまさらなんだが・・・
もしかして、件数がそれなりにあるエクセル処理の場合、VBAでDictionary処理できるやつは、いちどDictionaryにデータ格納してから処理したほうが圧倒的に速い?
もしかして、件数がそれなりにあるエクセル処理の場合、VBAでDictionary処理できるやつは、いちどDictionaryにデータ格納してから処理したほうが圧倒的に速い?
422デフォルトの名無しさん (アウアウウー Sa9f-ytDT)
2022/12/19(月) 17:25:10.73ID:1gqjjPgXa 何をやるかによるだろう
前から順に処理するだけならDictionaryへの格納は余計なオーバーヘッドでしかなく、確実に遅くなる
前から順に処理するだけならDictionaryへの格納は余計なオーバーヘッドでしかなく、確実に遅くなる
423デフォルトの名無しさん (ワッチョイ 7eda-pE1b)
2022/12/19(月) 18:11:27.44ID:Q9Z7wkA40 質問投げて回答待つほうが圧倒的に遅い
424デフォルトの名無しさん (ブーイモ MMe6-DiWi)
2022/12/19(月) 18:16:20.09ID:b6fxVMaNM 回答が付くまでの間は別の作業をしてるんだよ
トータルの作業時間は丸投げのが短い
トータルの作業時間は丸投げのが短い
425デフォルトの名無しさん (ブーイモ MMcb-Zanp)
2022/12/19(月) 18:36:14.21ID:7Pox60+BM >>424
俺たちは箱の中の小人さんかよ
俺たちは箱の中の小人さんかよ
426デフォルトの名無しさん (ワッチョイ 7eda-JDfe)
2022/12/19(月) 18:50:28.09ID:Q9Z7wkA40 >>424
それなら処理が遅くても別の作業してればいい
それなら処理が遅くても別の作業してればいい
427デフォルトの名無しさん (アウアウウー Sa9f-3IAs)
2022/12/19(月) 22:06:24.01ID:Dg3+0nUYa 処理遅かったらマクロの意味ないじゃん
428デフォルトの名無しさん (アウアウエー Sae2-D+GZ)
2022/12/19(月) 23:02:14.70ID:U+dm2FUka 俺はdictionaryが好きでよく使うなあ
「ソートキーを格納したdictionaryを受け取って任意のシートをソートするコード」とか、「キーワードを格納したdictionaryを受け取って任意の配列からそのワード以外の要素を取り除くコード」とか、そういう汎用モジュールを作りまくってる
「その引数、配列でよくね?」って自分でも思うのだけれど、なんとなくdictionaryにしちゃう
「ソートキーを格納したdictionaryを受け取って任意のシートをソートするコード」とか、「キーワードを格納したdictionaryを受け取って任意の配列からそのワード以外の要素を取り除くコード」とか、そういう汎用モジュールを作りまくってる
「その引数、配列でよくね?」って自分でも思うのだけれど、なんとなくdictionaryにしちゃう
429デフォルトの名無しさん (ワッチョイ ea7c-Zanp)
2022/12/20(火) 00:27:32.59ID:12sT8XrZ0 >>428
それって文字列をオブジェクトに変換するとかできるの?
それって文字列をオブジェクトに変換するとかできるの?
430デフォルトの名無しさん (ラクッペペ MMe6-974H)
2022/12/20(火) 03:27:40.96ID:TyME3A0jM ソートならキーの順番は大事だろ
もしかして
1:いち、2:にい、3:さん
みたいなヤバイことしてるの?
もしかして
1:いち、2:にい、3:さん
みたいなヤバイことしてるの?
431デフォルトの名無しさん (アウアウウー Sa9f-3IAs)
2022/12/20(火) 08:00:11.66ID:y6kIFm2Ha そんな事は流石にしないだろう
432デフォルトの名無しさん (ワッチョイ e619-tZgX)
2022/12/20(火) 08:51:53.19ID:7Yt8rmHX0433デフォルトの名無しさん (スップ Sd8a-ytDT)
2022/12/20(火) 10:16:39.88ID:paaoChG1d VBAで意識高い系マウンティングは流石に草
434デフォルトの名無しさん (アウアウウー Sa9f-6ae9)
2022/12/20(火) 12:08:52.82ID:H/EitvuYa >>431
で、どうやってキーの順序保証してるの?
で、どうやってキーの順序保証してるの?
435デフォルトの名無しさん (アウアウウー Sa9f-A+LM)
2022/12/20(火) 13:00:22.05ID:EWiE8iETa 8万行×100列(うち、実際に使用するのは15列程度)のデータを
集計表に沿って集計しようとしてるんだけど君らならどういう手法使う?
集計の行は不定で列は日付とし、エラーは別シートに抽出する
データを配列格納してfor nextで回したらすげー時間かかったわ
大人しくピボット作った方がいい?
集計表に沿って集計しようとしてるんだけど君らならどういう手法使う?
集計の行は不定で列は日付とし、エラーは別シートに抽出する
データを配列格納してfor nextで回したらすげー時間かかったわ
大人しくピボット作った方がいい?
436デフォルトの名無しさん (JP 0H96-ZR1D)
2022/12/20(火) 13:06:53.84ID:qCWJzpQcH437デフォルトの名無しさん (アウアウウー Sa9f-ytDT)
2022/12/20(火) 13:08:52.62ID:nk5JqEoYa CSVで出力してPython あたりで
438デフォルトの名無しさん (JP 0H96-ZR1D)
2022/12/20(火) 13:23:47.04ID:qCWJzpQcH なんでcsvにしてpythonに投げるんだよw
439デフォルトの名無しさん (アウアウウー Sa9f-A+LM)
2022/12/20(火) 13:27:22.78ID:EWiE8iETa440デフォルトの名無しさん (JP 0H96-ZR1D)
2022/12/20(火) 14:09:44.13ID:qCWJzpQcH441デフォルトの名無しさん (アウアウウー Sa9f-A+LM)
2022/12/20(火) 14:31:05.94ID:EWiE8iETa442デフォルトの名無しさん (JP 0H96-ZR1D)
2022/12/20(火) 15:06:56.96ID:qCWJzpQcH443デフォルトの名無しさん (アウアウウー Sa9f-A+LM)
2022/12/20(火) 15:38:38.78ID:EWiE8iETa444デフォルトの名無しさん (スッププ Sd8a-e5AJ)
2022/12/20(火) 16:29:18.40ID:zXdo+CJId そもそも行と列しか情報もらってなくて
エラーになる条件もどんな集計してるかの情報もないんじゃ回答しにくいと思わないかね
エラーになる条件もどんな集計してるかの情報もないんじゃ回答しにくいと思わないかね
445デフォルトの名無しさん (JP 0H96-ZR1D)
2022/12/20(火) 16:32:45.59ID:qCWJzpQcH 回答しにくいとかどうでも良くね
しっかりとした質問ならまともな回答が得られるし、
曖昧な質問なら抽象的な回答になる
それだけの事だよ
しっかりとした質問ならまともな回答が得られるし、
曖昧な質問なら抽象的な回答になる
それだけの事だよ
446デフォルトの名無しさん (ラクッペペ MMe6-974H)
2022/12/20(火) 16:49:02.05ID:GEZLb65NM 数時間コースのマクロ走ってるの知らなくてブラウザでコピペしたらデータぶっ壊れて怒られた思い出
447デフォルトの名無しさん (アウアウウー Sa9f-A+LM)
2022/12/20(火) 17:04:37.21ID:EWiE8iETa 確かに質問内容としては抽象的過ぎたね。
申し訳ない
でも俺としては十分な回答だった
取り敢えずVBAのピボットを練習するわ
ちなみにエラーってのは既定の集計表(マスター)から漏れたデータってことね。
申し訳ない
でも俺としては十分な回答だった
取り敢えずVBAのピボットを練習するわ
ちなみにエラーってのは既定の集計表(マスター)から漏れたデータってことね。
448デフォルトの名無しさん (ワッチョイ 6a2f-8Cre)
2022/12/20(火) 20:01:55.55ID:H8HUrzHL0 いまどき8万行15列程度でスゲー時間かかるとは思えんが
まあ俺なら素直にDBつかうけどな
まあ俺なら素直にDBつかうけどな
449デフォルトの名無しさん (ワッチョイ 4fda-ZR1D)
2022/12/20(火) 21:40:21.98ID:0qEHdpxk0 >>435
WorksheetfunctionからCountifで存在確認。
Matchで行番号取得。
Rangeを変更しながらループしてすべての行番号を蓄積。
速いかどうかはわからんけど8万行走査するよりは工程は短い気がする。
WorksheetfunctionからCountifで存在確認。
Matchで行番号取得。
Rangeを変更しながらループしてすべての行番号を蓄積。
速いかどうかはわからんけど8万行走査するよりは工程は短い気がする。
450デフォルトの名無しさん (ワッチョイ e619-tZgX)
2022/12/20(火) 21:59:31.44ID:7Yt8rmHX0451デフォルトの名無しさん (オッペケ Srb3-iJiy)
2022/12/21(水) 19:10:54.88ID:02wHfQMcr 8万行100列をセルだけで処理しようとしたら凄く時間かかるのわかるけど、配列にいれて処理したらそんなにかかるか?
それこそDictionaryで集計して結果だけ貼り付ければ充分だと思うんだが
それこそDictionaryで集計して結果だけ貼り付ければ充分だと思うんだが
452デフォルトの名無しさん (ワッチョイ 7eda-JDfe)
2022/12/21(水) 19:53:43.42ID:UD/g9Fdg0 いまだにXPとか使っててマクロが遅いとか言われてもね
453デフォルトの名無しさん (ワッチョイ 0f2f-8Cre)
2022/12/21(水) 21:05:37.19ID:dQUtHKIl0 同じスペックならXPのほうが10より早いけどな
454デフォルトの名無しさん (ワッチョイ ea90-ZR1D)
2022/12/21(水) 21:46:19.74ID:muf0Z7I50 VBAが就活で必要になりそうなんだが、みんなはどうやって勉強してるか教えて欲しい
おすすめの本とかyoutubeとか学習サイトとか
pythonとSQLはちょっとわかる
MOSのエキスパートレベルまでの知識はある
VBAってある程度までいくと、具体的なデータがないと学習しにくいよね
あちこちのシートの何千行のデータを連結、とか
理屈ではわかってても実際のデータ使わんと本当にちゃんと動くかわからんし
おすすめの本とかyoutubeとか学習サイトとか
pythonとSQLはちょっとわかる
MOSのエキスパートレベルまでの知識はある
VBAってある程度までいくと、具体的なデータがないと学習しにくいよね
あちこちのシートの何千行のデータを連結、とか
理屈ではわかってても実際のデータ使わんと本当にちゃんと動くかわからんし
455デフォルトの名無しさん (アウアウウー Sa9f-3IAs)
2022/12/21(水) 22:32:45.75ID:7hKToO5Ta456デフォルトの名無しさん (ワッチョイ 37ce-DiWi)
2022/12/21(水) 22:51:14.09ID:V+NyQzdG0 自分で一から全部書いたりしない
ネット検索してコピペ、ただし完コピじゃなくてちょっと手直しはする
それでだいたいのことはできる
ネット検索してコピペ、ただし完コピじゃなくてちょっと手直しはする
それでだいたいのことはできる
457デフォルトの名無しさん (ワッチョイ 1f5f-US6j)
2022/12/21(水) 23:02:51.38ID:YheyKj3W0 今ならchatGPTにでも聞いてみたら出てきそうw
458デフォルトの名無しさん (JP 0H96-ZR1D)
2022/12/21(水) 23:24:29.01ID:S+DchzVEH https://i.imgur.com/6KBuC1X.png
マジかよ・・・
マジかよ・・・
459デフォルトの名無しさん (ワッチョイ a301-iJiy)
2022/12/22(木) 01:11:20.11ID:ZPlCt5hk0 >>454
ググればvba100本ノックって出てくるからそれやればいいんじゃない?
ググればvba100本ノックって出てくるからそれやればいいんじゃない?
460デフォルトの名無しさん (ブーイモ MM8a-A5cf)
2022/12/22(木) 01:27:48.52ID:7bAQ/DuzM461デフォルトの名無しさん (アウアウウー Sa9f-3IAs)
2022/12/22(木) 03:47:51.66ID:gJnKHw8ea でもな、ネットの無い時代なんてそれこそイチから手探り状態で書いてきたんでしょ??
コピペよりそういった苦労重ねた方が身に付くのでは?
コピペよりそういった苦労重ねた方が身に付くのでは?
462デフォルトの名無しさん (ワッチョイ ea90-YpVp)
2022/12/22(木) 06:31:04.10ID:VSY8vUs50463デフォルトの名無しさん (ワッチョイ ea42-BqiG)
2022/12/22(木) 07:04:53.76ID:bPJoPsOK0 >>461
VBAに限らず苦労しないとダメってのは時代遅れなんだとさ
VBAに限らず苦労しないとダメってのは時代遅れなんだとさ
464デフォルトの名無しさん (ワッチョイ 4fda-ZR1D)
2022/12/22(木) 07:18:24.23ID:U22vDUep0465デフォルトの名無しさん (ワッチョイ 4fda-ZR1D)
2022/12/22(木) 07:22:19.76ID:U22vDUep0 >>462
基本VBEで書いてる。最終的にはExcelのモジュールやクラスに入ってなきゃいけないもんだし。
ただ複雑になってよく判らなくなったり他人のコードを解析したいときなんかはVScodeに張り付けて読んだりもする。
基本VBEで書いてる。最終的にはExcelのモジュールやクラスに入ってなきゃいけないもんだし。
ただ複雑になってよく判らなくなったり他人のコードを解析したいときなんかはVScodeに張り付けて読んだりもする。
466デフォルトの名無しさん (ワッチョイ e619-tZgX)
2022/12/22(木) 08:27:50.14ID:vkTy/rgK0 >>462
EXCELVBAのVSCodeのなんてあるのか
まぁでもEXCELってRangeとかセル位置、
名前定義とかシート見ながらちょくちょく
走らせて確認する場合が多いから
EXCELに付いているVBエディタで
ブレイクポイント掛けてトレースしていく方が
EXCEL単体の作業せあれば楽だと思うけどね
.Net絡みだってUI絡みなら
VS Codeより使えるならVSCoreの方が楽でしょ?
EXCELVBAのVSCodeのなんてあるのか
まぁでもEXCELってRangeとかセル位置、
名前定義とかシート見ながらちょくちょく
走らせて確認する場合が多いから
EXCELに付いているVBエディタで
ブレイクポイント掛けてトレースしていく方が
EXCEL単体の作業せあれば楽だと思うけどね
.Net絡みだってUI絡みなら
VS Codeより使えるならVSCoreの方が楽でしょ?
467デフォルトの名無しさん (オッペケ Srb3-iJiy)
2022/12/22(木) 08:34:31.20ID:vj5ZHJuLr >>463
苦労しないとダメとは思わないけど、やっぱ自分で書いて実行しながら作ってった方が覚えるからあんまりネットからのコピペはしないな
苦労しないとダメとは思わないけど、やっぱ自分で書いて実行しながら作ってった方が覚えるからあんまりネットからのコピペはしないな
468デフォルトの名無しさん (ラクッペペ MMe6-974H)
2022/12/22(木) 09:07:55.33ID:GhJnH83bM まずはVBの構文からだね
Subに()つけるだけでエラーになるからビビる
次はExcelの巨大なクラスライブラリ
Applicationから始まるオブジェクトツリーにアクセスできればExcelとのI/Oは完璧だ
コピペイヤーが理解していないのはデフォルトプロパティ
いろいろ省略出来て便利なのだがハマることになるだろう
やりたいことはマクロの記録ですぐ分かる
ワークシート関数まで使うのが理想なので最終的には「Excelの使い方」が一番難しい
Subに()つけるだけでエラーになるからビビる
次はExcelの巨大なクラスライブラリ
Applicationから始まるオブジェクトツリーにアクセスできればExcelとのI/Oは完璧だ
コピペイヤーが理解していないのはデフォルトプロパティ
いろいろ省略出来て便利なのだがハマることになるだろう
やりたいことはマクロの記録ですぐ分かる
ワークシート関数まで使うのが理想なので最終的には「Excelの使い方」が一番難しい
469デフォルトの名無しさん (ワッチョイ 37ce-DiWi)
2022/12/22(木) 10:13:12.73ID:YMkZN6Dm0 ネットがない時代は苦労したって言うけどさ、その「苦労」って結局は正解を手に入れるまでの「時間が長かった」ってだけのことなんだよね
わからないことがあると図書館か本屋へ行って立ち読み、それの繰り返し
ぐぐりまくるのとやってることは同じ
わからないことがあると図書館か本屋へ行って立ち読み、それの繰り返し
ぐぐりまくるのとやってることは同じ
470デフォルトの名無しさん (JP 0H96-ZR1D)
2022/12/22(木) 13:55:10.49ID:llMY0dtCH いや、購入した本が間違ってる場合もあったんだよ
今なら複数のサイト比較して一番いいコードを参考にするって出来たけど、
当時は変な本に当たるとどうしようもなかった
良い本かどうかの判定も難しかった
今なら複数のサイト比較して一番いいコードを参考にするって出来たけど、
当時は変な本に当たるとどうしようもなかった
良い本かどうかの判定も難しかった
471デフォルトの名無しさん (ワッチョイ 37ce-DiWi)
2022/12/22(木) 14:10:57.81ID:YMkZN6Dm0472デフォルトの名無しさん (ワッチョイ 9710-3IAs)
2022/12/22(木) 16:47:07.71ID:lq0Ds6x10 でもさ、初期にExcelの指南本書いていた人達はどこで知識を身につけたのだろうか??
それこそ何も情報が無い時代なはず…
それこそ何も情報が無い時代なはず…
473デフォルトの名無しさん (ワッチョイ 6ada-DiWi)
2022/12/22(木) 17:00:36.54ID:nD0nOW6q0 いちばん最初は、分厚い説明書付いてきた 足りなければmicrosoftのFaxへ電話して
欲しい情報の番号押せばダラダラと何十枚ものFAX資料として引っぱり出せた
金有る奴は説明書の最後のページにある有料版の冊子を取り寄せてた ヘルプが充実してきてそれらは廃れた
欲しい情報の番号押せばダラダラと何十枚ものFAX資料として引っぱり出せた
金有る奴は説明書の最後のページにある有料版の冊子を取り寄せてた ヘルプが充実してきてそれらは廃れた
474デフォルトの名無しさん (ワッチョイ 37ce-DiWi)
2022/12/22(木) 17:16:41.62ID:YMkZN6Dm0475デフォルトの名無しさん (ワッチョイ 6a01-6ae9)
2022/12/22(木) 19:04:05.80ID:dL3lthyL0476デフォルトの名無しさん (スッップ Sd8a-g3+u)
2022/12/22(木) 19:55:30.36ID:b1U2eBw5d477デフォルトの名無しさん (ワッチョイ 9710-3IAs)
2022/12/22(木) 20:17:52.60ID:lq0Ds6x10478デフォルトの名無しさん (アウアウウー Sa9f-A+LM)
2022/12/22(木) 20:53:21.34ID:zxeRX39Sa >>475
え?クラスモジュールでデフォルトプロパティ設定できるの?
え?クラスモジュールでデフォルトプロパティ設定できるの?
479デフォルトの名無しさん (スッップ Sd8a-g3+u)
2022/12/22(木) 20:57:06.81ID:b1U2eBw5d480デフォルトの名無しさん (JP 0H96-ZR1D)
2022/12/22(木) 21:07:40.03ID:llMY0dtCH >>471
だからネットなら比較簡単って言ってるじゃん
最初に見つけた解決法でハイ終わり!って小学生かいな
>>478
気にしたこと無かったけど、凄い方法で実現できるようだ
https://thom.hateblo.jp/entry/2015/02/16/003000
エクスポート、インポートでやっと実現するとか面白いコーディングだ
だからネットなら比較簡単って言ってるじゃん
最初に見つけた解決法でハイ終わり!って小学生かいな
>>478
気にしたこと無かったけど、凄い方法で実現できるようだ
https://thom.hateblo.jp/entry/2015/02/16/003000
エクスポート、インポートでやっと実現するとか面白いコーディングだ
481デフォルトの名無しさん (ワッチョイ 6a01-6ae9)
2022/12/22(木) 21:15:05.86ID:dL3lthyL0 >>478
ちょっとトリッキーだしMSが保証してるかどうかがわからんから例としては良くないって書いたけど
VBA クラス デフォルトプロパティ
でググれば出てくるよ
https://thom.hateblo.jp/entry/2015/02/16/003000
こんなのどうやって見つけたんだろう...
ちょっとトリッキーだしMSが保証してるかどうかがわからんから例としては良くないって書いたけど
VBA クラス デフォルトプロパティ
でググれば出てくるよ
https://thom.hateblo.jp/entry/2015/02/16/003000
こんなのどうやって見つけたんだろう...
482デフォルトの名無しさん (アウアウウー Sa9f-A+LM)
2022/12/22(木) 21:15:50.72ID:zxeRX39Sa483デフォルトの名無しさん (ワッチョイ ea90-YpVp)
2022/12/22(木) 21:53:51.19ID:VSY8vUs50 Range(Cells(7, 1), Cells(7, 3)) = "一括入力"
Range(Range("A7"), Range("C7")) = "一括入力"
Range(Cells(7, 1), Range("C7")) = "一括入力"
Range(Range("A7"), Cells(7, 3)) = "一括入力"
結局セルの指定方法のひょうじゅんってどれなの?
Range(Range("A7"), Range("C7")) = "一括入力"
Range(Cells(7, 1), Range("C7")) = "一括入力"
Range(Range("A7"), Cells(7, 3)) = "一括入力"
結局セルの指定方法のひょうじゅんってどれなの?
484デフォルトの名無しさん (ワッチョイ 9710-3IAs)
2022/12/22(木) 22:20:04.73ID:lq0Ds6x10485デフォルトの名無しさん (ワッチョイ 6a01-6ae9)
2022/12/22(木) 22:31:11.78ID:dL3lthyL0 >>483
範囲が固定なら
Range("A7:C7") = "一括入力"
可変なら
Range(Cells(R1, "A"), Cells(R2, "C")) = "一括入力" ' 行可変
Range(Cells(7, C1), Cells(7, C2)) = "一括入力" ' 列可変
Range(Cells(R1, C1), Cells(R2, C2)) = "一括入力" ' 両方可変
かな
まあ他にもReSize( )使ったりケースバイケースかと
範囲が固定なら
Range("A7:C7") = "一括入力"
可変なら
Range(Cells(R1, "A"), Cells(R2, "C")) = "一括入力" ' 行可変
Range(Cells(7, C1), Cells(7, C2)) = "一括入力" ' 列可変
Range(Cells(R1, C1), Cells(R2, C2)) = "一括入力" ' 両方可変
かな
まあ他にもReSize( )使ったりケースバイケースかと
486デフォルトの名無しさん (ワッチョイ 1f5f-0iws)
2022/12/22(木) 22:33:05.06ID:GH82dNkB0 >>483
列の範囲だけだったらResizeかな
列の範囲だけだったらResizeかな
487デフォルトの名無しさん (JP 0H96-ZR1D)
2022/12/22(木) 23:10:32.55ID:llMY0dtCH488デフォルトの名無しさん (ワッチョイ 268c-Q+2S)
2022/12/23(金) 00:01:20.20ID:ybGAYlyS0489デフォルトの名無しさん (アウアウウー Sa9f-3IAs)
2022/12/23(金) 00:11:39.80ID:qKiD8YiAa いつものかまってちゃんを相手するなよ。
スルースキルも身に付けろ
スルースキルも身に付けろ
490デフォルトの名無しさん (ワッチョイ 9710-3IAs)
2022/12/23(金) 00:17:53.03ID:cgp6NnPO0491デフォルトの名無しさん (スッップ Sd8a-g3+u)
2022/12/23(金) 01:52:37.99ID:9H6cWVdzd >>490
馬鹿だと事実を指摘されて悔しい馬鹿
馬鹿だと事実を指摘されて悔しい馬鹿
492デフォルトの名無しさん (ワッチョイ a301-iJiy)
2022/12/23(金) 03:09:02.33ID:QA4NKpfz0 単なる雑談に噛み付いて謎のマウント取りはじめるとかキチガイだろ
そんなやつに触れるなよ
無視が一番
そんなやつに触れるなよ
無視が一番
493デフォルトの名無しさん (ブーイモ MMd6-Zanp)
2022/12/23(金) 08:29:10.87ID:jHuJUdY9M NG推奨:Sd8a-g3+u
494デフォルトの名無しさん (スッップ Sd8a-zw/P)
2022/12/23(金) 11:57:56.55ID:UPL2DLzJd 別ファイルの複数シート(日付ごと)の特定の値を日付ごとにとってきたい場合ってどうしたらいいんでしょうか
495デフォルトの名無しさん (スッップ Sd8a-e5AJ)
2022/12/23(金) 12:02:19.94ID:qgR3sDVKd 自分で書いてる通りのコードを書けばいいんじゃね
試しに書いてこれでいいですか?ってきいてみようぜ
試しに書いてこれでいいですか?ってきいてみようぜ
496デフォルトの名無しさん (ブーイモ MMbf-yF9r)
2022/12/23(金) 12:35:41.71ID:urphUqXfM マクロの記録で生成されたコードからスタート
497デフォルトの名無しさん (アウアウウー Sa9f-A+LM)
2022/12/23(金) 13:27:34.05ID:hEY6OCXna 会社から他の社員にVBA教えてやってくれ、って言われたら素直に応じる?
498デフォルトの名無しさん (スッップ Sd8a-e5AJ)
2022/12/23(金) 13:38:51.27ID:qgR3sDVKd 業務命令で仕事のタスクとして依頼されるなら応じるだろ
それとVBAを教えてやれって言われることなんてあるか?
なんらかの業務で使ってる○○を直すからわからない事があったら質問してくるんで教えてやってくれ
みたいな依頼じゃないのか
それとVBAを教えてやれって言われることなんてあるか?
なんらかの業務で使ってる○○を直すからわからない事があったら質問してくるんで教えてやってくれ
みたいな依頼じゃないのか
499デフォルトの名無しさん (オッペケ Srb3-QolP)
2022/12/23(金) 13:47:47.29ID:D9+1PSvKr でも大概適当な上司はそんなもん
500デフォルトの名無しさん (アウアウエー Sae2-D+GZ)
2022/12/23(金) 15:22:20.31ID:9qrIygbaa ユーザーフォームを表示してテーブルにあるデータのうち任意のレコードを入力させるマクロを作っているのだけれど、テキストボックスにするべきかコンボボックスかそれともリストボックスをクリックさせるべきか、迷っている
皆さんはどういうUIにしてますか?
皆さんはどういうUIにしてますか?
501デフォルトの名無しさん (ワッチョイ 9749-QolP)
2022/12/23(金) 15:23:49.23ID:XyJuHQV+0 社長に好みを聞く
502デフォルトの名無しさん (スッップ Sd8a-e5AJ)
2022/12/23(金) 15:59:13.07ID:qgR3sDVKd 要件満たせるならどれも一緒だけどその3つの何で迷ってるか書いてみたら?
503デフォルトの名無しさん (アウアウエー Sae2-D+GZ)
2022/12/23(金) 16:13:57.75ID:9qrIygbaa >>502
テーブルにあるレコードは100件くらいで、その中からなるだけ手っ取り早く入力できるようにしたいんですよね
テキストボックスとリストボックスを併用してどちらか好きな方から値を取れるようにした方がいいのかなと考えています
テーブルにあるレコードは100件くらいで、その中からなるだけ手っ取り早く入力できるようにしたいんですよね
テキストボックスとリストボックスを併用してどちらか好きな方から値を取れるようにした方がいいのかなと考えています
504デフォルトの名無しさん (ワッチョイ a301-iJiy)
2022/12/23(金) 16:36:35.72ID:QA4NKpfz0 上司に言われただけじゃ無理でしょ
本人のやる気がなければいくら教えても無駄
まずは自分で調べてできるとこまで書いてもらって、無理ならいくらでも聞いてって形式じゃないと教えられないわ
そこらへんの講義してる先生じゃないんだから教材なんか持ってないのに1から教えるのは不可能
本人のやる気がなければいくら教えても無駄
まずは自分で調べてできるとこまで書いてもらって、無理ならいくらでも聞いてって形式じゃないと教えられないわ
そこらへんの講義してる先生じゃないんだから教材なんか持ってないのに1から教えるのは不可能
505デフォルトの名無しさん (ワッチョイ bf7e-nV6H)
2022/12/23(金) 17:32:52.63ID:+XkEwRY60 お助けを願います
Range("A1") = "=SUBTOTAL(103,A4:A300)" & """/""" & "COUNTA(A4,:A300)"
計算式の結果と結果の間に文字列のスラッシュを置きたいが上手くいきません
Range("A1") = "=SUBTOTAL(103,A4:A300)" & """/""" & "COUNTA(A4,:A300)"
計算式の結果と結果の間に文字列のスラッシュを置きたいが上手くいきません
506デフォルトの名無しさん (スッップ Sd8a-e5AJ)
2022/12/23(金) 18:03:29.80ID:qgR3sDVKd507デフォルトの名無しさん (ワッチョイ 1f5f-JDfe)
2022/12/23(金) 18:28:53.74ID:yAoZE/rR0508デフォルトの名無しさん (アウアウウー Sa9f-ytDT)
2022/12/23(金) 18:40:22.55ID:uM3VpDxWa VBAのスキルが重宝される程度の職場なら、職務経歴書のいいネタと思って教えてやれよ
それが済んだらお前はさっさとステップアップすればよい
それが済んだらお前はさっさとステップアップすればよい
509デフォルトの名無しさん (ワッチョイ 1f5f-JDfe)
2022/12/23(金) 18:53:30.35ID:yAoZE/rR0 >>508
程度のレベルで身につくんだけど、実際日本人の9割以上はVBAなんて、出来ない。
よくエクセルマクロを使える割合見たいのがあるけど、ああいうサイトに行く人という母数でとっても3割程度。
実際は、まともな企業でも数百人に一人くらいしかいない。
だからVBAだけで神扱いされるんだけど・・・
本来は、幹部こそ覚える技術なんだよね。
システム化って、まさに業務運用そのものを決めるようなものだから。
程度のレベルで身につくんだけど、実際日本人の9割以上はVBAなんて、出来ない。
よくエクセルマクロを使える割合見たいのがあるけど、ああいうサイトに行く人という母数でとっても3割程度。
実際は、まともな企業でも数百人に一人くらいしかいない。
だからVBAだけで神扱いされるんだけど・・・
本来は、幹部こそ覚える技術なんだよね。
システム化って、まさに業務運用そのものを決めるようなものだから。
510デフォルトの名無しさん (ワッチョイ ea05-eCX6)
2022/12/23(金) 19:11:38.96ID:PMhHGTDf0 AからFの列範囲に何行あるかわからないデータがあるとき
データがあるセルの下に
オートシェイプを線を入れるにはどうしたらいいですか?
標準の線では線種が少ないのでオートシェイプでいれたいです
データがあるセルの下に
オートシェイプを線を入れるにはどうしたらいいですか?
標準の線では線種が少ないのでオートシェイプでいれたいです
511デフォルトの名無しさん (アウアウウー Sa9f-A+LM)
2022/12/23(金) 19:30:37.54ID:6wvtOpdna >>507
本来うちの会社もそんな感じ考え方だったのだけど
部長(配列もfor eachも使えないレベルの自称VBA名人)が
旗振り初めたお陰でしょーもないVBA講座が始まったんだよ
俺自身は社内でVBA使えることを殆ど話したことなかったが、
お前もなんかちょっとは使えるみたいだから
講座受けて講師手伝えとか言われ始めたわ
下らなすぎてマジで憂鬱
本来うちの会社もそんな感じ考え方だったのだけど
部長(配列もfor eachも使えないレベルの自称VBA名人)が
旗振り初めたお陰でしょーもないVBA講座が始まったんだよ
俺自身は社内でVBA使えることを殆ど話したことなかったが、
お前もなんかちょっとは使えるみたいだから
講座受けて講師手伝えとか言われ始めたわ
下らなすぎてマジで憂鬱
512デフォルトの名無しさん (ワッチョイ 1f5f-JDfe)
2022/12/23(金) 19:35:41.52ID:yAoZE/rR0 >>511
全員が使える必要はないんだよなぁ
VBAで無駄な作業を消していくから、社員はむしろ削られる方向になる。
だから、末端がやると摩擦が起きるから、幹部がやるのが正しいんだけどねぇ…。
幹部がプログラミングできると、それを理解しているんだけどね・・・。
そもそもシステム化とは、業務運用・業務ルール・業務管理あらゆるものを交換の利く末端に強制的に行わせるものなんだから、それって幹部の仕事だよね?ってはなしなのにね。
全員が使える必要はないんだよなぁ
VBAで無駄な作業を消していくから、社員はむしろ削られる方向になる。
だから、末端がやると摩擦が起きるから、幹部がやるのが正しいんだけどねぇ…。
幹部がプログラミングできると、それを理解しているんだけどね・・・。
そもそもシステム化とは、業務運用・業務ルール・業務管理あらゆるものを交換の利く末端に強制的に行わせるものなんだから、それって幹部の仕事だよね?ってはなしなのにね。
513デフォルトの名無しさん (ラクッペペ MMe6-N/20)
2022/12/23(金) 19:42:26.59ID:P8QL3kUaM 自意識過剰
514デフォルトの名無しさん (ワッチョイ 7eda-JDfe)
2022/12/23(金) 19:42:56.24ID:imkEbUvu0515デフォルトの名無しさん (オッペケ Srb3-iJiy)
2022/12/23(金) 20:17:22.06ID:dQOM9Mcwr 仮に講義したとしても
「初心者にvbaの事をすべて教えるなんて不可能だから、取り敢えず基礎的な事だけ教えるか。配列まで教えるのは無理だな」
↓
「セルだけで処理したら30分くらいかかるし固まるし使えない」
↓
「配列使えばすぐ終わるよ」
↓
「そんなの習ってない。教えないほうが悪い」
↓
上司「何で教えないんだ。不備があるから評価下げる」
ってなる未来しか見えない
自分で調べる事ができるヤツは講義なんか必要なく聞かれた事に回答するだけで十分だしな
「初心者にvbaの事をすべて教えるなんて不可能だから、取り敢えず基礎的な事だけ教えるか。配列まで教えるのは無理だな」
↓
「セルだけで処理したら30分くらいかかるし固まるし使えない」
↓
「配列使えばすぐ終わるよ」
↓
「そんなの習ってない。教えないほうが悪い」
↓
上司「何で教えないんだ。不備があるから評価下げる」
ってなる未来しか見えない
自分で調べる事ができるヤツは講義なんか必要なく聞かれた事に回答するだけで十分だしな
516デフォルトの名無しさん (オッペケ Srb3-iJiy)
2022/12/23(金) 20:19:41.37ID:GG/9dHCFr 結局、講義したいなら有料の〇〇コースって外部の講義を使用するのが一番なんだよな
金がかかるコースなら明確に〇〇まで、って言えるし
金がかかんない内部での講義だと、最終的には教えないやつが悪い。講義するならちゃんと教えろって言い出すヤツは絶対いる
金がかかるコースなら明確に〇〇まで、って言えるし
金がかかんない内部での講義だと、最終的には教えないやつが悪い。講義するならちゃんと教えろって言い出すヤツは絶対いる
517デフォルトの名無しさん (アウアウウー Sa9f-3IAs)
2022/12/23(金) 20:26:33.05ID:Q+yAHYlca セミナー行っても全員が自信を持って理解できたってことにはならないだろうしな。。
作った気にさせて終わりみたいな。
作った気にさせて終わりみたいな。
518デフォルトの名無しさん (ワッチョイ 7eda-JDfe)
2022/12/23(金) 20:53:24.44ID:imkEbUvu0 聞かれたら教えるけど、聞かれなかったことは教えようがない
調べればすぐできるのになんで調べないのかわからない
調べればすぐできるのになんで調べないのかわからない
519デフォルトの名無しさん (ワッチョイ 9710-3IAs)
2022/12/23(金) 21:00:03.44ID:cgp6NnPO0 本来、質問するならネット等に載っていない事例を聞くべきだよね。
ただこのスレに対する質問がガクッと減るがなw
ただこのスレに対する質問がガクッと減るがなw
520デフォルトの名無しさん (ワッチョイ 7eda-JDfe)
2022/12/23(金) 21:06:01.97ID:imkEbUvu0 あと、教わればどんなことでもできるようになると勘違いしている初心者も多い
考えるのと覚えるのは教わる側の問題
考えるのと覚えるのは教わる側の問題
521デフォルトの名無しさん (スッップ Sd8a-e5AJ)
2022/12/23(金) 21:45:43.34ID:qgR3sDVKd >>510
マクロの記録で試しに線を引いてみたらコードを生成してくれるから
それをみてあたりとかつけてみたらいいんじゃないの?
特定セルの座標はTop,Left
高さと幅はHeightとWidthで取得できるから計算して引いてみ
マクロの記録で試しに線を引いてみたらコードを生成してくれるから
それをみてあたりとかつけてみたらいいんじゃないの?
特定セルの座標はTop,Left
高さと幅はHeightとWidthで取得できるから計算して引いてみ
522505 (アウアウウー Sa9f-nV6H)
2022/12/23(金) 22:06:41.02ID:G+gOrUWca523デフォルトの名無しさん (スッップ Sd8a-e5AJ)
2022/12/23(金) 22:21:44.94ID:qgR3sDVKd >>522
これでいいんじゃないの?
Range("A1") = "=SUBTOTAL(103,A4:A300)&""/""&COUNTA(A4:A300)"
Range("A1") = "=CONCATENATE(SUBTOTAL(103,A4:A300),""/"",COUNTA(A4:A300))"
これでいいんじゃないの?
Range("A1") = "=SUBTOTAL(103,A4:A300)&""/""&COUNTA(A4:A300)"
Range("A1") = "=CONCATENATE(SUBTOTAL(103,A4:A300),""/"",COUNTA(A4:A300))"
524デフォルトの名無しさん (ワッチョイ 6bc7-90ZU)
2022/12/24(土) 10:17:10.27ID:4SoiJAnm0 >>522
セルに入れたい数式自体がエラーになる(間違ってる)からVBAでもエラーになってる。
セルに入れたい数式は下記かと。
=SUBTOTAL(103,A4:A300)&"/"&COUNTA(A4:A300)
VBAで書き込む場合。.Formulaは無くてもいけるけど明確に数式として入れたい場合は書いといた方がいい。
Range("A1").Formula = "=SUBTOTAL(103,A4:A300)" & "&""/""&" & "COUNTA(A4:A300)"
セルに入れたい数式自体がエラーになる(間違ってる)からVBAでもエラーになってる。
セルに入れたい数式は下記かと。
=SUBTOTAL(103,A4:A300)&"/"&COUNTA(A4:A300)
VBAで書き込む場合。.Formulaは無くてもいけるけど明確に数式として入れたい場合は書いといた方がいい。
Range("A1").Formula = "=SUBTOTAL(103,A4:A300)" & "&""/""&" & "COUNTA(A4:A300)"
525デフォルトの名無しさん (ワッチョイ 1301-iijX)
2022/12/24(土) 13:34:40.02ID:xbH5VpiM0 >>524
> "=SUBTOTAL(103,A4:A300)" & "&""/""&" & "COUNTA(A4:A300)"
"=SUBTOTAL(103, A4:A300) & ""/"" & COUNTA(A4:A300)"
じゃだめなの?
> "=SUBTOTAL(103,A4:A300)" & "&""/""&" & "COUNTA(A4:A300)"
"=SUBTOTAL(103, A4:A300) & ""/"" & COUNTA(A4:A300)"
じゃだめなの?
526デフォルトの名無しさん (ワッチョイ 6bc7-90ZU)
2022/12/24(土) 13:48:48.91ID:4SoiJAnm0 >>525
それでもいい
それでもいい
527デフォルトの名無しさん (ワッチョイ 3fda-aH43)
2022/12/26(月) 17:51:15.49ID:45VxsXpS0 にんげんだもの
528デフォルトの名無しさん (ワッチョイ 8510-nP02)
2022/12/26(月) 20:52:11.13ID:04vSlPMR0 正月はVBA三昧!
コード書きまくるぞ~
コード書きまくるぞ~
529デフォルトの名無しさん (アウアウウー Saed-2gET)
2022/12/27(火) 10:24:03.69ID:RFEZE8mMa 休みでもVBA書くのか、凄いな
家だとVBAのネタがないからいまいちやる気にならない
家だとVBAのネタがないからいまいちやる気にならない
530デフォルトの名無しさん (ワッチョイ 8510-nP02)
2022/12/27(火) 12:52:26.69ID:lugHnWiN0 え?みんな休日はExcelやらないの?
自分は隙あれば何かしらの練習してる。
勘と腕が鈍りそうな気がして。。。
自分は隙あれば何かしらの練習してる。
勘と腕が鈍りそうな気がして。。。
531デフォルトの名無しさん (JP 0H6b-s0Sd)
2022/12/27(火) 12:56:35.30ID:4LpiodjLH このスレに質問が来ればいくらでも回答するよ
532デフォルトの名無しさん (アウアウウー Sa71-2gET)
2022/12/27(火) 14:46:03.57ID:r8IxISV7a 家だとVBAで作りたいネタが思い浮かばない、、
何を題材にして練習しているのか教えてくれると嬉しいな
何を題材にして練習しているのか教えてくれると嬉しいな
533デフォルトの名無しさん (ワッチョイ 8f5f-aH43)
2022/12/27(火) 14:52:53.05ID:ITKU+yxr0 >>515
VBAを教えるのに必要なのは、講義の時間ではなく、「自分でも業務改善プログラムを作れた!」っていう成功体験だと思う。
処理速度云々は、相当後のほうでいいと思う。
ここで、資質があるやつと、そうでないやつがわかる。
資質のあるやつは、自分の作ったプログラムをさらに改善しようと、いじる。
このいじる作業をしているやつだけを見つけて、さらに教える。
改良作業をやってるやつは、理屈を理解し始めているから、いじれる。
そして、そのうちマニュアルやサイトでの調べ方と適用方法を理解して、自然と、命令数が増えてくる。
改良を試みてないやつは、たぶんプログラム自体、どっかから丸々コピペしてきて、それで運よく目的を達成できてるだけだから、動作原理わかってない。
ゆえに、次の問題を与えても、成長していないから組めない。
VBAを教えるのに必要なのは、講義の時間ではなく、「自分でも業務改善プログラムを作れた!」っていう成功体験だと思う。
処理速度云々は、相当後のほうでいいと思う。
ここで、資質があるやつと、そうでないやつがわかる。
資質のあるやつは、自分の作ったプログラムをさらに改善しようと、いじる。
このいじる作業をしているやつだけを見つけて、さらに教える。
改良作業をやってるやつは、理屈を理解し始めているから、いじれる。
そして、そのうちマニュアルやサイトでの調べ方と適用方法を理解して、自然と、命令数が増えてくる。
改良を試みてないやつは、たぶんプログラム自体、どっかから丸々コピペしてきて、それで運よく目的を達成できてるだけだから、動作原理わかってない。
ゆえに、次の問題を与えても、成長していないから組めない。
534デフォルトの名無しさん (JP 0H6b-s0Sd)
2022/12/27(火) 15:30:01.29ID:4LpiodjLH >>532
このスレをずーっと過去に遡って、面白そうな奴を片っ端から解いていくだけでいいんじゃないか?
俺は毎日やってるから出来ないけど
あと、vbaよりもスプレッドシートのGASのほうが色々出来て面白いよ
このスレをずーっと過去に遡って、面白そうな奴を片っ端から解いていくだけでいいんじゃないか?
俺は毎日やってるから出来ないけど
あと、vbaよりもスプレッドシートのGASのほうが色々出来て面白いよ
535デフォルトの名無しさん (スップ Sd03-dxp0)
2022/12/27(火) 15:56:24.02ID:lnirqxnTd 雑談みたいな書き込みは自重すればいいのに・・・
536デフォルトの名無しさん (ワッチョイ 8510-nP02)
2022/12/27(火) 18:13:52.44ID:lugHnWiN0 いやならスレを開かなければ良い
537デフォルトの名無しさん (ワッチョイ 3fda-aH43)
2022/12/27(火) 23:00:25.77ID:lvm99r8j0 いやなら5chやめればいいのに
538デフォルトの名無しさん (ワッチョイ 8510-nP02)
2022/12/28(水) 01:04:02.08ID:vaYWjZbJ0 いやならヅラを被れば良いのにな
539デフォルトの名無しさん (ワッチョイ 3fda-aH43)
2022/12/28(水) 20:47:21.58ID:sL7xQ5iP0 いわなら砕けばいいのにな
540デフォルトの名無しさん (ワッチョイ 5319-GrCd)
2022/12/28(水) 23:15:21.21ID:5cqOgtBW0 いや奈良公園にせんべい持ってくと鹿に襲われるけどな
541デフォルトの名無しさん (ラクッペペ MM97-k0TO)
2022/12/28(水) 23:31:04.44ID:iylgISulM 人間用のせんべい持って行くなよ
542デフォルトの名無しさん (ワッチョイ 8510-nP02)
2022/12/29(木) 06:52:02.69ID:AIOxbE0/0 マジレスすると、2ちゃんねる時代からスレタイから脱線した内容になるのは普通だから。
それが気にくわないなら開かなきゃ良いだけ。
それが気にくわないなら開かなきゃ良いだけ。
543デフォルトの名無しさん (ササクッテロ Sp65-iFVd)
2022/12/29(木) 18:32:00.23ID:tmwuu1S/p 軌道修正レスも普通だから。
いやなら開かなければいいだけ。
いやなら開かなければいいだけ。
544デフォルトの名無しさん (ワッチョイ 5b66-s0Sd)
2022/12/30(金) 09:09:52.34ID:WIIszMQ70 Excell2019 win10という環境で標準のVBEを使用しています。
ローカルインドウやウォッチウインドウにて多次元配列の中身を確認しながらデバッグを
している時に、一個ずつ+マークを押して展開するのが不便に思っています。
一行ずつ動かしながら逐次中身の変化を追いかけたいので、ずっと展開しっぱなしにしたいです。
ボタン一発で配列全部展開してくれるとか、展開しっぱなしにするとか何か良い方法はないでしょうか?
ローカルインドウやウォッチウインドウにて多次元配列の中身を確認しながらデバッグを
している時に、一個ずつ+マークを押して展開するのが不便に思っています。
一行ずつ動かしながら逐次中身の変化を追いかけたいので、ずっと展開しっぱなしにしたいです。
ボタン一発で配列全部展開してくれるとか、展開しっぱなしにするとか何か良い方法はないでしょうか?
545デフォルトの名無しさん (ブーイモ MMb9-k9wW)
2022/12/30(金) 10:22:12.46ID:xFabiT9dM 無い。
配列の内容をワークシートに展開する関数を作って、
イミィディエトウインドウから 関数(配列) と実行。
配列の内容をワークシートに展開する関数を作って、
イミィディエトウインドウから 関数(配列) と実行。
546デフォルトの名無しさん (JP 0H6b-s0Sd)
2022/12/30(金) 11:00:35.06ID:zE3ePWnpH 最初から個別の値をウォッチ式に入れておくとか
a(0)
a(1)
a(0)
a(1)
547544 (ワッチョイ 5b66-s0Sd)
2022/12/30(金) 11:34:25.20ID:WIIszMQ70548デフォルトの名無しさん (ワッチョイ bfac-IQOL)
2022/12/30(金) 12:00:12.33ID:MT1c2vte0 いえいえ
549デフォルトの名無しさん (ワッチョイ c1b1-fqia)
2022/12/30(金) 15:58:51.64ID:IwLtnZMZ0 複数のExcelファイルで作業をしていると、ふと見るとVBEの左側のツリーに立ち上げたファイル名がずらずら並んでいることがあります
普通はそのファイルを閉じればツリーから消えるのですが、たまに消えずに延々と溜まりまくるときがあります
こうなるとメモリ消費しまくって最終的にはメモリ不足で動かなくなります
こうなってしまうのはどんな理由が考えられるのでしょうか
それとも、Excelは定期的に全部閉じる癖をつけておくべきなんでしょうか
普通はそのファイルを閉じればツリーから消えるのですが、たまに消えずに延々と溜まりまくるときがあります
こうなるとメモリ消費しまくって最終的にはメモリ不足で動かなくなります
こうなってしまうのはどんな理由が考えられるのでしょうか
それとも、Excelは定期的に全部閉じる癖をつけておくべきなんでしょうか
550デフォルトの名無しさん (JP 0H6b-s0Sd)
2022/12/30(金) 17:13:53.47ID:zE3ePWnpH >>549
Excelがファイル閉じるのを失敗している
その場合、一度失敗するとそれ以降全部失敗する
再インストールか、メモリの増設した方がいいと思う
あとLAN上にあるExcelファイルを開くとそれになりやすい
Excelがファイル閉じるのを失敗している
その場合、一度失敗するとそれ以降全部失敗する
再インストールか、メモリの増設した方がいいと思う
あとLAN上にあるExcelファイルを開くとそれになりやすい
551デフォルトの名無しさん (スッップ Sd57-dxp0)
2022/12/30(金) 17:26:59.66ID:esJPCknOd552デフォルトの名無しさん (ワッチョイ c1b1-fqia)
2022/12/30(金) 17:56:14.08ID:IwLtnZMZ0 >>550-551
ありがとうございます
他ファイル参照するために開いて閉じるようなマクロは結構多用してます
基本的には単純に開いてはデータ引っ張って保存せず閉じるというような内容ですが…
参照するファイルはLAN上ではありませんが、OneDriveの共有フォルダには置いてあります(ローカル保存)
一度この辺のマクロを見直してみたいと思います
原因がわからなければ再インストールしてみます
ありがとうございます
他ファイル参照するために開いて閉じるようなマクロは結構多用してます
基本的には単純に開いてはデータ引っ張って保存せず閉じるというような内容ですが…
参照するファイルはLAN上ではありませんが、OneDriveの共有フォルダには置いてあります(ローカル保存)
一度この辺のマクロを見直してみたいと思います
原因がわからなければ再インストールしてみます
553デフォルトの名無しさん (ワッチョイ 57da-dxp0)
2022/12/30(金) 19:08:24.88ID:k0Mu53Mo0 >>549-552
ウチもマクロで他の個別ブックを開いて
その中のマクロを実行して上書き保存・当該ブックを閉じる
をやってたけど、VBEの左側ツリーに閉じたはずのブックがズラズラ・・・
開くブックが70個ちょっと、中のクエリーをテーブルとして変数に設定するところで
いつもコケるようになった。
ブックの保存先はいずれもローカル。
操作するブックと操作される個別ブックの変数、プロシージャ名は
重複しないようにしていたがダメ。
次のブックを開くインターバルを1秒~とか、
クエリーはテーブルオブジェクト変数に入れているので、
毎回Nothingを入れてみたがダメ。
結局、地域毎に開くブックを50個くらいに収まるように
操作するブックを分けた。
ブックを割り当てる変数と、
それを保存・閉じる記述を見直してみようと思う。
ウチもマクロで他の個別ブックを開いて
その中のマクロを実行して上書き保存・当該ブックを閉じる
をやってたけど、VBEの左側ツリーに閉じたはずのブックがズラズラ・・・
開くブックが70個ちょっと、中のクエリーをテーブルとして変数に設定するところで
いつもコケるようになった。
ブックの保存先はいずれもローカル。
操作するブックと操作される個別ブックの変数、プロシージャ名は
重複しないようにしていたがダメ。
次のブックを開くインターバルを1秒~とか、
クエリーはテーブルオブジェクト変数に入れているので、
毎回Nothingを入れてみたがダメ。
結局、地域毎に開くブックを50個くらいに収まるように
操作するブックを分けた。
ブックを割り当てる変数と、
それを保存・閉じる記述を見直してみようと思う。
554デフォルトの名無しさん (JP 0H6b-s0Sd)
2022/12/30(金) 20:11:23.30ID:zE3ePWnpH >>552
onedriveか、あれもLANと同様になんか変な挙動になっている
僕はあまりの挙動不安定さにスプレッドシートに逃げたよ
閉じる動作・共有に関して、もっと突き詰めたほうがいいかもしれない
カンだけど僕がやるなら以下のような形です。解決するかどうかは不定。
・開いたExcelを、一回activebookにしてから閉じる
・適度に、OSに処理を返す。forを使っている+時間が掛かっている場合、適当にDoEvents()を挟んでみると改善する可能性があります
・onedriveの挙動が予測できないので、一旦ダウンロードフォルダなどにコピーしてから使ってみる。
どうも共有フォルダはタイムラグがあるのか、意図しない非同期になってしまい良くないことが起こっている気がする。
非常に問題を捉えづらい、難しい問題と思います。頑張ってください
onedriveか、あれもLANと同様になんか変な挙動になっている
僕はあまりの挙動不安定さにスプレッドシートに逃げたよ
閉じる動作・共有に関して、もっと突き詰めたほうがいいかもしれない
カンだけど僕がやるなら以下のような形です。解決するかどうかは不定。
・開いたExcelを、一回activebookにしてから閉じる
・適度に、OSに処理を返す。forを使っている+時間が掛かっている場合、適当にDoEvents()を挟んでみると改善する可能性があります
・onedriveの挙動が予測できないので、一旦ダウンロードフォルダなどにコピーしてから使ってみる。
どうも共有フォルダはタイムラグがあるのか、意図しない非同期になってしまい良くないことが起こっている気がする。
非常に問題を捉えづらい、難しい問題と思います。頑張ってください
555デフォルトの名無しさん (スッップ Sd57-dxp0)
2022/12/30(金) 20:26:56.53ID:esJPCknOd >>553
WorkbookやWorksheet含めてObjectは順序だててNothingするようにしたらそんなこと起きないとおもうよ
set oWB = xxx
set oWS = oWB.xxx
なら
set oWS = nothing
set oWB = nothing
という順ね
面倒でもNothingで解放するクセつけたほうがいいと思うぞ
WorkbookやWorksheet含めてObjectは順序だててNothingするようにしたらそんなこと起きないとおもうよ
set oWB = xxx
set oWS = oWB.xxx
なら
set oWS = nothing
set oWB = nothing
という順ね
面倒でもNothingで解放するクセつけたほうがいいと思うぞ
556デフォルトの名無しさん (ワッチョイ 1a90-5nMs)
2022/12/31(土) 09:58:21.76ID:doxP0Tnc0 マクロの管理・閲覧ってみなさんはどうしてるんでしょうか?
基本的にはブックの中に保存してるとは思うんですが
ブック開かないと中身確認できないですよね?
何らかのファイルに中身を保存して、たとえばvscodeなどのエディタで開いたりするのでしょうか?
基本的にはブックの中に保存してるとは思うんですが
ブック開かないと中身確認できないですよね?
何らかのファイルに中身を保存して、たとえばvscodeなどのエディタで開いたりするのでしょうか?
557デフォルトの名無しさん (ワッチョイ 9a01-+uJR)
2022/12/31(土) 10:37:26.00ID:YncayN1e0 俺は普通にブックをSVNでバージョン管理してる
差分を見たい時は見たいバージョンを保存して最新版と保存したバージョンから各々エクスポートして差分を取ってる
VsCode の拡張もあるみたいよ ⇒ >>462
差分を見たい時は見たいバージョンを保存して最新版と保存したバージョンから各々エクスポートして差分を取ってる
VsCode の拡張もあるみたいよ ⇒ >>462
558デフォルトの名無しさん (スッップ Sdba-TwI4)
2022/12/31(土) 11:33:27.48ID:h8iAJsoLd >>556
ブックのマクロを別ファイルに保存するということはコードの2元管理になるからしない
普通にブック開いてVBEでみるだけでそれで困ったことはない
別のブックのコードを参照したい場合は一時的にそのコードをコピペしてエディタで見ることはあるけど終わったら削除してる
何度も手直しするような事もないからバージョン管理もしてない
ブックのマクロを別ファイルに保存するということはコードの2元管理になるからしない
普通にブック開いてVBEでみるだけでそれで困ったことはない
別のブックのコードを参照したい場合は一時的にそのコードをコピペしてエディタで見ることはあるけど終わったら削除してる
何度も手直しするような事もないからバージョン管理もしてない
559デフォルトの名無しさん (JP 0He6-9yt5)
2022/12/31(土) 12:12:05.76ID:60VcS97wH >>556
特にしてない
昔はよく使う「最終行の取得」や、「set〜」なんかをまとめたブックを作ってそれをコピペしていたけど、
コピペしないほうが早い事に気づいてからはそういうのもなくなった
高速化もよほどじゃない限りしなくなったな。
特にしてない
昔はよく使う「最終行の取得」や、「set〜」なんかをまとめたブックを作ってそれをコピペしていたけど、
コピペしないほうが早い事に気づいてからはそういうのもなくなった
高速化もよほどじゃない限りしなくなったな。
560デフォルトの名無しさん (ワッチョイ b666-9yt5)
2022/12/31(土) 14:12:00.31ID:QIMjPb7U0 vbaでファイルを開くダイアログを出させて、ユーザーに任意のシートを指定させ、
VBA側でそのシートオブジェクトを取得して、解析をするというものを作ろうとしています。
よろしくお願いします。
ttps://oshiete.goo.ne.jp/qa/3042408.html
こちらに「シートを選択させてアクティブにする」というコードがあります。
ttps://www.kurumico.com/excel-vba-file/315/
こちらには「ファイルをダイアログから選択指定して開く」というコードがあります。
単純に組み合わせたら願望はかないました。
そこで質問したいのは
MyDialog.Controls.Add(ID:=957).Execute
これが一体何なのかということです。
エクセル2019の左下にあるシート一覧を左右に移動する
← →
このマークのところで右クリックをすると同じようなシート選択ダイアログが出てきます。
そして選ぶと、アクティブになります。
957を一覧から探してもこういう説明を見つけられないでいます
そういう理由からCommandsBarsもControls.addもイマイチ理解を深める事が出来ずにいます。
どこかいい説明サイトがありますでしょうか?
VBA側でそのシートオブジェクトを取得して、解析をするというものを作ろうとしています。
よろしくお願いします。
ttps://oshiete.goo.ne.jp/qa/3042408.html
こちらに「シートを選択させてアクティブにする」というコードがあります。
ttps://www.kurumico.com/excel-vba-file/315/
こちらには「ファイルをダイアログから選択指定して開く」というコードがあります。
単純に組み合わせたら願望はかないました。
そこで質問したいのは
MyDialog.Controls.Add(ID:=957).Execute
これが一体何なのかということです。
エクセル2019の左下にあるシート一覧を左右に移動する
← →
このマークのところで右クリックをすると同じようなシート選択ダイアログが出てきます。
そして選ぶと、アクティブになります。
957を一覧から探してもこういう説明を見つけられないでいます
そういう理由からCommandsBarsもControls.addもイマイチ理解を深める事が出来ずにいます。
どこかいい説明サイトがありますでしょうか?
561デフォルトの名無しさん (JP 0He6-9yt5)
2022/12/31(土) 15:46:44.58ID:60VcS97wH >>560
無かった
一応コードの意味から
'新規コマンドバーを一時的に追加する
Set foo = CommandBars.Add(Temporary:=True)
'上記にコマンドID957を追加し、実行する。2はスペルチェック。多分1はダミーコードでなにも起こらないはず。
foo.Controls.Add(ID:=957).Execute
で、この957って何って質問なんだろうけど、これはシート選択ダイアログのIDと思われる。
普通は定数名で設定し、マジックナンバーは使わない。
foo.Controls.Add(xlSheetList).Execute 'のような形になるはず
定数名とIDの対応表がどこかにあるはずなんだけど、全然見つからない。もしかすると無いのかもしれない。
使い方は公式を見るのが早い
https://learn.microsoft.com/ja-jp/office/vba/api/office.commandbarcontrol
https://learn.microsoft.com/en-us/office/vba/api/office.commandbarcontrol.id
一覧はこれだと思うけど、そこにも載ってない
https://www.microsoft.com/en-us/download/details.aspx?id=50745
ただこのコマンドリストを一時的に利用するというテクニックは、これ以外に使い道は無いと思うから
そんなに深く考えなくてもいいと思うよ
無かった
一応コードの意味から
'新規コマンドバーを一時的に追加する
Set foo = CommandBars.Add(Temporary:=True)
'上記にコマンドID957を追加し、実行する。2はスペルチェック。多分1はダミーコードでなにも起こらないはず。
foo.Controls.Add(ID:=957).Execute
で、この957って何って質問なんだろうけど、これはシート選択ダイアログのIDと思われる。
普通は定数名で設定し、マジックナンバーは使わない。
foo.Controls.Add(xlSheetList).Execute 'のような形になるはず
定数名とIDの対応表がどこかにあるはずなんだけど、全然見つからない。もしかすると無いのかもしれない。
使い方は公式を見るのが早い
https://learn.microsoft.com/ja-jp/office/vba/api/office.commandbarcontrol
https://learn.microsoft.com/en-us/office/vba/api/office.commandbarcontrol.id
一覧はこれだと思うけど、そこにも載ってない
https://www.microsoft.com/en-us/download/details.aspx?id=50745
ただこのコマンドリストを一時的に利用するというテクニックは、これ以外に使い道は無いと思うから
そんなに深く考えなくてもいいと思うよ
562デフォルトの名無しさん (ワッチョイ 0379-rE+U)
2022/12/31(土) 16:01:13.15ID:jV5H7FOV0 俺もID=957が何なのか探したけど見つからんな
昔のExcelでもちゃんとシート選択ダイアログは出てくるからVBAが付いてるOfficeならバージョンによって動かないみたいな事は起きないと思われるが
これが気持ち悪い場合は適当な選択フォームを作った方が良いだろうね
昔のExcelでもちゃんとシート選択ダイアログは出てくるからVBAが付いてるOfficeならバージョンによって動かないみたいな事は起きないと思われるが
これが気持ち悪い場合は適当な選択フォームを作った方が良いだろうね
563560 (ワッチョイ b666-9yt5)
2022/12/31(土) 18:56:24.99ID:QIMjPb7U0564デフォルトの名無しさん (JP 0He6-9yt5)
2022/12/31(土) 19:13:19.72ID:60VcS97wH565デフォルトの名無しさん (ワッチョイ 768c-zmrv)
2022/12/31(土) 20:36:02.66ID:2V6bSqaW0 >>563
debug.Print CommandBars.Add(Temporary:=True).Controls.Add(ID:=957).Caption
「シート一覧(&S)」
これで存在を確認できるね
for-nextで総当たりして見つけたんだろうね
リボン以前の時代に
debug.Print CommandBars.Add(Temporary:=True).Controls.Add(ID:=957).Caption
「シート一覧(&S)」
これで存在を確認できるね
for-nextで総当たりして見つけたんだろうね
リボン以前の時代に
566デフォルトの名無しさん (ワッチョイ 972f-9j0N)
2022/12/31(土) 22:52:34.11ID:J15SQ39W0 マイクロソフトのサポートに聞けば有償で教えてくれるだろ
567デフォルトの名無しさん (ワッチョイ a302-9j0N)
2023/01/01(日) 02:02:13.06ID:WHfKVncD0 素人質問で申し訳ありません。
G行(列?)にワンクリックで時刻を出るように
Private Sub CommandButton1_Click()
End Sub
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("G2:G30000")) Is Nothing Then Exit Sub
Target.Value = Date
Cancel = True
End Sub
とvisualbasicで入力しました。
でワンクリックで「時間:分:秒」は出るようになりましたが、全部「0:00:00」
になってしまいます。今の「時間:分:秒」が出るにはどうしたらよいでしょうか。
ちなみにセルの書式設定で「時刻」⇒「13:30:30」の設定にしてあります。
よろしくお願いいたします。
G行(列?)にワンクリックで時刻を出るように
Private Sub CommandButton1_Click()
End Sub
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("G2:G30000")) Is Nothing Then Exit Sub
Target.Value = Date
Cancel = True
End Sub
とvisualbasicで入力しました。
でワンクリックで「時間:分:秒」は出るようになりましたが、全部「0:00:00」
になってしまいます。今の「時間:分:秒」が出るにはどうしたらよいでしょうか。
ちなみにセルの書式設定で「時刻」⇒「13:30:30」の設定にしてあります。
よろしくお願いいたします。
568デフォルトの名無しさん (ワッチョイ 768c-zmrv)
2023/01/01(日) 02:13:01.01ID:U+Y4eA/v0 Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("G2:G30000")) Is Nothing Then Exit Sub
Target.Value = Now
Cancel = True
End Sub
If Intersect(Target, Range("G2:G30000")) Is Nothing Then Exit Sub
Target.Value = Now
Cancel = True
End Sub
569567 (ワッチョイ a302-qF/f)
2023/01/01(日) 02:19:43.81ID:WHfKVncD0570デフォルトの名無しさん (ワッチョイ b666-9yt5)
2023/01/01(日) 09:02:52.64ID:QhZkuHz30 凄く初歩的な事かもしれませんが、自力でわからなかったので教えてください。
コマンドボタンが3つあって、そのうち1つがエラーで止まるとします。
エラーで止まるボタンをA
正常なコードになっているBとCみたいな
Aを押してエラーが出たらVBE画面が開いてしまいます。
そしてVBE側のリセットボタンを押さないと処理がリセットされません。
これを気にした事はありませんでした。
しかしこれから他人に使わせたいので
【1】エラーが出ても一時停止ではなくて初めから完全停止になって欲しい。
【2】エラーが出てもVBE画面が開いて欲しくない
こういうのはどうすれば良いのでしょうか?
コマンドボタンが3つあって、そのうち1つがエラーで止まるとします。
エラーで止まるボタンをA
正常なコードになっているBとCみたいな
Aを押してエラーが出たらVBE画面が開いてしまいます。
そしてVBE側のリセットボタンを押さないと処理がリセットされません。
これを気にした事はありませんでした。
しかしこれから他人に使わせたいので
【1】エラーが出ても一時停止ではなくて初めから完全停止になって欲しい。
【2】エラーが出てもVBE画面が開いて欲しくない
こういうのはどうすれば良いのでしょうか?
571デフォルトの名無しさん (ワッチョイ 8b01-lHxW)
2023/01/01(日) 09:28:20.79ID:l9m14P5Y0 >>570
【2】はOn Error Go To を使ってエラーが出たら処理を辞める方法がある
もしくはエラーが出る特定のところのみOn Error Resume Nextを使ってエラーを無視して、その時にErrオブジェクトが値を持つかを見て値を持ってたら処理をやめるとか
【1】は無理
というかエラーが出ることが分かるならエラーが出ないように直すべき
個人で使うのならいいけど、他人に使わせるのにエラーが出たままは相当マズい
【2】はOn Error Go To を使ってエラーが出たら処理を辞める方法がある
もしくはエラーが出る特定のところのみOn Error Resume Nextを使ってエラーを無視して、その時にErrオブジェクトが値を持つかを見て値を持ってたら処理をやめるとか
【1】は無理
というかエラーが出ることが分かるならエラーが出ないように直すべき
個人で使うのならいいけど、他人に使わせるのにエラーが出たままは相当マズい
572デフォルトの名無しさん (JP 0He6-9yt5)
2023/01/01(日) 09:31:32.39ID:N3XMs5RAH >>570
エラートラップはかなりしっかりやっといたほうが良いけど・・・
対処法として、gotoとresume nextがある
gotoはちゃんとした分岐
resume nextはエラー完全無視でそのまま実行し続ける。
後者は超危険だけど、自作ゲームぐらいならこれで済ませてもいいと思う
Sub foo()
On Error GoTo err
foo2 = 0 / 0 '0で割り算
MsgBox "エラーはありませんでした。通常終了です"
Exit Sub '正常終了
err:
MsgBox "エラーが起きたので終了します"
End Sub
Sub bar()
On Error Resume Next
bar2 = 0 / 0
'通知
If err.Number > 0 Then
MsgBox "エラーが起きたようですがそのまま実行しました"
End If
End Sub
エラートラップはかなりしっかりやっといたほうが良いけど・・・
対処法として、gotoとresume nextがある
gotoはちゃんとした分岐
resume nextはエラー完全無視でそのまま実行し続ける。
後者は超危険だけど、自作ゲームぐらいならこれで済ませてもいいと思う
Sub foo()
On Error GoTo err
foo2 = 0 / 0 '0で割り算
MsgBox "エラーはありませんでした。通常終了です"
Exit Sub '正常終了
err:
MsgBox "エラーが起きたので終了します"
End Sub
Sub bar()
On Error Resume Next
bar2 = 0 / 0
'通知
If err.Number > 0 Then
MsgBox "エラーが起きたようですがそのまま実行しました"
End If
End Sub
573570 (ワッチョイ b666-9yt5)
2023/01/01(日) 13:29:35.26ID:QhZkuHz30 >>571>>572
無理でしたか…
「エラーが出たら一旦エクセルを再起動してもらって、私がコードを直すまではそのボタン触らないで」
っていう事にしようかと思います。
>というかエラーが出ることが分かるならエラーが出ないように直すべき
ハっとしました。
On Error Go To処理はエラーが出るの前提みたいで使うのいやだなと思ってましたが、
エラーを前提にしてたのはよっぽど自分の方でした。
解決です。ありがとうございました。
無理でしたか…
「エラーが出たら一旦エクセルを再起動してもらって、私がコードを直すまではそのボタン触らないで」
っていう事にしようかと思います。
>というかエラーが出ることが分かるならエラーが出ないように直すべき
ハっとしました。
On Error Go To処理はエラーが出るの前提みたいで使うのいやだなと思ってましたが、
エラーを前提にしてたのはよっぽど自分の方でした。
解決です。ありがとうございました。
574デフォルトの名無しさん (ワントンキン MM8a-HRUe)
2023/01/01(日) 20:36:34.67ID:QH48KlFOM 新年早々馬鹿か
こんなのが作ったものを使わされる人達可哀想
こんなのが作ったものを使わされる人達可哀想
575デフォルトの名無しさん (ワッチョイ df10-lHxW)
2023/01/01(日) 21:09:46.92ID:ZzHbs0In0 >>574
おまえのほうがバカだよ
おまえのほうがバカだよ
576デフォルトの名無しさん (スッップ Sdba-QCOi)
2023/01/01(日) 21:18:44.46ID:gVENJcWpd >エラーが出たら一旦エクセルを再起動してもらって
いや、馬鹿だろこいつ
いや、馬鹿だろこいつ
577デフォルトの名無しさん (ワッチョイ 8ab8-/EFQ)
2023/01/01(日) 21:33:46.27ID:uPXSUIhV0 他人に使わせる品質でないことは確かだな
578デフォルトの名無しさん (オッペケ Srbb-lHxW)
2023/01/01(日) 22:55:58.30ID:SDgcSZSgr >>573
「エラーが出たら一旦エクセルを再起動してもらって、私がコードを直すまではそのボタン触らないで」
これはいいけどさ、そもそもエラーが出るって分かってるものを使わせるのはヤバいだろ
エラーを出さないようにしてから使わせるか運用制限を書いとくかするのは必須だろ
それでもエラーが出た場合はそう言うのであって、最初からエラーありきはどう考えてもおかしい
「エラーが出たら一旦エクセルを再起動してもらって、私がコードを直すまではそのボタン触らないで」
これはいいけどさ、そもそもエラーが出るって分かってるものを使わせるのはヤバいだろ
エラーを出さないようにしてから使わせるか運用制限を書いとくかするのは必須だろ
それでもエラーが出た場合はそう言うのであって、最初からエラーありきはどう考えてもおかしい
579デフォルトの名無しさん (スッップ Sdba-QCOi)
2023/01/01(日) 23:30:29.85ID:gVENJcWpd580デフォルトの名無しさん (ワッチョイ df10-lHxW)
2023/01/02(月) 00:23:35.65ID:WJKKDxmM0 >>579
そうだな
エラーが出た時点で連絡するべきだ
ただ「馬鹿過ぎて片腹痛い」これは言うべきか?
こういうことを言ったら萎縮してスレに書き込む人が減るだけ
メリットがなにもないどころかデメリットしかないことを言う意味はない
そうだな
エラーが出た時点で連絡するべきだ
ただ「馬鹿過ぎて片腹痛い」これは言うべきか?
こういうことを言ったら萎縮してスレに書き込む人が減るだけ
メリットがなにもないどころかデメリットしかないことを言う意味はない
581デフォルトの名無しさん (ワッチョイ 9a4b-o0Tc)
2023/01/02(月) 00:43:21.31ID:qD3952vu0 エラー地雷が必ずあるボタンとか怖すぎる
マクロの結果は元に戻せないから、コードの先頭に関係するブックをセーブするように書くことをお勧めする
マクロの結果は元に戻せないから、コードの先頭に関係するブックをセーブするように書くことをお勧めする
582デフォルトの名無しさん (ワンミングク MM8a-HRUe)
2023/01/02(月) 00:49:52.66ID:4s2WSfqGM >>580
内容も吟味せずに脊髄反射で書き込んで馬鹿を擁護するお前のような奴が馬鹿を蔓延らせることに気付くべき
内容も吟味せずに脊髄反射で書き込んで馬鹿を擁護するお前のような奴が馬鹿を蔓延らせることに気付くべき
584デフォルトの名無しさん (ワッチョイ df10-lHxW)
2023/01/02(月) 09:35:04.20ID:WJKKDxmM0585570 (ワッチョイ b666-9yt5)
2023/01/02(月) 11:24:49.11ID:5oIC6wjS0 なんだかすみません。
今回は主にファイルオープン関連で「絶対にエラーが出ない全てに対応したコード」というのが
書く自信がありませんでした。勉強不足です。
今も一つわからないのですが、例えばマクロと同じフォルダにあるBookAを開いてる状態で、
BookAファイルをさらにオープンしようとするとwin10office2019の当方環境においてエラーが出ないのですが、
これは基本的に他のパソコンでもエラーが出ないのでしょうか?
winxp以降office2000以降あたりであれば大丈夫なものなのでしょうか?
別フォルダにある同名ブックを開こうとするとエラーになります。
こちらは開く前にファイル名で既に開いてるブックを確認するコードを追加しようとみたいなサイトが
いくつも見つかるので解決したのですが、既に開いてるファイル自身を開く事が成功してしまう
ケースを通常と思ってエラーの出ないコードと考えてよろしいのでしょうか?
今回は主にファイルオープン関連で「絶対にエラーが出ない全てに対応したコード」というのが
書く自信がありませんでした。勉強不足です。
今も一つわからないのですが、例えばマクロと同じフォルダにあるBookAを開いてる状態で、
BookAファイルをさらにオープンしようとするとwin10office2019の当方環境においてエラーが出ないのですが、
これは基本的に他のパソコンでもエラーが出ないのでしょうか?
winxp以降office2000以降あたりであれば大丈夫なものなのでしょうか?
別フォルダにある同名ブックを開こうとするとエラーになります。
こちらは開く前にファイル名で既に開いてるブックを確認するコードを追加しようとみたいなサイトが
いくつも見つかるので解決したのですが、既に開いてるファイル自身を開く事が成功してしまう
ケースを通常と思ってエラーの出ないコードと考えてよろしいのでしょうか?
586デフォルトの名無しさん (ワッチョイ 0eda-TwI4)
2023/01/02(月) 11:57:58.32ID:C7IOio2r0 初心者が思い込みで作ると失敗する
開発環境と実行環境がバージョンやパッチも含めて違うなら同じ環境で動作の確認をするしかない
作ったら終わりではなく、条件を変えても正しく動作するかを確認するくらいやれよ
長いファイル名とか共有フォルダとか、サイズ0に壊したファイルとか作って試すなど
開発環境と実行環境がバージョンやパッチも含めて違うなら同じ環境で動作の確認をするしかない
作ったら終わりではなく、条件を変えても正しく動作するかを確認するくらいやれよ
長いファイル名とか共有フォルダとか、サイズ0に壊したファイルとか作って試すなど
587デフォルトの名無しさん (ワッチョイ d7da-XlTg)
2023/01/02(月) 13:14:15.32ID:cWlG9T3F0 当たり前だけどファイル操作はVBAの知識以外にOSの知識もある程度必要になるから聞かなきゃ判断できないような処理ならやらないが吉かと。
開くのは諦めてせいぜいファイルの存在確認程度にとどめておけば?
開くのは諦めてせいぜいファイルの存在確認程度にとどめておけば?
588デフォルトの名無しさん (スッップ Sdba-TwI4)
2023/01/02(月) 13:45:13.52ID:N69RPsxQd >>585
自分はWin10+Ofiice365だけど
開いているファイルと同じフォルダのファイルを開こうとすると開いているファイルがアクティブになって
別フォルダの同名ファイルであれば同じ名前のファイルは開けないってエラーになるから
古いバージョンでも一緒なんじゃないかと思うけど
回避したいならWorkBooksの内容をチェックして同じファイル名があればメッセージを出して処理を止めるなりすればいいんだと思うけどね
古いバージョンでもチェックしたいなら単純にフォルダA、フォルダBに同じファイルをいれて両方開けるか試してもらうだけでいいと思うぞ
自分はWin10+Ofiice365だけど
開いているファイルと同じフォルダのファイルを開こうとすると開いているファイルがアクティブになって
別フォルダの同名ファイルであれば同じ名前のファイルは開けないってエラーになるから
古いバージョンでも一緒なんじゃないかと思うけど
回避したいならWorkBooksの内容をチェックして同じファイル名があればメッセージを出して処理を止めるなりすればいいんだと思うけどね
古いバージョンでもチェックしたいなら単純にフォルダA、フォルダBに同じファイルをいれて両方開けるか試してもらうだけでいいと思うぞ
589デフォルトの名無しさん (ワッチョイ 9ada-/EFQ)
2023/01/02(月) 14:06:13.66ID:v+YqJ02u0 多分だけど、手動で同一ファイルをダブルクリックで開くような操作では無く
開いたファイルを元に「新しいウィンドウを開く」のようなコードを書いてると思う
いろいろとオリジナルというか無手勝流というか、な制作してるようだし、個人利用に留めとけ と忠告しておきたい
ま、他人からコテンパンに罵られて伸びるタイプも居ない訳でも無いから、ご自由になんだけど(例えばMS社 毎月バグって世界中から罵られても知らん顔してアプデを続けるし)
開いたファイルを元に「新しいウィンドウを開く」のようなコードを書いてると思う
いろいろとオリジナルというか無手勝流というか、な制作してるようだし、個人利用に留めとけ と忠告しておきたい
ま、他人からコテンパンに罵られて伸びるタイプも居ない訳でも無いから、ご自由になんだけど(例えばMS社 毎月バグって世界中から罵られても知らん顔してアプデを続けるし)
590570 (ワッチョイ b666-9yt5)
2023/01/02(月) 21:56:15.06ID:5oIC6wjS0 ありがとうございました。
完璧なコードって、人間の行動を全て読むレベルのとんでもない高度な行為ですよね…
プログラムに携わりたいなら甘えずに向き合うべき課題なんだと思います。
年末年始みたいな時くらいしか勉強出来ないの悔しいですね。
完璧なコードって、人間の行動を全て読むレベルのとんでもない高度な行為ですよね…
プログラムに携わりたいなら甘えずに向き合うべき課題なんだと思います。
年末年始みたいな時くらいしか勉強出来ないの悔しいですね。
591デフォルトの名無しさん (ワッチョイ 9a4b-o0Tc)
2023/01/02(月) 22:55:02.83ID:qD3952vu0 上の方でエラーが出たら自分でコードを修正するって書いているから解決方法は知っているんだろ?
なら、Do loopとOn Error Go Toを使ってエラーが解決するまで、知っている限りの解決コードを全て書けばいいと思うが
なら、Do loopとOn Error Go Toを使ってエラーが解決するまで、知っている限りの解決コードを全て書けばいいと思うが
592デフォルトの名無しさん (JP 0He6-9yt5)
2023/01/03(火) 00:15:50.12ID:QpUipTPJH >>590
全てって言っても場合によるよ
入力内容のチェックなら数値文字列エラー値ぐらいでほぼ網羅できるけど、
ファイルを開いたりアクティブになったりってなるとExcelやOSとの兼ね合いも出てくるからほんとキツイ
通常操作の9割をカバーできればいいと思う
あとは起きたエラーに都度対応していくしかない
全てって言っても場合によるよ
入力内容のチェックなら数値文字列エラー値ぐらいでほぼ網羅できるけど、
ファイルを開いたりアクティブになったりってなるとExcelやOSとの兼ね合いも出てくるからほんとキツイ
通常操作の9割をカバーできればいいと思う
あとは起きたエラーに都度対応していくしかない
593デフォルトの名無しさん (ワッチョイ 1a7c-xGsa)
2023/01/03(火) 00:27:15.59ID:mykrlOkz0 >>591
ファイルロックとかは可愛いもんでウイルスに実行ファイルを書き換えられたとか、アクセス中に停電とか、HDD不安定とかもしもを考えだすと切りがない
ファイルロックとかは可愛いもんでウイルスに実行ファイルを書き換えられたとか、アクセス中に停電とか、HDD不安定とかもしもを考えだすと切りがない
594デフォルトの名無しさん (アウアウウー Sac7-9j0N)
2023/01/03(火) 01:34:33.44ID:JZU75e4ya VSCode では、同名のファイルでも、パスが異なると開ける。
a/a.txt, b/a.txt みたいに判別できる
そもそも、そういう事を想定していないアプリがおかしい。
アプリを作る際に、これぐらい誰でも分かる
a/a.txt, b/a.txt みたいに判別できる
そもそも、そういう事を想定していないアプリがおかしい。
アプリを作る際に、これぐらい誰でも分かる
595デフォルトの名無しさん (アウアウウー Sac7-9j0N)
2023/01/03(火) 01:35:01.24ID:JZU75e4ya VSCode では、同名のファイルでも、パスが異なると開ける。
a/a.txt, b/a.txt みたいに判別できる
そもそも、そういう事を想定していないアプリがおかしい。
アプリを作る際に、これぐらい誰でも分かる
a/a.txt, b/a.txt みたいに判別できる
そもそも、そういう事を想定していないアプリがおかしい。
アプリを作る際に、これぐらい誰でも分かる
596デフォルトの名無しさん (ワッチョイ fa74-s9wq)
2023/01/03(火) 01:52:28.54ID:r5MucSoo0 アルツハイマーでもこれくらい分かる
597デフォルトの名無しさん (ワッチョイ 0379-rE+U)
2023/01/03(火) 06:33:04.83ID:t9t/KRTz0 最初にon error resume nextを書いとけばランタイムエラーを出さずに原因不明の謎の挙動だけで済む
もし時間に余裕があれば目星を付けた処理の直後でif err<>0 thenでエラーになってないかチェックする
エラーの検出後はon error goto 0でエラーをクリアして再度on error resume nextを仕掛ける
これぐらいいい加減でもVBAの場合は許されるから覚えておくといい
もし時間に余裕があれば目星を付けた処理の直後でif err<>0 thenでエラーになってないかチェックする
エラーの検出後はon error goto 0でエラーをクリアして再度on error resume nextを仕掛ける
これぐらいいい加減でもVBAの場合は許されるから覚えておくといい
598デフォルトの名無しさん (ワッチョイ 9a01-+uJR)
2023/01/03(火) 06:33:48.96ID:cXTWG1PB0599デフォルトの名無しさん (ワッチョイ 9a01-+uJR)
2023/01/03(火) 06:35:37.55ID:cXTWG1PB0 >>594
むしろダメなのはメジャーなソフトではExcelぐらいだと思うぞ...
むしろダメなのはメジャーなソフトではExcelぐらいだと思うぞ...
600デフォルトの名無しさん (ワッチョイ 0eda-TwI4)
2023/01/03(火) 12:03:30.64ID:fDnSRX1A0 読み込みに失敗、書き込みに失敗程度の動作確認は初心者でなければやると思ってる
あとはエラーコード吐いて、異常がでた場合○○を確認してくださいとかで対応
フリーズしない、ファイルを壊さない、間違った表示をしないように作るのは最低でもやってほしいもんだ
俺ならそうするがみんなは違うのかな?
あとはエラーコード吐いて、異常がでた場合○○を確認してくださいとかで対応
フリーズしない、ファイルを壊さない、間違った表示をしないように作るのは最低でもやってほしいもんだ
俺ならそうするがみんなは違うのかな?
601デフォルトの名無しさん (アウアウウー Sac7-+uJR)
2023/01/03(火) 12:39:40.67ID:a1UWVOIma まあテストをどこまでやるかは状況次第だけどファイル関係をエラートラップしてリトライなりエラー表示をするのは普通だと思う
書捨てとか自分しか使わないならエラートラップを端折ってあえてVBAのエラーで止めるとかはある
個人的にないのは>>597みたいなエラーの握りつぶし
書捨てとか自分しか使わないならエラートラップを端折ってあえてVBAのエラーで止めるとかはある
個人的にないのは>>597みたいなエラーの握りつぶし
602デフォルトの名無しさん (アウアウウー Sac7-IAh0)
2023/01/03(火) 13:00:34.65ID:NsWNvAiQa まともな開発だとエラー握り潰しは絶対ダメだけどVBAだからなあ
必ずエラーが出るゴミみたいなマクロは珍しくないから、いっそ握り潰してくれた方がマシだと思うことはある
必ずエラーが出るゴミみたいなマクロは珍しくないから、いっそ握り潰してくれた方がマシだと思うことはある
603デフォルトの名無しさん (ワッチョイ 1a7c-xGsa)
2023/01/03(火) 13:33:35.71ID:mykrlOkz0604デフォルトの名無しさん (ワッチョイ 9a01-+uJR)
2023/01/03(火) 13:40:10.21ID:cXTWG1PB0605デフォルトの名無しさん (ワッチョイ 9a01-+uJR)
2023/01/03(火) 13:49:00.13ID:cXTWG1PB0606デフォルトの名無しさん (ワッチョイ 1a7c-xGsa)
2023/01/03(火) 14:02:20.98ID:mykrlOkz0607デフォルトの名無しさん (ワッチョイ 1a7c-xGsa)
2023/01/03(火) 14:07:51.30ID:mykrlOkz0 VBAでは絶対に落ちてはいけないシステムとかいう発想自体がシロウト臭丸出しでハズいな
608デフォルトの名無しさん (ワッチョイ 1a7c-xGsa)
2023/01/03(火) 14:09:48.88ID:mykrlOkz0 正月からこんなとこでイキってる程度だから仕方ないか w
609デフォルトの名無しさん (アウアウウー Sac7-+uJR)
2023/01/03(火) 14:34:55.58ID:jJKJi0M8a >>606-608
スレタイ100回読んで来年までROMっとけ
スレタイ100回読んで来年までROMっとけ
610デフォルトの名無しさん (スッップ Sdba-TwI4)
2023/01/03(火) 15:58:29.44ID:zc6LNDpCd >>593なんてハードウェアやその周りのソフトの対策であって開発するアプリケーションで考慮する話ではないと俺も思ってるけどな
まあ戻れないところまで追いつめられて必死なんだろうけどそろそろ落ち着いたらどうかね
まあ戻れないところまで追いつめられて必死なんだろうけどそろそろ落ち着いたらどうかね
611デフォルトの名無しさん
2023/01/04(水) 05:43:45.27ID:kI1B+abx0 やりたいことあって今日人生で初めてプログラミングに触れたんですけど、ぜんぜんわかりません
idが_rって書いてあるから_rって書いてんのになんでこれでエラー吐くんでしょうか
助けてください
https://i.imgur.com/xYbWeZX.jpg
https://i.imgur.com/KMcczJ7.jpg
idが_rって書いてあるから_rって書いてんのになんでこれでエラー吐くんでしょうか
助けてください
https://i.imgur.com/xYbWeZX.jpg
https://i.imgur.com/KMcczJ7.jpg
612デフォルトの名無しさん (ワッチョイ 5a7c-DvB0)
2023/01/04(水) 09:18:44.49ID:9L/11j8r0 まずインデント揃える所から覚えようか
613デフォルトの名無しさん (JP 0He6-9yt5)
2023/01/04(水) 09:44:30.63ID:fU7igCvDH614デフォルトの名無しさん (ワッチョイ 9a01-+uJR)
2023/01/04(水) 09:54:05.40ID:lFNs7lW+0 てかエラーの内容も書かない奴の相手すんなよ...
615デフォルトの名無しさん (スッップ Sdba-TwI4)
2023/01/04(水) 10:34:18.99ID:2ktLmHHjd これって前澤じゃんけんで金もらえるから自動化したいとかそういう事考えてるんじゃね?
616デフォルトの名無しさん (ワッチョイ 9a01-+uJR)
2023/01/04(水) 11:05:45.68ID:lFNs7lW+0 モチベーションの起点はなんでもいいだろ
俺だってエロ画像見たいからperl覚えた口だし
俺だってエロ画像見たいからperl覚えた口だし
617デフォルトの名無しさん (JP 0He6-9yt5)
2023/01/04(水) 11:22:52.20ID:fU7igCvDH >>615
まさにそれだね
招待すると挑戦回数が増える
謎アプリをインストールすると100円ぐらいもらえる
という仕組みらしい
プログラムを覚える同期としてはとても良いと思うが、
登録とか色々必要だからめんどくさくて検証できないな
まさにそれだね
招待すると挑戦回数が増える
謎アプリをインストールすると100円ぐらいもらえる
という仕組みらしい
プログラムを覚える同期としてはとても良いと思うが、
登録とか色々必要だからめんどくさくて検証できないな
618デフォルトの名無しさん (スッップ Sdba-TwI4)
2023/01/04(水) 11:28:33.03ID:2ktLmHHjd619デフォルトの名無しさん (ワッチョイ 9a01-+uJR)
2023/01/04(水) 11:33:57.55ID:lFNs7lW+0 教えないなら黙ってりゃいいのに...
620デフォルトの名無しさん (ワッチョイ 0eda-TwI4)
2023/01/04(水) 17:52:13.99ID:YWyY+Uw80 おまえもな
621デフォルトの名無しさん (ワッチョイ 8b01-lHxW)
2023/01/04(水) 19:22:28.05ID:Hj1uvutd0 教えないぞー!
俺は教えないぞー!!
俺は教えないぞー!!
622デフォルトの名無しさん (エムゾネ FFba-/EFQ)
2023/01/04(水) 20:38:59.74ID:SsOt/AigF それよりもグー、チョキ、パーがr、s、pになる理由を誰か説明してくれ
623デフォルトの名無しさん (ワッチョイ 1a42-ed2K)
2023/01/04(水) 20:45:41.73ID:FttywtqZ0 英語版の頭文字
624デフォルトの名無しさん
2023/01/04(水) 23:17:45.40ID:J/WGQ1Ed0 自己解決しましたありがとうございます
625デフォルトの名無しさん (オッペケ Srbb-yqJD)
2023/01/05(木) 12:03:16.68ID:iBplyV5pr すみません、質問させてください
Listのようなものに最大5000行のデータを表示、編集、Excelに保存したいです
可能なツールと良ければアドバイス等頂けないでしょうか
Listのようなものに最大5000行のデータを表示、編集、Excelに保存したいです
可能なツールと良ければアドバイス等頂けないでしょうか
626デフォルトの名無しさん (ワッチョイ 0eda-mw5R)
2023/01/05(木) 12:18:42.51ID:fXFdLaAK0 Excelを使ってみたらどうかな
627デフォルトの名無しさん (スッップ Sdba-TwI4)
2023/01/05(木) 12:36:59.21ID:f8HxjLWUd Listってなに?
俺には意味不明だけど他の人には通じるのかね
俺には意味不明だけど他の人には通じるのかね
628デフォルトの名無しさん (アウアウウー Sac7-IAh0)
2023/01/05(木) 12:45:31.09ID:8BS+8waCa >>625
PowerApps使えば一行もコード書かずにできるよ
PowerApps使えば一行もコード書かずにできるよ
629デフォルトの名無しさん (JP 0He6-TwI4)
2023/01/05(木) 12:51:12.92ID:BoetuCcOH630デフォルトの名無しさん (オッペケ Srbb-yqJD)
2023/01/05(木) 12:53:15.69ID:iBplyV5pr631デフォルトの名無しさん (JP 0He6-TwI4)
2023/01/05(木) 12:55:06.72ID:BoetuCcOH シートに書いてそれをlistviewに反映させればいいんじゃないかな
632デフォルトの名無しさん (ワッチョイ b666-9yt5)
2023/01/05(木) 12:55:24.41ID:SJZhIGhQ0 エクセル2019とそこに付随するVBAでは日付の起点が違うのですか?
ちょっと調べると1900年をうるう年と勘違いしてるとかなんとかでてきます。
44932とセルに手打ちしてから日付に直すと2023/1/6になります。
=Now()をセルに入力して数値表示すると44932、しかし日付にすると今2023/1/5
VBAは1899/12/30=1でエクセルは1900/1/1=1ということでしょうか?
それでもつじつまがあわないのですが。
ちょっと調べると1900年をうるう年と勘違いしてるとかなんとかでてきます。
44932とセルに手打ちしてから日付に直すと2023/1/6になります。
=Now()をセルに入力して数値表示すると44932、しかし日付にすると今2023/1/5
VBAは1899/12/30=1でエクセルは1900/1/1=1ということでしょうか?
それでもつじつまがあわないのですが。
633デフォルトの名無しさん (オッペケ Srbb-yqJD)
2023/01/05(木) 12:59:20.88ID:iBplyV5pr634デフォルトの名無しさん (ワッチョイ 038e-QCOi)
2023/01/05(木) 13:09:13.57ID:oKKcVbTt0 僕ちゃんの頭の中にはlistviewと勝手に名付けた理想のツールが存在しますということか
635デフォルトの名無しさん (JP 0He6-TwI4)
2023/01/05(木) 13:14:36.43ID:BoetuCcOH >>633
う~~ん、Excelが駄目な理由がよくわかんないな
キャッサバとか使ってみては??
https://forest.watch.impress.co.jp/library/software/cassavaedit/
もしくはスプレッドシート+googleform使うとか
>>632
「数値」は四捨五入されるから同じに見えるだけだよ。シリアル値を確認する時は、小数点も表示した方がいい
ちなみにmac版が1900年-1904年ぐらいがうるう年かlotusかなんかの関係でズレている。1905年以降からは全てのバージョン・マクロで同じシリアル値になる
う~~ん、Excelが駄目な理由がよくわかんないな
キャッサバとか使ってみては??
https://forest.watch.impress.co.jp/library/software/cassavaedit/
もしくはスプレッドシート+googleform使うとか
>>632
「数値」は四捨五入されるから同じに見えるだけだよ。シリアル値を確認する時は、小数点も表示した方がいい
ちなみにmac版が1900年-1904年ぐらいがうるう年かlotusかなんかの関係でズレている。1905年以降からは全てのバージョン・マクロで同じシリアル値になる
636デフォルトの名無しさん (JP 0He6-TwI4)
2023/01/05(木) 13:15:31.72ID:BoetuCcOH637デフォルトの名無しさん (スッップ Sdba-TwI4)
2023/01/05(木) 13:33:51.27ID:f8HxjLWUd >>630
どんな編集したいのか不明だけど楽したいならAccessでもいいんじゃない
そもそも質問が漠然としすぎててListの形式もわからんし
単一項目や相関項目の入力チェックとか何がしたいかも不明なんだよね
質問する側も回答欲しいなら要件を書き出せないと適切な回答もらえないぞ
どんな編集したいのか不明だけど楽したいならAccessでもいいんじゃない
そもそも質問が漠然としすぎててListの形式もわからんし
単一項目や相関項目の入力チェックとか何がしたいかも不明なんだよね
質問する側も回答欲しいなら要件を書き出せないと適切な回答もらえないぞ
638デフォルトの名無しさん (オッペケ Srbb-yqJD)
2023/01/05(木) 13:34:51.53ID:kWWCj/ior639デフォルトの名無しさん (ワッチョイ 9ada-/EFQ)
2023/01/05(木) 16:58:29.73ID:f2A56PmY0640デフォルトの名無しさん (ワッチョイ 33e5-gtGu)
2023/01/05(木) 18:51:14.37ID:EwaN69BP0641デフォルトの名無しさん (ワッチョイ 1a42-ed2K)
2023/01/05(木) 19:13:27.32ID:E/ecJHKW0 何なら良くて何がダメなのかハッキリさせておかないと何度もやり直す羽目になるパターンだな
642632 (ワッチョイ b666-9yt5)
2023/01/06(金) 03:18:12.99ID:6MUppODp0 >>635
明日の昼くらいの時間に=Now()を小数点表示させてみます!感謝です!
明日の昼くらいの時間に=Now()を小数点表示させてみます!感謝です!
643デフォルトの名無しさん (ワッチョイ 4eda-vTgN)
2023/01/06(金) 07:15:36.61ID:Kv5xGipe0 昨日Sessionで「トランプの影響力低下」
と断言した北●さん
面目丸潰れ
と断言した北●さん
面目丸潰れ
644デフォルトの名無しさん (オッペケ Srbb-lHxW)
2023/01/06(金) 12:14:29.82ID:nHEEKyAQr >>640
通じないなら通じる人が答えるから通じない人は黙ってればよくね?
通じないなら通じる人が答えるから通じない人は黙ってればよくね?
645デフォルトの名無しさん (ワッチョイ 0eda-TwI4)
2023/01/06(金) 19:13:43.70ID:dhf9eLfP0 便秘じゃしょうがないな
646デフォルトの名無しさん (ワッチョイ 275f-O8Bg)
2023/01/06(金) 21:21:30.88ID:eBXD7Bag0647デフォルトの名無しさん (ワッチョイ 515f-2AMo)
2023/01/07(土) 13:21:26.68ID:BFQrwMXK0 配列=range("A1:C3")
と格納した配列にrange("A5:C8")を追加で格納したいです
この場合、配列の要素1つづつに格納していくしかないのでしょうか?範囲をまるごと格納できますか?
と格納した配列にrange("A5:C8")を追加で格納したいです
この場合、配列の要素1つづつに格納していくしかないのでしょうか?範囲をまるごと格納できますか?
648デフォルトの名無しさん (ワッチョイ 795f-m8G9)
2023/01/07(土) 18:18:20.53ID:rkRkNs/h0 ぐぐれば配列を結合してくれる関数が出てくるよ
649デフォルトの名無しさん (ワッチョイ abda-Or7w)
2023/01/07(土) 18:45:14.41ID:XI+ZuMXx0 ぐぐれとかの用語を初心者は知らないんじゃね
650デフォルトの名無しさん (JP 0H2b-Or7w)
2023/01/07(土) 21:17:42.27ID:KZGY+9uwH >>647
用途がよく分からんけど、普通に文字列で結合していけばいいのでは?
オブジェクトで返す事もできる
Sub foo()
r = "a2:b3"
r = r & "," & "e3:f4"
r = r & "," & "h3:i4"
Range(r).Value = 1
Set ra = Range(r)
ra.Activate
End Sub
Intersect辺りでもなにかできそうかも?と考えたけど、
全然できないかもしれない
用途がよく分からんけど、普通に文字列で結合していけばいいのでは?
オブジェクトで返す事もできる
Sub foo()
r = "a2:b3"
r = r & "," & "e3:f4"
r = r & "," & "h3:i4"
Range(r).Value = 1
Set ra = Range(r)
ra.Activate
End Sub
Intersect辺りでもなにかできそうかも?と考えたけど、
全然できないかもしれない
651デフォルトの名無しさん (ワッチョイ 5b66-tb1I)
2023/01/08(日) 01:02:59.56ID:mpsC9VsR0 オブジェクト指向って
Range.Offset(1).value
みたいな事でしょうか?
自作関数って基本は引数渡して返り値貰ってみたいな手続きするだけの存在ですが、
それをオブジェクトを作る関数(Rangeオブジェクトみたいなものを生み出せる関数)にして、
その関数から出てきたオブジェクトは
メソッドA、メソッドBが使えて、プロパティA、プロパティBみたいな状態も持っている
みたいな考えの元に組んでいくとオブジェクト指向なプログラミングになるのでしょうか?
それはやはりそういう形式を取った方が、少ない脳みそでも複雑化に対応できるという事なのでしょうか?
同じ機能を持ったプログラミングを後から書き直す事があります。
勉強を進めた結果、「もしかしてこういうルールで書いた方がわかりやすいかも」みたいに思って書き直します。
うまく行くと複雑だと思っていたものがとてもチープで難易度の低いものに見えてきます。
オブジェクト指向はその極致みたいなものですか?
Range.Offset(1).value
みたいな事でしょうか?
自作関数って基本は引数渡して返り値貰ってみたいな手続きするだけの存在ですが、
それをオブジェクトを作る関数(Rangeオブジェクトみたいなものを生み出せる関数)にして、
その関数から出てきたオブジェクトは
メソッドA、メソッドBが使えて、プロパティA、プロパティBみたいな状態も持っている
みたいな考えの元に組んでいくとオブジェクト指向なプログラミングになるのでしょうか?
それはやはりそういう形式を取った方が、少ない脳みそでも複雑化に対応できるという事なのでしょうか?
同じ機能を持ったプログラミングを後から書き直す事があります。
勉強を進めた結果、「もしかしてこういうルールで書いた方がわかりやすいかも」みたいに思って書き直します。
うまく行くと複雑だと思っていたものがとてもチープで難易度の低いものに見えてきます。
オブジェクト指向はその極致みたいなものですか?
652デフォルトの名無しさん (ワッチョイ c179-Jp3v)
2023/01/08(日) 02:37:15.71ID:FOdy7Dic0 >>651
>みたいな事でしょうか?
それはメソッドチェーンという記法で、オブジェクト指向言語から生まれた副産物
一見便利で、実際これが無ければVB/VBAはとっくに廃れていたと思われる
ただしメソッドの呼び出しと中間オブジェクトの生成で毎回コストが掛かるため、
複数同じような処理を書く場合は一旦適当な変数で受けるか、VBAの場合はWithステートメントでまとめた方が良い
>みたいな事でしょうか?
それはメソッドチェーンという記法で、オブジェクト指向言語から生まれた副産物
一見便利で、実際これが無ければVB/VBAはとっくに廃れていたと思われる
ただしメソッドの呼び出しと中間オブジェクトの生成で毎回コストが掛かるため、
複数同じような処理を書く場合は一旦適当な変数で受けるか、VBAの場合はWithステートメントでまとめた方が良い
653デフォルトの名無しさん (スッププ Sdb3-BvPj)
2023/01/08(日) 02:50:51.43ID:Z6otLx+Dd オブジェクト指向の原理主義的には、関数の戻り値はあまり積極的に使用すべきではない
でもドットで階層を掘っていくのは頭悪い人にもわかりやすいから、VB系のエセオブジェクト指向ではわりとよく使われる
でもドットで階層を掘っていくのは頭悪い人にもわかりやすいから、VB系のエセオブジェクト指向ではわりとよく使われる
654デフォルトの名無しさん (ワッチョイ 795f-dd/F)
2023/01/08(日) 03:26:30.83ID:nZw+zsKC0 >>653
「関数」という自分しかわからない用語の定義で話すのはやめろ
「関数」という自分しかわからない用語の定義で話すのはやめろ
655デフォルトの名無しさん (ラクッペペ MM4b-5Yp/)
2023/01/08(日) 08:20:15.45ID:oIS5HnAUM オブジェクト指向には大きく分けてクラスベースとプロトタイプベースの2種類の流派がある
ちなみにExcel VBAのオブジェクト指向はどちらとも言えない傍流としか言いようがない
本格的にオブジェクト指向を学ぶなら別の言語の方が良い
ちなみにExcel VBAのオブジェクト指向はどちらとも言えない傍流としか言いようがない
本格的にオブジェクト指向を学ぶなら別の言語の方が良い
656デフォルトの名無しさん (JP 0H2b-Or7w)
2023/01/08(日) 11:07:33.40ID:9yImgFMvH >>651
エクセルvbaの場合、オブジェクト指向かどうかは考えなくていいよ
オブジェクト指向かどうかは、オブジェクトをメインに据えるかどうかによる
しかしエクセルvbaは「エクセル」という超巨大なオブジェクトが中心なので、
普通に書いてたら勝手にオブジェクト指向になる
エクセルvbaの場合、オブジェクト指向かどうかは考えなくていいよ
オブジェクト指向かどうかは、オブジェクトをメインに据えるかどうかによる
しかしエクセルvbaは「エクセル」という超巨大なオブジェクトが中心なので、
普通に書いてたら勝手にオブジェクト指向になる
657デフォルトの名無しさん (ワッチョイ c9ce-DSRP)
2023/01/08(日) 11:19:24.04ID:ardQjEVJ0 そもそもWindowsというOSを使ってる時点で、すべてのアプリは「Window」オブジェクトの上で転がってるだけ
658デフォルトの名無しさん (ラクッペペ MM4b-5Yp/)
2023/01/08(日) 12:08:40.63ID:6Q9yzQxXM オブジェクトの設計図そのものを作って組み合せていくスタイルがクラスベース(C++やC#など)
半完成品のオブジェクトに手を加え加工したクローンを作って組み合わせていくスタイルがプロトタイプベース(JavaScript/TypeScriptなど)
Excel VBAは完成品として用意されたオブジェクトをそのまま利用するスタイル
(VBAのクラスモジュールは変数や関数を単純 にまとめるだけでクラス自体の拡張性はほぼ無い)
半完成品のオブジェクトに手を加え加工したクローンを作って組み合わせていくスタイルがプロトタイプベース(JavaScript/TypeScriptなど)
Excel VBAは完成品として用意されたオブジェクトをそのまま利用するスタイル
(VBAのクラスモジュールは変数や関数を単純 にまとめるだけでクラス自体の拡張性はほぼ無い)
659デフォルトの名無しさん (JP 0H2b-Or7w)
2023/01/08(日) 23:34:49.21ID:9yImgFMvH sheetクラスを継承できれば・・・
いやできなくてよかった
いやできなくてよかった
660デフォルトの名無しさん (ワッチョイ c179-Jp3v)
2023/01/09(月) 00:09:50.06ID:2yNmR2Eh0 VBAのオブジェクト指向機能は、あくまでCOMを使うために設計されてると言っていいよ
OfficeやC++その他で作成されたCOMを利用するだけだし
クラスを作ったりできるのはおまけで、VBAでそこからさらに派生なんてことは誰もやらないし
OfficeやC++その他で作成されたCOMを利用するだけだし
クラスを作ったりできるのはおまけで、VBAでそこからさらに派生なんてことは誰もやらないし
661デフォルトの名無しさん (ワッチョイ 9301-Kria)
2023/01/09(月) 08:59:03.23ID:YumOwVoa0 できないからやらないだけできるなら派生とかやりまくってると思う
662デフォルトの名無しさん (JP 0H2b-Or7w)
2023/01/09(月) 12:03:48.87ID:ruGKlfL0H あまり考えたくないな
663デフォルトの名無しさん (スッププ Sdb3-BvPj)
2023/01/09(月) 13:50:58.25ID:iDst/v4Qd 現代的なオブジェクト指向ではクラスの継承はあまり使用せずインターフェイスを使うので、クラスを派生できないこと自体はそれほど問題ではない
とはいえVBAでクラスを使うべきでないのは同意する
とはいえVBAでクラスを使うべきでないのは同意する
664デフォルトの名無しさん (ワッチョイ abda-Or7w)
2023/01/10(火) 19:35:26.63ID:2zy2vhhW0 オブジェクト指向は考え方の一つとして知っていればいい
665デフォルトの名無しさん (アウアウウー Sa85-0mpF)
2023/01/10(火) 19:47:40.17ID:10oUx2C+a VBAのたとえなんちゃってオブジェクト指向でもクラスは普通に便利じゃん
俺はカプセル化もオブジェクト指向も正直どうでもいいから
Publicで書いたりすることも少なく無い
俺はカプセル化もオブジェクト指向も正直どうでもいいから
Publicで書いたりすることも少なく無い
666651 (ワッチョイ 5b66-tb1I)
2023/01/11(水) 00:58:56.65ID:UjJptVS80 オブジェクト指向の話は自分にはまだ早かったようです。
時間のあるときにC++やC#の世界がどんなものか覗いてみようと思います。
ありがとうございました。
ちょっと初歩的な事で質問をしたいのですが、
UserForm1の方に
Private Sub ButtonEnter_Click()
FormData = TextBox1.Value
Unload Me
End Sub
とあるとします。エクセルシート側のコマンドボタンに登録してるマクロには
Public FormData as Variant
Sub Sample()
FormData = 1
UserForm1.Show vbModeless
MsgBox FormData
end Sub
みたいにしてパブリック変数でフォームの入力値のやりとりをしようとしています。
しかしこれを実行するとユーザーフォームが表示された直後にMsgBoxが1表示してきます。
原因はvbModelessまでは調べが付きました。
RefEditでvbModeless使うとボタンが反応しなくなりエクセルの強制終了しか手がなくなる事も。
win10office2019環境特有かもしれませんが。
そこで質問ですがvbModelessって本来どうやって使うものなのでしょうか?
この挙動だと何にも使えない気がするのです。
処理がShowで止まらずに進んでしまうので入力値を受け取れませんし。
処理を止めるコードとセットで使うのでしょうか?
RefEditでは絶対にvbModelessは正常に動作しませんか?
時間のあるときにC++やC#の世界がどんなものか覗いてみようと思います。
ありがとうございました。
ちょっと初歩的な事で質問をしたいのですが、
UserForm1の方に
Private Sub ButtonEnter_Click()
FormData = TextBox1.Value
Unload Me
End Sub
とあるとします。エクセルシート側のコマンドボタンに登録してるマクロには
Public FormData as Variant
Sub Sample()
FormData = 1
UserForm1.Show vbModeless
MsgBox FormData
end Sub
みたいにしてパブリック変数でフォームの入力値のやりとりをしようとしています。
しかしこれを実行するとユーザーフォームが表示された直後にMsgBoxが1表示してきます。
原因はvbModelessまでは調べが付きました。
RefEditでvbModeless使うとボタンが反応しなくなりエクセルの強制終了しか手がなくなる事も。
win10office2019環境特有かもしれませんが。
そこで質問ですがvbModelessって本来どうやって使うものなのでしょうか?
この挙動だと何にも使えない気がするのです。
処理がShowで止まらずに進んでしまうので入力値を受け取れませんし。
処理を止めるコードとセットで使うのでしょうか?
RefEditでは絶対にvbModelessは正常に動作しませんか?
667デフォルトの名無しさん (スッップ Sdb3-Or7w)
2023/01/11(水) 07:07:46.99ID:ESDkH7B7d 画面表示後に後続のコードを実行させたくないなら vbModal にしないとだめ
vbModeless のままで作りたいなら後続のコードを画面側にもっていくか
ブック側に別のPublic関数として用意して画面側から実行するなりしないとだめ
vbModeless は画面を表示した状態でもブック側を操作できるようにしたいときに指定するものなので
そういう事をしたいときに使いましょう
vbModeless のままで作りたいなら後続のコードを画面側にもっていくか
ブック側に別のPublic関数として用意して画面側から実行するなりしないとだめ
vbModeless は画面を表示した状態でもブック側を操作できるようにしたいときに指定するものなので
そういう事をしたいときに使いましょう
668デフォルトの名無しさん (ワッチョイ 19da-tb1I)
2023/01/11(水) 07:14:17.28ID:pPL7W2Oc0 >>666
vbModeless は単純にユーザーフォームを表示したままEXCELシートを編集できるようにするか
否かなので、入力待ちのような場合には不要ですね。
本来の使い方というか、特徴からしてフローティングツールボックスみたいなことができる感じ?
Photoshopとか見たことあるとイメージしやすいかな。。。
必要かどうかは置いておいて例えば、、、
複数のマクロが作ってあるEXCELファイルでシート上のコマンドボタンでマクロ呼出ししようと
すると当然、別シートに移ると使えなくなるけどvbModelessのユーザーフォームに作っておけば
シートを移ってもボタン一発で呼び出せる、みたいな?
あとはテーブルがいくつか作られているシートでテーブルを渡りながら編集する必要がある場合、
目的のテーブルのみを表示させるマクロを登録しておけば簡単にアクセスできるようになる、とか。
どちらもどうでもいい使い方だけどw
ユーザーフォームとのデータの受け渡しならココを参考にしてみては?
関数化して引数でやりとりしてしまえばいいような気がする。。。
https://excel-ubara.com/excelvba3/EXCELFORM010.html
vbModeless は単純にユーザーフォームを表示したままEXCELシートを編集できるようにするか
否かなので、入力待ちのような場合には不要ですね。
本来の使い方というか、特徴からしてフローティングツールボックスみたいなことができる感じ?
Photoshopとか見たことあるとイメージしやすいかな。。。
必要かどうかは置いておいて例えば、、、
複数のマクロが作ってあるEXCELファイルでシート上のコマンドボタンでマクロ呼出ししようと
すると当然、別シートに移ると使えなくなるけどvbModelessのユーザーフォームに作っておけば
シートを移ってもボタン一発で呼び出せる、みたいな?
あとはテーブルがいくつか作られているシートでテーブルを渡りながら編集する必要がある場合、
目的のテーブルのみを表示させるマクロを登録しておけば簡単にアクセスできるようになる、とか。
どちらもどうでもいい使い方だけどw
ユーザーフォームとのデータの受け渡しならココを参考にしてみては?
関数化して引数でやりとりしてしまえばいいような気がする。。。
https://excel-ubara.com/excelvba3/EXCELFORM010.html
669666 (ワッチョイ 5b66-tb1I)
2023/01/11(水) 10:17:37.94ID:UjJptVS80 >>667>>668
ありがとうございます。
パブリック変数よりFunctionの戻り値をうまく使うっていう方がいいのですね。
UserForm_Initializeもいらなくなりそうですね。
フォームが増えていくとフォーム毎に渡すよう受け取るようのパブリック変数作って
ちょっと管理しづらいなと思っていましたのでいい勉強になりました。
Hideも使っていきます。
モーダルだとフォーム出てる間、タッチパッドの二本指スクロールが正常に動作しなくなるので
そのためだけにモードレスに魅力を感じていました。
ありがとうございます。
パブリック変数よりFunctionの戻り値をうまく使うっていう方がいいのですね。
UserForm_Initializeもいらなくなりそうですね。
フォームが増えていくとフォーム毎に渡すよう受け取るようのパブリック変数作って
ちょっと管理しづらいなと思っていましたのでいい勉強になりました。
Hideも使っていきます。
モーダルだとフォーム出てる間、タッチパッドの二本指スクロールが正常に動作しなくなるので
そのためだけにモードレスに魅力を感じていました。
670666 (ワッチョイ 5b66-tb1I)
2023/01/11(水) 10:30:30.16ID:UjJptVS80 >>668
ちなみにそのサイトにあるdoModalというフォーム側に書くパブリック関数名ですが。
今試したところ、標準モジュールと違ってPublic Subで同名のdoModal関数を
フォーム毎に一つずつ名前重複エラーにならなかったんですが、これを仕様として受け止めて
フォーム側の呼び出し関数を全部同じ名前にしてしまっても安全でしょうか?
フォームが5個あるとして、別々の呼び出し関数を作るのは名前を憶えれないどうせ
呼び出し時には
標準モジュール側で
受け取る変数名 = FormName.doModal(引数1,引数2)
みたいにするので別にdoModalにこだわりませんでが
フォーム名.Initializeとか、フォーム名.ShowMeとかにする危険性はありますでしょうか?
ちなみにそのサイトにあるdoModalというフォーム側に書くパブリック関数名ですが。
今試したところ、標準モジュールと違ってPublic Subで同名のdoModal関数を
フォーム毎に一つずつ名前重複エラーにならなかったんですが、これを仕様として受け止めて
フォーム側の呼び出し関数を全部同じ名前にしてしまっても安全でしょうか?
フォームが5個あるとして、別々の呼び出し関数を作るのは名前を憶えれないどうせ
呼び出し時には
標準モジュール側で
受け取る変数名 = FormName.doModal(引数1,引数2)
みたいにするので別にdoModalにこだわりませんでが
フォーム名.Initializeとか、フォーム名.ShowMeとかにする危険性はありますでしょうか?
671デフォルトの名無しさん (ラクッペペ MM4b-eWfQ)
2023/01/11(水) 10:47:26.82ID:fNRPVgbqM オブジェクト指向ですね
672デフォルトの名無しさん (スッップ Sdb3-Or7w)
2023/01/11(水) 11:07:44.33ID:ESDkH7B7d >>670
標準モジュールに宣言するPublic関数とは違って
ユーザーフォームに宣言するPublic関数はユーザーフォーム名.XXXのような記載をして呼び出すので同名の関数でも構わない
(XXX単独では呼べない)
標準モジュールに宣言するPublic関数とは違って
ユーザーフォームに宣言するPublic関数はユーザーフォーム名.XXXのような記載をして呼び出すので同名の関数でも構わない
(XXX単独では呼べない)
673デフォルトの名無しさん (スッップ Sdb3-Or7w)
2023/01/11(水) 11:12:01.18ID:ESDkH7B7d674デフォルトの名無しさん (スップ Sdb3-5JHk)
2023/01/11(水) 12:42:00.54ID:R7jAcCIud >>670
> みたいにするので別にdoModalにこだわりませんでが
> フォーム名.Initializeとか、フォーム名.ShowMeとかにする危険性はありますでしょうか?
頭にshowをつけてユニークな名前にすることは個人的にはよくある。
initializeはつけたことないけどユニークな名前なら平気なんじゃないかな。ただVBA側で用意されている名前に酷似してしまうから避けるけど。
> みたいにするので別にdoModalにこだわりませんでが
> フォーム名.Initializeとか、フォーム名.ShowMeとかにする危険性はありますでしょうか?
頭にshowをつけてユニークな名前にすることは個人的にはよくある。
initializeはつけたことないけどユニークな名前なら平気なんじゃないかな。ただVBA側で用意されている名前に酷似してしまうから避けるけど。
675670 (ワッチョイ 5b66-tb1I)
2023/01/11(水) 14:39:04.35ID:UjJptVS80 >>672
そうですよね。自信持って決まった名前のやつ使い回します。
>>673
見る習慣なかったですが見ないと理解は深まらないやつですねこれは。
>>674
予約語とぶつからないよう気を付けます。
グローバル変数のやりとりなくしたら右上×ボタン閉じでエラーが出る原因が突き止められなくて苦労しました。
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = vbFormControlMenu Then
Cancel = True
Me.Hide
End If
End Sub
右上×ボタンで閉じるとShowの次の行に制御は戻るのに、モジュールレベルの変数は
値をクリアされてしまうのですね。
とりあえずグローバルのやりとりは卒業できました。ありがとうございました。
そうですよね。自信持って決まった名前のやつ使い回します。
>>673
見る習慣なかったですが見ないと理解は深まらないやつですねこれは。
>>674
予約語とぶつからないよう気を付けます。
グローバル変数のやりとりなくしたら右上×ボタン閉じでエラーが出る原因が突き止められなくて苦労しました。
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = vbFormControlMenu Then
Cancel = True
Me.Hide
End If
End Sub
右上×ボタンで閉じるとShowの次の行に制御は戻るのに、モジュールレベルの変数は
値をクリアされてしまうのですね。
とりあえずグローバルのやりとりは卒業できました。ありがとうございました。
676デフォルトの名無しさん (ワッチョイ 5b19-bgKu)
2023/01/11(水) 23:25:55.84ID:DN2jjrph0 オブジェクト指向では
多態性を覚えて初めてその恩恵を実感すると思う。
多態性を覚えて初めてその恩恵を実感すると思う。
677デフォルトの名無しさん (ワッチョイ 5b66-tb1I)
2023/01/12(木) 01:03:37.94ID:kydlVtmO0 >>676
多態性とは…
プログラムの経験が浅いとイマイチ具体例が出て来なくてモヤモヤっとした状態から抜け出せませんね。
VBAはオブジェクトは作れないけど、元々作ってあるオブジェクトの利用は出来るんですよね?多分
as objectとされるものは大体、オブジェクト名.プロパティ名とかオブジェクト名.メソッド名みたいなの持ってますよね。
継承というのは、Range.InsertとRange.EntireRow.Insertみたいな親クラスのメソッドを
引き継いでる子クラスみたいなことなのでしょうか。
今の経験量ではどれだけリファレンスサイトを読んでもピンときません。
残念ですし、アドバイスを活かせず申し訳ないです。
オブジェクト指向と非オブジェクト指向の境目がわかるようになるまで深入りしないようにしようと思っています。
多態性とは…
プログラムの経験が浅いとイマイチ具体例が出て来なくてモヤモヤっとした状態から抜け出せませんね。
VBAはオブジェクトは作れないけど、元々作ってあるオブジェクトの利用は出来るんですよね?多分
as objectとされるものは大体、オブジェクト名.プロパティ名とかオブジェクト名.メソッド名みたいなの持ってますよね。
継承というのは、Range.InsertとRange.EntireRow.Insertみたいな親クラスのメソッドを
引き継いでる子クラスみたいなことなのでしょうか。
今の経験量ではどれだけリファレンスサイトを読んでもピンときません。
残念ですし、アドバイスを活かせず申し訳ないです。
オブジェクト指向と非オブジェクト指向の境目がわかるようになるまで深入りしないようにしようと思っています。
678デフォルトの名無しさん (ワッチョイ 992f-AyIk)
2023/01/12(木) 01:27:45.18ID:285P/eUV0 VBAはそもそもちゃんとしたオブジェクト指向言語じゃないから
ちゃんとしたオブジェクト指向言語やらんと、その境目なんてわからんよ
ちゃんとしたオブジェクト指向言語やらんと、その境目なんてわからんよ
679デフォルトの名無しさん (ワッチョイ 5b19-bgKu)
2023/01/12(木) 05:03:44.98ID:DzjvAA7t0 そうね
Object指向の概念はVBAだけやってれば
人によっては一生身につかないかもね。
この手の参考資料が一番多いのはやっぱりJavaになるのかなぁ。
VBAと文法が近いVB.Netでもあまり見かけないね。アレもIObject指向言語なのに。
Object指向の概念はVBAだけやってれば
人によっては一生身につかないかもね。
この手の参考資料が一番多いのはやっぱりJavaになるのかなぁ。
VBAと文法が近いVB.Netでもあまり見かけないね。アレもIObject指向言語なのに。
680デフォルトの名無しさん (スッップ Sdb3-kOMB)
2023/01/12(木) 14:53:02.95ID:HTRe+k0wd >>679
お前には見つけられないだけ
お前には見つけられないだけ
681デフォルトの名無しさん (ワッチョイ 2b46-K0Bq)
2023/01/12(木) 15:01:56.40ID:LJFXYIUK0 vbscriptでwin32apiのキーダウンを使おうとしているのですが、
キーダウンは検知できるのですが、標準入力に押したキーが入ってしまいます。
この標準入力を削除することはできないでしょうか
もしくはキーダウンが標準入力にならないようにする方法はないでしょうか
キーダウンは検知できるのですが、標準入力に押したキーが入ってしまいます。
この標準入力を削除することはできないでしょうか
もしくはキーダウンが標準入力にならないようにする方法はないでしょうか
682デフォルトの名無しさん (スッップ Sdb3-Or7w)
2023/01/12(木) 15:37:08.41ID:EIUtrygUd ここはExcelVBAのスレなのでスレチです
683デフォルトの名無しさん (ワッチョイ c179-Jp3v)
2023/01/12(木) 18:59:52.86ID:UVTOHIyL0 vbsのスレは気持ち悪いからねえ
win32apiコールとか何でもできるpowershellを検討しよう
win32apiコールとか何でもできるpowershellを検討しよう
684デフォルトの名無しさん (ブーイモ MM4b-AA8W)
2023/01/12(木) 21:50:28.71ID:YA4W27ZxM でもパワーシェルはダブルクリックで起動できないって
ところが
ところが
685デフォルトの名無しさん (スッップ Sdb3-kOMB)
2023/01/12(木) 22:14:31.34ID:HTRe+k0wd >>684
馬鹿にはできないだけだぞ
馬鹿にはできないだけだぞ
686デフォルトの名無しさん (ワッチョイ 9301-bzo3)
2023/01/12(木) 22:22:53.89ID:Iq4TKL6o0 >>684
バッチからPowerShell呼べばいいだけ
バッチからPowerShell呼べばいいだけ
687デフォルトの名無しさん (ラクッペペ MM4b-5Yp/)
2023/01/12(木) 22:26:21.46ID:9uITPonqM PowerShellのスクリプトは.ps1ファイル
普通に起動できる
普通に起動できる
688デフォルトの名無しさん (ワッチョイ 5b19-bgKu)
2023/01/12(木) 22:27:21.44ID:DzjvAA7t0689デフォルトの名無しさん (スッップ Sdb3-kOMB)
2023/01/12(木) 22:47:57.75ID:HTRe+k0wd >>688
VB.NETの方
VB.NETの方
690デフォルトの名無しさん (ブーイモ MM4b-AA8W)
2023/01/13(金) 05:15:26.60ID:60PuJGcsM パワーシェルでやってみます
691デフォルトの名無しさん (アウアウウー Sa85-AyIk)
2023/01/13(金) 06:09:05.42ID:pezk+gKQa オブジェクト指向の典型は、Ruby on Rails。
派生ばっかり
おまけにRubyは、メソッドチェーンで関数型プログラミングもできる
ウェブ開発では、ガチガチのオブジェクト指向で、
テキスト処理では、Linux のパイプラインみたいなメソッドチェーンの両方を使うから、
あらゆるデザインパターンの宝庫
おまけに、Stack Overflow によると米国年収ではトップ。
Rubyは9.3万ドル、多くの言語は6.5万ドル、PHPは5万ドル
派生ばっかり
おまけにRubyは、メソッドチェーンで関数型プログラミングもできる
ウェブ開発では、ガチガチのオブジェクト指向で、
テキスト処理では、Linux のパイプラインみたいなメソッドチェーンの両方を使うから、
あらゆるデザインパターンの宝庫
おまけに、Stack Overflow によると米国年収ではトップ。
Rubyは9.3万ドル、多くの言語は6.5万ドル、PHPは5万ドル
692デフォルトの名無しさん (ワッチョイ 5b19-bgKu)
2023/01/13(金) 09:12:44.75ID:ZL1fQ8g50693デフォルトの名無しさん (アウアウウー Sa91-2RK8)
2023/01/14(土) 13:37:47.00ID:wDcYqAP4a また何かにつけて馬鹿馬鹿って連呼するヤツが来たか。揚げ足の取り合い、誹謗中傷スレになるのも時間の問題だな
荒らしにイチイチ構っているお前らも同罪
荒らしにイチイチ構っているお前らも同罪
694デフォルトの名無しさん (アウアウウー Sa91-487d)
2023/01/14(土) 15:05:35.60ID:Ta24dazVa そんな馬鹿な
695デフォルトの名無しさん (ワッチョイ 8663-+y77)
2023/01/14(土) 16:08:53.73ID:2YQsutp50 Rubyはほんとにオブジェクト指向の学習に向いてるのに5chだとキチガイのせいで勧めづらい
いい加減消えてほしい
いい加減消えてほしい
696デフォルトの名無しさん (JP 0H6e-f6s+)
2023/01/14(土) 21:16:02.63ID:MMspDEqhH 今ruby勧めたらボッコボコにたたかれるだろうな
697デフォルトの名無しさん (ワッチョイ 4110-2RK8)
2023/01/15(日) 03:52:20.14ID:N2qBk67x0 新年明けましておめでとう
今年はここの住人に《禿》とか《馬鹿》とか《氏ね》とか言われない事を目標にするぞ!
今年はここの住人に《禿》とか《馬鹿》とか《氏ね》とか言われない事を目標にするぞ!
698デフォルトの名無しさん (JP 0H6e-f6s+)
2023/01/15(日) 09:48:56.12ID:OWvGRTxwH >>697
禿ましておめでとうございます
禿ましておめでとうございます
699デフォルトの名無しさん (アウアウウー Sa91-2RK8)
2023/01/15(日) 22:39:41.40ID:aQZF8rrya 氏ね
700デフォルトの名無しさん (ワッチョイ 4a10-JJzj)
2023/01/16(月) 01:40:45.06ID:EHand8Cf0 >>682
VBSからWin32api呼ぶのにVBA使わんの?
VBSからWin32api呼ぶのにVBA使わんの?
701デフォルトの名無しさん (ワッチョイ cd79-sA4L)
2023/01/16(月) 03:47:49.20ID:O4/VkLb30 別の確実な方法があるのにそんなもん使わないのでは
702デフォルトの名無しさん (ワッチョイ ca01-ue0x)
2023/01/16(月) 04:20:04.61ID:MheiSf/Y0 VBA使ってAPIコールするなら最初からVBAで作るだろ...
何が悲しくてvbsなんて使うんだよ
何が悲しくてvbsなんて使うんだよ
703デフォルトの名無しさん (スップ Sdea-f6s+)
2023/01/16(月) 07:47:36.98ID:6JcN0E/Sd >>700
ここは”Excel”のVBAスレです
ここは”Excel”のVBAスレです
704デフォルトの名無しさん (JP 0H6e-f6s+)
2023/01/16(月) 07:56:54.09ID:pOVzc0STH もう忘れたけどvbsの方がいい場面があることはある
ただもう二度と使う事はないだろう
ただもう二度と使う事はないだろう
705デフォルトの名無しさん (ワッチョイ 4110-2RK8)
2023/01/16(月) 11:52:06.85ID:9WgehSBk0 Excelのスレだったのか?
706デフォルトの名無しさん (アウアウウー Sa91-487d)
2023/01/16(月) 11:57:18.10ID:ySDGoo7La スレタイ読めないのか
707デフォルトの名無しさん (オッペケ Sr6d-O4H0)
2023/01/16(月) 12:02:48.00ID:saP8Jzxpr >>705
流石にこの発言は馬鹿と言われても仕方ないな
流石にこの発言は馬鹿と言われても仕方ないな
708デフォルトの名無しさん (スップ Sdea-f6s+)
2023/01/16(月) 12:10:40.38ID:6JcN0E/Sd Excelにかぎらなければこっちにスレがあるからこちらへどうぞ
VBAなんでも質問スレ Part3
https://mevius.5ch.net/test/read.cgi/tech/1631184381/
VBAなんでも質問スレ Part3
https://mevius.5ch.net/test/read.cgi/tech/1631184381/
709デフォルトの名無しさん (オッペケ Sr6d-O4H0)
2023/01/16(月) 12:19:23.79ID:saP8Jzxpr710デフォルトの名無しさん (ワッチョイ cada-7DGa)
2023/01/16(月) 12:29:47.52ID:Y+j2ikJL0 それはw 自分の発言読み返して反省しろよw >>705 はボケただけだろ 客席がドッ!と沸くトコだぞ
711デフォルトの名無しさん (アウアウウー Sa91-ue0x)
2023/01/16(月) 12:40:01.09ID:jJVBcCwBa ガチでボケてるのか後出しでボケたことにしたいのか
どちらにせよ>>710が恥ずかしいことに変わりはないなw
どちらにせよ>>710が恥ずかしいことに変わりはないなw
712デフォルトの名無しさん (ワッチョイ 4110-2RK8)
2023/01/16(月) 18:41:31.88ID:9WgehSBk0 スレの住人のカラーや雰囲気全然違ってワロタww
ここは人をバカにして楽しむクソスレww
ここは人をバカにして楽しむクソスレww
713デフォルトの名無しさん (ラクッペペ MMde-+m4i)
2023/01/16(月) 19:21:15.63ID:2xniVU/jM winapi使いたいならexe作れよ
古いけどVB.NETのコンパイラ入ってるから
古いけどVB.NETのコンパイラ入ってるから
714デフォルトの名無しさん (スップ Sdea-f6s+)
2023/01/16(月) 21:08:05.75ID:6JcN0E/Sd715デフォルトの名無しさん (ワッチョイ 4a10-JJzj)
2023/01/17(火) 21:21:18.66ID:uo4zKdp70716デフォルトの名無しさん (ワッチョイ 4110-2RK8)
2023/01/17(火) 22:19:09.74ID:BSKY6W440 たまに勘違いしてVBの質問してくる人とかいるくらいだからな。
717デフォルトの名無しさん (ワッチョイ c63c-w88e)
2023/01/17(火) 22:29:25.09ID:lscX0yJQ0 vbaとribbon customuiって直接関係ありませんが、マクロをribbon customuiから利用を考えています。
ネットやyoutube等調べて試したのですが、タブやボタンが表示されずに困っています。
また2007と2010でxmlnsの名前空間指定方法が異なることも理解しているつもりです。
2010以降を想定しています。
環境:Excel for Microsoft 365 MSO (バージョン 2212 ビルド 16.0.15928.20196) 64 ビット
ribbon_test.xlsm(zip)
_rels, customUI, docProps, xl, [Content_Types].xml
マクロ
Module1.main
_relsの.rels
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
<Relationship Id="rId3" Type="(略)" Target="docProps/core.xml"/>
<Relationship Id="rId1" Type="(略)" Target="xl/workbook.xml"/>
<Relationship Id="rId4" Type="(略)" Target="docProps/app.xml"/>
<Relationship Id="rId5" Type="http://schemas.microsoft.com/office/2007/relationships/ui/extensibility" Target="customUI/customUI14.xml"/>
</Relationships>
customUIのcustomUI14.xml
<?xml version="1.0" encoding="utf-8"?>
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
<ribbon><tabs>
<tab id="CustomTab" label="Custom Tab">
<group id="customGroup" label="Custom Group"><button id="member" visible="true" label="Custom Button" size="large" imageMso="HappyFace" onAction="Module1.main" /></group>
</tab>
</tabs></ribbon>
</customUI>
ご教授お願いいたしますm(_ _;)m
ネットやyoutube等調べて試したのですが、タブやボタンが表示されずに困っています。
また2007と2010でxmlnsの名前空間指定方法が異なることも理解しているつもりです。
2010以降を想定しています。
環境:Excel for Microsoft 365 MSO (バージョン 2212 ビルド 16.0.15928.20196) 64 ビット
ribbon_test.xlsm(zip)
_rels, customUI, docProps, xl, [Content_Types].xml
マクロ
Module1.main
_relsの.rels
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
<Relationship Id="rId3" Type="(略)" Target="docProps/core.xml"/>
<Relationship Id="rId1" Type="(略)" Target="xl/workbook.xml"/>
<Relationship Id="rId4" Type="(略)" Target="docProps/app.xml"/>
<Relationship Id="rId5" Type="http://schemas.microsoft.com/office/2007/relationships/ui/extensibility" Target="customUI/customUI14.xml"/>
</Relationships>
customUIのcustomUI14.xml
<?xml version="1.0" encoding="utf-8"?>
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
<ribbon><tabs>
<tab id="CustomTab" label="Custom Tab">
<group id="customGroup" label="Custom Group"><button id="member" visible="true" label="Custom Button" size="large" imageMso="HappyFace" onAction="Module1.main" /></group>
</tab>
</tabs></ribbon>
</customUI>
ご教授お願いいたしますm(_ _;)m
718デフォルトの名無しさん (ワッチョイ c63c-w88e)
2023/01/17(火) 23:43:37.93ID:lscX0yJQ0 自己解決できました。
お騒がせしました。
お騒がせしました。
719デフォルトの名無しさん (ワッチョイ 595f-+wCe)
2023/01/18(水) 20:59:44.95ID:ta9bzp4r0 なんやねん
720デフォルトの名無しさん (JP 0H6d-w88e)
2023/01/19(木) 07:37:02.75ID:40XBuhhWH VBA知らないのですけど
シート間やブック間の情報のやり取りには
コールバック関数みたい非同期処理をしてるんですか?
シート間やブック間の情報のやり取りには
コールバック関数みたい非同期処理をしてるんですか?
721デフォルトの名無しさん (JP 0H6e-f6s+)
2023/01/19(木) 07:47:03.02ID:hjMxdzIvH722デフォルトの名無しさん (JP 0H6d-w88e)
2023/01/19(木) 08:01:59.36ID:40XBuhhWH 書き換えや取得してる間はコードの実行は待機し
書き換え、取得が済んでからコードを再開するってことなのでしょうか?
書き換え、取得が済んでからコードを再開するってことなのでしょうか?
723デフォルトの名無しさん (JP 0H6e-f6s+)
2023/01/19(木) 08:06:32.97ID:hjMxdzIvH724デフォルトの名無しさん (ワッチョイ cd79-sA4L)
2023/01/19(木) 08:33:41.90ID:WQbdwelX0 コールバックではなくCOMという概念で実際のところプロセス間通信している
VBAの場合多分インプロセスなので他の手段より有利
シートやブックに対してコールバックする処理ってあったっけかな
VBAの場合多分インプロセスなので他の手段より有利
シートやブックに対してコールバックする処理ってあったっけかな
725デフォルトの名無しさん (JP 0H6e-f6s+)
2023/01/19(木) 08:42:01.19ID:hjMxdzIvH >>724
色々あるみたいだけど、vbaで使う場面って思いつかない。ってかバグりそうでやらない方がいい気がしてならない・・・
https://qiita.com/Kamo123/items/e676e0cbe6de83410980
色々あるみたいだけど、vbaで使う場面って思いつかない。ってかバグりそうでやらない方がいい気がしてならない・・・
https://qiita.com/Kamo123/items/e676e0cbe6de83410980
726デフォルトの名無しさん (ラクッペペ MMde-VZwO)
2023/01/19(木) 09:20:35.66ID:IH8Q0Y2+M Excelのオブジェクトを外部から弄るつもりならVBAよりもCOMアドインやVSTOアドイン、Office Scriptsなど別の方法利用を検討する方が良い気がする
727デフォルトの名無しさん (ラクッペペ MMde-+m4i)
2023/01/19(木) 10:50:54.77ID:hkE7HGyaM728デフォルトの名無しさん (ワッチョイ 292f-EsBK)
2023/01/19(木) 13:24:17.21ID:4qclTsLf0 イベントはコールバック
729デフォルトの名無しさん (ワッチョイ 595f-+wCe)
2023/01/19(木) 19:42:15.97ID:Dvqs9CAA0 例外処理の悩みなんだけど、
普段、オプションでエラーをクラスで停止するように設定している
その状態でクラスでErr.Raiseすると、標準モジュールでOnErrorGotoステートメントで受け取れないけど皆さんはどうしてるんですかね?
普段、オプションでエラーをクラスで停止するように設定している
その状態でクラスでErr.Raiseすると、標準モジュールでOnErrorGotoステートメントで受け取れないけど皆さんはどうしてるんですかね?
730デフォルトの名無しさん (ワッチョイ 595f-+wCe)
2023/01/19(木) 19:46:40.02ID:Dvqs9CAA0 オプションを変えれば標準モジュールで受けとれるんだけど切り替えが面倒
731デフォルトの名無しさん (ワッチョイ 292f-EsBK)
2023/01/19(木) 20:51:52.93ID:4qclTsLf0 普段からオプション変えとけばいいんじゃね
クラスモジュールで中断って、使いどころがわからん
クラスモジュールで中断って、使いどころがわからん
732720 (JP 0H6d-w88e)
2023/01/19(木) 21:58:24.97ID:40XBuhhWH みなさん、ありがとうです
>>727様、ありがとうです
web系はユーザーの待機ストレスをなくすために
コールバックを多用しますけれど
事務系は一つの処理が終わってから次の処理に移るって
なんだかそんな感じを受けました
ありがとうございました
>>727様、ありがとうです
web系はユーザーの待機ストレスをなくすために
コールバックを多用しますけれど
事務系は一つの処理が終わってから次の処理に移るって
なんだかそんな感じを受けました
ありがとうございました
734デフォルトの名無しさん (ワッチョイ 9568-3JZN)
2023/01/19(木) 23:05:36.09ID:eT7lxKel0 外部取り込みデータでcsvファイルを
QueryTablesメソッドを使用して、TextFileColumnDataTypesを文字列では取り込むとデータの後ろに半角スペースが入ります。
これなぜでしょうか?
標準で取り込むと半角スペースが入らないです。
やりたいのが数値などを文字列で取り込んだ時に、先頭の0を表示させて、E形式で表示されてる数値を全部表示させたいです。
今、文字列形式で取り込むと必ず全データの後ろに半角スペースが入ります。半角スペースが入らないように取り込みたいです
QueryTablesメソッドを使用して、TextFileColumnDataTypesを文字列では取り込むとデータの後ろに半角スペースが入ります。
これなぜでしょうか?
標準で取り込むと半角スペースが入らないです。
やりたいのが数値などを文字列で取り込んだ時に、先頭の0を表示させて、E形式で表示されてる数値を全部表示させたいです。
今、文字列形式で取り込むと必ず全データの後ろに半角スペースが入ります。半角スペースが入らないように取り込みたいです
735デフォルトの名無しさん (ワッチョイ a501-O4H0)
2023/01/19(木) 23:47:25.42ID:XtxzJxUF0736デフォルトの名無しさん (ワッチョイ 4a10-JJzj)
2023/01/20(金) 01:33:26.94ID:W1xzt6Zf0 シートが2つあって、片方非表示にしようとしたら、最低1個は表示しろって怒られるの何で?
非表示にする1行手前でデバッグプリント取ったけど、間違いなく2つとも表示されている。
単体で実行すると問題ないが、新規ブック作ってシートを2つに増やしてからやるとエラーになる。
DoEvents入れても駄目、On Error Resume Next入れてもエラーで止まる。
ワケわからん。
非表示にする1行手前でデバッグプリント取ったけど、間違いなく2つとも表示されている。
単体で実行すると問題ないが、新規ブック作ってシートを2つに増やしてからやるとエラーになる。
DoEvents入れても駄目、On Error Resume Next入れてもエラーで止まる。
ワケわからん。
737デフォルトの名無しさん (ワッチョイ cd79-sA4L)
2023/01/20(金) 01:44:54.53ID:ptsQI5JN0 その非表示にする行が悪いんじゃないの
御託はいいからコード貼れカス
御託はいいからコード貼れカス
738デフォルトの名無しさん (ワッチョイ 4a10-JJzj)
2023/01/20(金) 02:56:01.96ID:W1xzt6Zf0 悪くない。
1行手前では2シートともVisibleは-1を返すから、前後がどんなどんなコードでも関係ないだろ。
1行手前では2シートともVisibleは-1を返すから、前後がどんなどんなコードでも関係ないだろ。
739デフォルトの名無しさん (ワッチョイ 21ce-7DGa)
2023/01/20(金) 03:42:39.52ID:iiD2fqs40 コード貼れ
740デフォルトの名無しさん (ワッチョイ 4a7c-HlDB)
2023/01/20(金) 06:53:35.87ID:WgMHwss/0 >>736
ブック2つあってその片方を丸ごと非表示にしょうとしてるとか
ブック2つあってその片方を丸ごと非表示にしょうとしてるとか
741デフォルトの名無しさん (ワッチョイ 9568-3JZN)
2023/01/20(金) 07:00:14.46ID:Q4AfyMd20742デフォルトの名無しさん (ワッチョイ 7e19-9FUj)
2023/01/20(金) 07:46:13.25ID:z8VJTXTl0 もうACCESSに直接ADO接続して値取って来たら?
743デフォルトの名無しさん (スッップ Sdea-f6s+)
2023/01/20(金) 08:00:52.80ID:ayeW68tCd 質問者がよくわからない現象だから質問してくるんだろうけどそういう人の質問だといまいち状況がつかみにくいから
オリジナルでなくてもいいから現象が再現するサンプルコードでも提供すれば解決しやすいのにね
そういう事ができない人多いよね
オリジナルでなくてもいいから現象が再現するサンプルコードでも提供すれば解決しやすいのにね
そういう事ができない人多いよね
744デフォルトの名無しさん (JP 0H6e-f6s+)
2023/01/20(金) 08:13:31.91ID:9/vVytdyH >>743
^^;
^^;
745デフォルトの名無しさん (スップー Sdca-3JZN)
2023/01/20(金) 09:37:46.21ID:phBDDUUBd >>742
結局、全部にトリムすることにしましたわ
結局、全部にトリムすることにしましたわ
746デフォルトの名無しさん (オッペケ Src7-a63L)
2023/01/21(土) 02:59:07.37ID:ZfbTiSBFr 総合スレからこちらに誘導されて来ました
マクロ記録は使えるけどVBAは使えないのに。。
【1 Windows10】
【2 Excel2019 】
【3 いいえ】
【4 否】
普段横書きで印刷をしているシートを
月一回の報告資料のみ、範囲を変えて縦書きにして印刷する必要があります
それでマクロ記録を使って印刷範囲を絞り込んで縦書きにして印刷をするボタンを作成してみたのですが、問題は印刷範囲の最終行が毎回変わるのでその最終行に合わせた範囲指定にするにはどうしたら良いでしょうか?
CTRL+↓を記録は出来ないみたいだし。。
印刷範囲の最終行に透明な「※」でも打ち込んでそこまでを印刷というような事は出来ますでしょうか?
マクロ記録は使えるけどVBAは使えないのに。。
【1 Windows10】
【2 Excel2019 】
【3 いいえ】
【4 否】
普段横書きで印刷をしているシートを
月一回の報告資料のみ、範囲を変えて縦書きにして印刷する必要があります
それでマクロ記録を使って印刷範囲を絞り込んで縦書きにして印刷をするボタンを作成してみたのですが、問題は印刷範囲の最終行が毎回変わるのでその最終行に合わせた範囲指定にするにはどうしたら良いでしょうか?
CTRL+↓を記録は出来ないみたいだし。。
印刷範囲の最終行に透明な「※」でも打ち込んでそこまでを印刷というような事は出来ますでしょうか?
747デフォルトの名無しさん (ワッチョイ e379-TshA)
2023/01/21(土) 04:22:08.36ID:H5hcEaoi0 >>746
印刷範囲(ActiveSheet.PageSetup.PrintArea)が設定されている前提で
dim printrange, lastRow
' 現在の印刷範囲のRangeオブジェクトを得る
set printrange = ActiveSheet.Range(ActiveSheet.PageSetup.PrintArea)
' 実際の最終行を得る
lastRow = ActiveSheet.Cells(printrange.Row, printrange.Column).SpecialCells(xlLastCell).Row
'最終行を変更したRangeオブジェクトのAddressを印刷範囲に設定する
ActiveSheet.PageSetup.PrintArea = ActiveSheet.Range(ActiveSheet.Cells(printrange.Row, printrange.Column), ActiveSheet.Cells(lastRow, printrange.Column + printrange.Columns.Count - 1)).Address
印刷範囲(ActiveSheet.PageSetup.PrintArea)が設定されている前提で
dim printrange, lastRow
' 現在の印刷範囲のRangeオブジェクトを得る
set printrange = ActiveSheet.Range(ActiveSheet.PageSetup.PrintArea)
' 実際の最終行を得る
lastRow = ActiveSheet.Cells(printrange.Row, printrange.Column).SpecialCells(xlLastCell).Row
'最終行を変更したRangeオブジェクトのAddressを印刷範囲に設定する
ActiveSheet.PageSetup.PrintArea = ActiveSheet.Range(ActiveSheet.Cells(printrange.Row, printrange.Column), ActiveSheet.Cells(lastRow, printrange.Column + printrange.Columns.Count - 1)).Address
748デフォルトの名無しさん (JP 0Hc7-j5s0)
2023/01/21(土) 07:02:51.83ID:liCBEODDH749デフォルトの名無しさん (オッペケ Src7-a63L)
2023/01/21(土) 09:23:02.19ID:DWiRZY6Xr >>747-748
ありがとうございます
マクロ記録はボタンを押すだけなので簡単ですが
VBAになると一気に難易度が。。
1980年代のDOSの前のBASICはちょろっとやってたので本気出せばなんとかなるかもですが
分かりやすい書籍、動画、講座とかありますかね?
ありがとうございます
マクロ記録はボタンを押すだけなので簡単ですが
VBAになると一気に難易度が。。
1980年代のDOSの前のBASICはちょろっとやってたので本気出せばなんとかなるかもですが
分かりやすい書籍、動画、講座とかありますかね?
750デフォルトの名無しさん (ワッチョイ 53da-Jpma)
2023/01/21(土) 10:59:00.69ID:Zr2lAE610 そも、縦書きと横書きという独特の言い回しが相手には伝わりにくい
あいうえお ← 横書き
あ
い ← 縦書き 普通に読んでればこう捉える
う
え
お
でもそれでは無くて、帳票の状態が普通はA4横長で印刷してるものを、月イチではA4縦長で印刷したいとかなのか
ほんとうに文字ごとタテ並びにしてしまいたいのか 後者なら敷居が相当高いけど
しかし、初めて白状した状況だと相当の高齢者が毎月なんらかの帳票を印刷するのに苦心している様子からして
自治会の会計資料だのそういう方面だとも考えられる
自分でサンプルを提示するのが困難なら、どっかのサイトで似たような状況を探って画像検索でもしてみて「こういうのをこうしたい」と書かないと伝わり難い
自治会用のExcelサンプルなんかゴロゴロ転がってるし、それを参考にするとか流用するとか 見立て違いなら失敬
しかし、単に「印刷範囲」をその都度指定するだけで簡単に解決するような質問のような気もしてる
あいうえお ← 横書き
あ
い ← 縦書き 普通に読んでればこう捉える
う
え
お
でもそれでは無くて、帳票の状態が普通はA4横長で印刷してるものを、月イチではA4縦長で印刷したいとかなのか
ほんとうに文字ごとタテ並びにしてしまいたいのか 後者なら敷居が相当高いけど
しかし、初めて白状した状況だと相当の高齢者が毎月なんらかの帳票を印刷するのに苦心している様子からして
自治会の会計資料だのそういう方面だとも考えられる
自分でサンプルを提示するのが困難なら、どっかのサイトで似たような状況を探って画像検索でもしてみて「こういうのをこうしたい」と書かないと伝わり難い
自治会用のExcelサンプルなんかゴロゴロ転がってるし、それを参考にするとか流用するとか 見立て違いなら失敬
しかし、単に「印刷範囲」をその都度指定するだけで簡単に解決するような質問のような気もしてる
751デフォルトの名無しさん (オッペケ Src7-a63L)
2023/01/21(土) 12:20:46.74ID:qZakY6uUr >>750
打ち出しているのは零細企業の売上報告資料です
経営陣と上司が高齢者なので今まで長年使い続けて来た会議資料のフォーマットは原則何も変えてはならないという前提の作業です
売上が得意先の売上高順に並べられている資料で
右側に売上の内訳があります
単純にA4縦をA4横にして印刷するわけでは無くて列の削除が2列必要になり、その列を単純に削除すると関数が埋められてるのでエラー表示になるので、手作業だと毎回大変だったので、マクロ記録を使って自動的に印刷出来るようにしました
ところが一つだけ上手く行かなかったのが
今回の印刷範囲の指定でした
簡単な例を作成中なので後でアップします
打ち出しているのは零細企業の売上報告資料です
経営陣と上司が高齢者なので今まで長年使い続けて来た会議資料のフォーマットは原則何も変えてはならないという前提の作業です
売上が得意先の売上高順に並べられている資料で
右側に売上の内訳があります
単純にA4縦をA4横にして印刷するわけでは無くて列の削除が2列必要になり、その列を単純に削除すると関数が埋められてるのでエラー表示になるので、手作業だと毎回大変だったので、マクロ記録を使って自動的に印刷出来るようにしました
ところが一つだけ上手く行かなかったのが
今回の印刷範囲の指定でした
簡単な例を作成中なので後でアップします
752デフォルトの名無しさん (ワッチョイ 43ad-zVY0)
2023/01/21(土) 13:39:30.09ID:3LuUMb1z0753デフォルトの名無しさん (ワッチョイ 43ad-zVY0)
2023/01/21(土) 13:40:43.92ID:3LuUMb1z0754デフォルトの名無しさん (ワッチョイ 43ad-zVY0)
2023/01/21(土) 13:41:54.11ID:3LuUMb1z0755デフォルトの名無しさん (ワッチョイ 43ad-zVY0)
2023/01/21(土) 13:46:51.08ID:3LuUMb1z0 ほんとは
>>752
の上の表と下の表の間に担当者別の売上集計表があるので毎月、列の削除は行えずに右側の内訳をスライドして値複写して整形する必要が有ります
この作業が地味に面倒なのでマクロ記録で自動化しました
>>752
の上の表と下の表の間に担当者別の売上集計表があるので毎月、列の削除は行えずに右側の内訳をスライドして値複写して整形する必要が有ります
この作業が地味に面倒なのでマクロ記録で自動化しました
756デフォルトの名無しさん (ワッチョイ 6f19-1gWY)
2023/01/21(土) 14:05:07.15ID:hYuLYDCi0757デフォルトの名無しさん (ワッチョイ 43ad-zVY0)
2023/01/21(土) 14:07:16.17ID:3LuUMb1z0 >>756
syntax error
syntax error
758デフォルトの名無しさん (オッペケ Src7-zVY0)
2023/01/21(土) 14:10:22.83ID:qZakY6uUr 最初で最後のプログラミングが
年賀状当選ハガキ発見プログラムでした。。
年賀状当選ハガキ発見プログラムでした。。
759デフォルトの名無しさん (ワッチョイ 53da-Jpma)
2023/01/21(土) 14:55:21.95ID:Zr2lAE610 レコード総数どのくらいか判らんけど、回答待ってる間に別シートにコピーして並べ替えするだけで済むような
いくら零細だからって業務用途なら自社内で解決できるレベルに収めておかないと、引き継ぎに難儀するような
↓こういうのを参考にしてじぶんで懸命に制作してもいいかも知らんけど
https://forest.watch.impress.co.jp/docs/serial/exceltips/1306514.html 単なる受け売りじゃ応用利かなくなるだろうし
いくら零細だからって業務用途なら自社内で解決できるレベルに収めておかないと、引き継ぎに難儀するような
↓こういうのを参考にしてじぶんで懸命に制作してもいいかも知らんけど
https://forest.watch.impress.co.jp/docs/serial/exceltips/1306514.html 単なる受け売りじゃ応用利かなくなるだろうし
760デフォルトの名無しさん (オッペケ Src7-zVY0)
2023/01/21(土) 15:43:24.35ID:qZakY6uUr >>759
そのくらいは使えるんだけど。
そのくらいは使えるんだけど。
761デフォルトの名無しさん (オッペケ Src7-zVY0)
2023/01/21(土) 15:55:42.09ID:qZakY6uUr 数字掴むのはパワークエリやパワーピボットでなんとでもなるんだけど
今まである資料にキッチリ合わせた体裁にしないとならんところで苦労をしていて
今まである資料にキッチリ合わせた体裁にしないとならんところで苦労をしていて
762デフォルトの名無しさん (オッペケ Src7-zVY0)
2023/01/21(土) 16:26:39.90ID:qZakY6uUr763デフォルトの名無しさん (ワッチョイ e379-TshA)
2023/01/21(土) 16:46:59.18ID:H5hcEaoi0 >>752-754
1 日次を人間が更新 or 印刷
2 1を元に週次で印刷
3 1を元に月次で印刷
ということなら、シートをあらかじめ上記3つに分ける方向で考えた方がいいんじゃないかね
ご存知かもしれないけど「Excel VBA やりたい事」でぐぐれば大抵の事は出てくるよ
取り急ぎ動的な範囲選択の記述の仕方とか判ればVBAの文法とかあやふやでも全然いけそうだけど
1 日次を人間が更新 or 印刷
2 1を元に週次で印刷
3 1を元に月次で印刷
ということなら、シートをあらかじめ上記3つに分ける方向で考えた方がいいんじゃないかね
ご存知かもしれないけど「Excel VBA やりたい事」でぐぐれば大抵の事は出てくるよ
取り急ぎ動的な範囲選択の記述の仕方とか判ればVBAの文法とかあやふやでも全然いけそうだけど
764デフォルトの名無しさん (オッペケ Src7-zVY0)
2023/01/21(土) 16:50:11.61ID:qZakY6uUr765デフォルトの名無しさん (ワッチョイ 53da-Jpma)
2023/01/21(土) 16:58:34.85ID:Zr2lAE610 何度も聞くけど「印刷範囲」の設定ってどうやってる? マウスで印刷したい範囲をドラッグ選択して印刷範囲に設定するだけなんだけど?
月ごとに微妙に行数が増減するから用紙からはみ出るとかの懸念? Excelの初歩の初歩のような気がしてきた
月ごとに微妙に行数が増減するから用紙からはみ出るとかの懸念? Excelの初歩の初歩のような気がしてきた
766デフォルトの名無しさん (ワッチョイ 7ff0-j5s0)
2023/01/21(土) 17:11:10.91ID:pNicHJvH0 必要な情報を配列に入れ込んで
それで新しいシートを作り直したらどうでしょう?
新しいシートは手作業でフォーマットしておくか
VBAで印刷範囲の列数行数を取得して
配列から取り出してセルに代入するとか
誤って元データを失わないように
シートの追加削除はあまりどうなんだろうって気がします
それで新しいシートを作り直したらどうでしょう?
新しいシートは手作業でフォーマットしておくか
VBAで印刷範囲の列数行数を取得して
配列から取り出してセルに代入するとか
誤って元データを失わないように
シートの追加削除はあまりどうなんだろうって気がします
767デフォルトの名無しさん (オッペケ Src7-zVY0)
2023/01/21(土) 17:26:56.30ID:qZakY6uUr >>765
いや、だから関数とか印刷範囲の設定で済まないので悩んでいるわけです
それだけで済むならマクロ記録で終了です
不要範囲の削除で関数の連携が無くなるから
数値コピーしたり
手動の整形を伴うのと
毎月売上の会社は一定じゃないし
いや、だから関数とか印刷範囲の設定で済まないので悩んでいるわけです
それだけで済むならマクロ記録で終了です
不要範囲の削除で関数の連携が無くなるから
数値コピーしたり
手動の整形を伴うのと
毎月売上の会社は一定じゃないし
768デフォルトの名無しさん (オッペケ Src7-zVY0)
2023/01/21(土) 17:34:58.85ID:qZakY6uUr >>766
元データを失わないように
元データからマクロで読み込んでコピーファイルを作成して、そこで作業を行ってから終了時にマクロで元データに書き込むようにはしています。。
売上の最新情報は他の人と共有しているファイルになるので、これもコピーファイルを作成してからデータを新しいシートにコピペして、パワークエリを使ってそのファイルから読み込んで毎度自動更新するようにしています
定形フォーマット(シート)を使ってVBAで行数を決められると確かに良いですね
元データを失わないように
元データからマクロで読み込んでコピーファイルを作成して、そこで作業を行ってから終了時にマクロで元データに書き込むようにはしています。。
売上の最新情報は他の人と共有しているファイルになるので、これもコピーファイルを作成してからデータを新しいシートにコピペして、パワークエリを使ってそのファイルから読み込んで毎度自動更新するようにしています
定形フォーマット(シート)を使ってVBAで行数を決められると確かに良いですね
769デフォルトの名無しさん (ブーイモ MM7f-Njuq)
2023/01/21(土) 17:41:46.80ID:zrHjWBn6M >>768
なんか頭のハゲた人がいっぱいいそうな会社だなあ。
なんか頭のハゲた人がいっぱいいそうな会社だなあ。
770デフォルトの名無しさん (ワッチョイ 53da-Jpma)
2023/01/21(土) 17:57:20.75ID:Zr2lAE610 ダメだこりゃ 行や列の非表示とかも知らなそう
たぶん「書き間違えました」とか訂正あるんだろうけど、>作業を行ってから終了時にマクロで元データに書き込むようにはしています
これはやっちゃいけない最たるものじゃないのか? 元ファイルと作業ファイルは一方通行にしとかなきゃ、戻してどうすんだ
40年前にBASIC触った世代? なんかアタマでっかちで実務に向いてない 縦書き横書きすら誤用してるのにいっちょまえな用語駆使しようとして伝わらない
すまんがサジ投げる 君らに任せた
たぶん「書き間違えました」とか訂正あるんだろうけど、>作業を行ってから終了時にマクロで元データに書き込むようにはしています
これはやっちゃいけない最たるものじゃないのか? 元ファイルと作業ファイルは一方通行にしとかなきゃ、戻してどうすんだ
40年前にBASIC触った世代? なんかアタマでっかちで実務に向いてない 縦書き横書きすら誤用してるのにいっちょまえな用語駆使しようとして伝わらない
すまんがサジ投げる 君らに任せた
771デフォルトの名無しさん (オッペケ Src7-zVY0)
2023/01/21(土) 17:58:03.03ID:qZakY6uUr >>769
残念ながら剥げてるのは俺一人
残念ながら剥げてるのは俺一人
772デフォルトの名無しさん (オッペケ Src7-zVY0)
2023/01/21(土) 17:58:43.35ID:qZakY6uUr773デフォルトの名無しさん (オッペケ Src7-zVY0)
2023/01/21(土) 18:11:05.02ID:qZakY6uUr >>770
他の優秀な方は皆さん理解出来るのに一人だけトンチンカンなVBAスレにいてはいけないレベルのような
列の非表示をしたらその下の担当者別の列まで非表示になるから
範囲指定や非常時でなんとかなるレベルじゃないでしょ
じゃあなたにVBAの質問して答えられるのかな?
他の優秀な方は皆さん理解出来るのに一人だけトンチンカンなVBAスレにいてはいけないレベルのような
列の非表示をしたらその下の担当者別の列まで非表示になるから
範囲指定や非常時でなんとかなるレベルじゃないでしょ
じゃあなたにVBAの質問して答えられるのかな?
774デフォルトの名無しさん (オッペケ Src7-zVY0)
2023/01/21(土) 18:14:32.74ID:qZakY6uUr775デフォルトの名無しさん (ブーイモ MM7f-Njuq)
2023/01/21(土) 18:47:58.93ID:zrHjWBn6M >>774
このハゲ!
/ ̄ ̄ ̄ ̄ ̄ ̄\
/ \
/ ヽ
l:::::::::. |
|:::::::::: (●) (●) |
|::::::::::::::::: \___/ |
ヽ:::::::::::::::::::. \/ ノ
このハゲ!
/ ̄ ̄ ̄ ̄ ̄ ̄\
/ \
/ ヽ
l:::::::::. |
|:::::::::: (●) (●) |
|::::::::::::::::: \___/ |
ヽ:::::::::::::::::::. \/ ノ
776デフォルトの名無しさん (オッペケ Src7-zVY0)
2023/01/21(土) 18:49:06.36ID:qZakY6uUr777デフォルトの名無しさん (ブーイモ MM7f-Njuq)
2023/01/21(土) 18:51:29.36ID:zrHjWBn6M (爆)
778デフォルトの名無しさん (オッペケ Src7-zVY0)
2023/01/21(土) 18:51:32.42ID:qZakY6uUr779デフォルトの名無しさん (スッップ Sd1f-RQPf)
2023/01/21(土) 19:34:50.38ID:rwfwwGNyd 零細企業だからこんな馬鹿しか雇えないのかね
780デフォルトの名無しさん (オッペケ Src7-zVY0)
2023/01/21(土) 19:38:29.43ID:qZakY6uUr >>779
馬鹿に出来るほどの回答してないよね?
馬鹿に出来るほどの回答してないよね?
781デフォルトの名無しさん (JP 0Hc7-j5s0)
2023/01/21(土) 20:00:29.29ID:liCBEODDH >>752
連想配列、多次元配列を使えば、好きな項目を紐づけでき
表示も好きなようにできるので楽だと思います
一度覚えたら重宝しますのでいつか学んでみたらいかがでしょう?
VBAの学習はネットで十分ですし是非
例えばシートから顧客名を取得して
顧客名をキーワードにして、製品名、単価、数量、担当者名を配列に格納し
単価×売上高の多い順に配列をソートして、配列から必要な表示項目だけセルに代入する
そうやって処理すれば担当者別であれ製品別であれ好きなように表示できます
その後、罫線処理をして、最後に幅調整をしてあげればって思います
連想配列、多次元配列を使えば、好きな項目を紐づけでき
表示も好きなようにできるので楽だと思います
一度覚えたら重宝しますのでいつか学んでみたらいかがでしょう?
VBAの学習はネットで十分ですし是非
例えばシートから顧客名を取得して
顧客名をキーワードにして、製品名、単価、数量、担当者名を配列に格納し
単価×売上高の多い順に配列をソートして、配列から必要な表示項目だけセルに代入する
そうやって処理すれば担当者別であれ製品別であれ好きなように表示できます
その後、罫線処理をして、最後に幅調整をしてあげればって思います
782デフォルトの名無しさん (スッップ Sd1f-RQPf)
2023/01/21(土) 20:08:19.63ID:rwfwwGNyd783デフォルトの名無しさん (オッペケ Src7-zVY0)
2023/01/21(土) 20:10:55.81ID:qZakY6uUr784デフォルトの名無しさん (ワッチョイ 638e-RQPf)
2023/01/21(土) 20:12:17.60ID:HFKnvzRq0 今度は言い掛かりを始めた馬鹿
785デフォルトの名無しさん (オッペケ Src7-zVY0)
2023/01/21(土) 20:15:45.52ID:qZakY6uUr >>784
ほらバレて脊髄反射w
ほらバレて脊髄反射w
786デフォルトの名無しさん (ワッチョイ 638e-RQPf)
2023/01/21(土) 20:18:33.47ID:HFKnvzRq0 馬鹿の質問はそもそも馬鹿が考えることだから問題解決へのアプローチが間違えている
というか端的に言えば馬鹿だから馬鹿な発想しかできないから解決方法がややこしくなり何倍も何十倍も時間が必要になる
というか端的に言えば馬鹿だから馬鹿な発想しかできないから解決方法がややこしくなり何倍も何十倍も時間が必要になる
787デフォルトの名無しさん (オッペケ Src7-zVY0)
2023/01/21(土) 20:21:20.82ID:qZakY6uUr とりま馬鹿はNG
788デフォルトの名無しさん (ワッチョイ 638e-RQPf)
2023/01/21(土) 20:23:35.37ID:HFKnvzRq0 逃げた
789デフォルトの名無しさん (オッペケ Src7-zVY0)
2023/01/21(土) 20:23:44.73ID:qZakY6uUr790デフォルトの名無しさん (ワントンキン MM27-gSeq)
2023/01/21(土) 20:28:47.01ID:qiWRJhmvM >>786
わかる。こういう奴に任せるといつまで経ってもまともな成果が上がらない。
わかる。こういう奴に任せるといつまで経ってもまともな成果が上がらない。
791デフォルトの名無しさん (JP 0Hc7-j5s0)
2023/01/21(土) 20:34:39.84ID:liCBEODDH792デフォルトの名無しさん (スッップ Sd1f-88l+)
2023/01/21(土) 21:38:19.62ID:ALAIHDfad 煽るヤカラに反応してるとスレが荒れていつも回答してくれる人も敬遠しちゃうぞ
月別のレイアウト範囲を決めるなら参考の表なら
開始は「月売上高表」の文字列が入っている行
最後は「納品予定」の文字列が入っている行を見つけて最後の金額が入ってる行を取得すれば>>747のコードが流用できるんじゃないの
月別のレイアウト範囲を決めるなら参考の表なら
開始は「月売上高表」の文字列が入っている行
最後は「納品予定」の文字列が入っている行を見つけて最後の金額が入ってる行を取得すれば>>747のコードが流用できるんじゃないの
793デフォルトの名無しさん (オッペケ Src7-zVY0)
2023/01/21(土) 21:55:48.52ID:qZakY6uUr794デフォルトの名無しさん (オッペケ Src7-zVY0)
2023/01/21(土) 21:57:12.93ID:qZakY6uUr795デフォルトの名無しさん (スッップ Sd1f-Lu28)
2023/01/21(土) 22:09:21.22ID:WRTpu51ud >>794
うざい
うざい
796デフォルトの名無しさん (JP 0Hc7-j5s0)
2023/01/21(土) 22:31:20.27ID:liCBEODDH797デフォルトの名無しさん (オッペケ Src7-a63L)
2023/01/22(日) 04:34:19.88ID:K9eOTOpDr >>792
その印刷したい最後の行≒「途中の行」の場合はどのように指定したら良いんでしょうか?
売上先の数が毎月一定では無いので印刷したい最後の行が毎月変わってしまうのです
「売上最終行」「売上最終列」
「納品最終行」「納品最終列」
を透明な文字で埋め込んで認識させるのが良いのかなと
その印刷したい最後の行≒「途中の行」の場合はどのように指定したら良いんでしょうか?
売上先の数が毎月一定では無いので印刷したい最後の行が毎月変わってしまうのです
「売上最終行」「売上最終列」
「納品最終行」「納品最終列」
を透明な文字で埋め込んで認識させるのが良いのかなと
798デフォルトの名無しさん (オッペケ Src7-a63L)
2023/01/22(日) 04:41:38.79ID:hOwNbSAHr >>796
もともと1982年にマイコン(パソコン)を買ったくらいなので好きな方だと思います
もともと1982年にマイコン(パソコン)を買ったくらいなので好きな方だと思います
799デフォルトの名無しさん (スッププ Sd1f-YpYF)
2023/01/22(日) 06:11:47.65ID:wUjIjG/wd800デフォルトの名無しさん (オッペケ Src7-a63L)
2023/01/22(日) 06:47:36.72ID:hOwNbSAHr801デフォルトの名無しさん (アウアウウー Saa7-QR4B)
2023/01/22(日) 06:54:51.41ID:1NpPY/pKa CSV などのテキスト処理なら、Ruby
802デフォルトの名無しさん (ワッチョイ 0301-WyxW)
2023/01/22(日) 06:55:38.90ID:5nd4WcY/0803デフォルトの名無しさん (オッペケ Src7-a63L)
2023/01/22(日) 07:02:04.85ID:hOwNbSAHr マクロを使ってそのシートを新規シートにコピーしてから不要行や不要列を削除して、その後に最終行と最終列を指定して印刷すれば良いのかな
804デフォルトの名無しさん (オッペケ Src7-a63L)
2023/01/22(日) 07:03:38.95ID:hOwNbSAHr805デフォャ泣gの名無しさb (オッペケ Src7-a63L)
2023/01/22(日) 07:12:25.00ID:hOwNbSAHr 毎日
752のシートを毎日作成していて
そのシートを元に
753や754のような印刷結果としたいのです
上の画像が失敗したのは
確かに非表示で済むような画像になってしまいましたが
実際には列の非常時を使うと印刷したい列まで隠れてしまうので非表示は使えません
752のシートを毎日作成していて
そのシートを元に
753や754のような印刷結果としたいのです
上の画像が失敗したのは
確かに非表示で済むような画像になってしまいましたが
実際には列の非常時を使うと印刷したい列まで隠れてしまうので非表示は使えません
806デフォルトの名無しさん (オッペケ Src7-a63L)
2023/01/22(日) 07:19:41.79ID:hOwNbSAHr807デフォルトの名無しさん (オッペケ Src7-a63L)
2023/01/22(日) 07:21:57.46ID:hOwNbSAHr >>806
806の赤い部分にも文字が入ってるとして
印刷したいのは806を元にして
これらが印刷結果となるように
https://i.imgur.com/JUP2t7B.jpg
https://i.imgur.com/LhkqS7p.jpg
806の赤い部分にも文字が入ってるとして
印刷したいのは806を元にして
これらが印刷結果となるように
https://i.imgur.com/JUP2t7B.jpg
https://i.imgur.com/LhkqS7p.jpg
808デフォルトの名無しさん (オッペケ Src7-a63L)
2023/01/22(日) 07:28:29.54ID:hOwNbSAHr 実際の数字は販売管理ソフトから吐き出したデータをパワークエリとパワーピボットによってリアルタイムにデータを見ることは出来ています
その他の付随情報をEXCELで管理していて、そのEXCELデータと販売管理ソフトが正しいかどうかのチェックもそのEXCELファイルで行っています
その他の付随情報をEXCELで管理していて、そのEXCELデータと販売管理ソフトが正しいかどうかのチェックもそのEXCELファイルで行っています
809デフォルトの名無しさん (オッペケ Src7-a63L)
2023/01/22(日) 07:32:21.84ID:hOwNbSAHr 20年前からパワークエリやパワーピボットが存在していれば、その結果を元に報告資料を作っていたんだろうけど、存在しない時代に手動で作成していたのでそれに合わせる事に苦労してるということです
810デフォルトの名無しさん (ワッチョイ 0301-WyxW)
2023/01/22(日) 08:09:47.45ID:5nd4WcY/0811デフォルトの名無しさん (ワッチョイ f34a-+xDT)
2023/01/22(日) 08:52:06.84ID:LXKdZzsm0 BASIC知ってるはずなのに配列知らんのか
812デフォルトの名無しさん (オッペケ Src7-a63L)
2023/01/22(日) 09:17:23.76ID:Hx9JKMaXr813デフォルトの名無しさん (オッペケ Src7-a63L)
2023/01/22(日) 09:18:35.16ID:Hx9JKMaXr 適当に打つとsyntax errorが出てくる事は知ってる
814デフォルトの名無しさん (ワッチョイ bf3d-Sc6R)
2023/01/22(日) 13:00:42.70ID:vQS42HbD0 連想配列のコレクションを使いたいんだが、個別の要素が書き換えられない。
書き換えると全要素が書き関わってしまう???
これはどうしたらいい?
Set Yukkuri = New Dictionary '「Microsoft Scripting Runtime」を参照設定
Dim timeline As New Collection
Yukkuri.Add "Name", "霊夢"
Yukkuri.Add "serif", "霊夢です"
timeline.Add Yukkuri
'セリフを追加する
timeline.Add Yukkuri
Debug.Print "--before--"
Debug.Print timeline.Item(1)("Name"), timeline.Item(1)("serif")
Debug.Print timeline.Item(2)("Name"), timeline.Item(2)("serif")
'追加したセリフの変更
timeline.Item(2)("Name") = "魔理沙"
timeline.Item(2)("serif") = "魔理沙だぜ"
Debug.Print "--after--"
Debug.Print timeline.Item(1)("Name"), timeline.Item(1)("serif")
Debug.Print timeline.Item(2)("Name"), timeline.Item(2)("serif")
実行すると
--before--
霊夢 霊夢です
霊夢 霊夢です
--after--
魔理沙 魔理沙だぜ ←こっちも書き換わってる
魔理沙 魔理沙だぜ
書き換えると全要素が書き関わってしまう???
これはどうしたらいい?
Set Yukkuri = New Dictionary '「Microsoft Scripting Runtime」を参照設定
Dim timeline As New Collection
Yukkuri.Add "Name", "霊夢"
Yukkuri.Add "serif", "霊夢です"
timeline.Add Yukkuri
'セリフを追加する
timeline.Add Yukkuri
Debug.Print "--before--"
Debug.Print timeline.Item(1)("Name"), timeline.Item(1)("serif")
Debug.Print timeline.Item(2)("Name"), timeline.Item(2)("serif")
'追加したセリフの変更
timeline.Item(2)("Name") = "魔理沙"
timeline.Item(2)("serif") = "魔理沙だぜ"
Debug.Print "--after--"
Debug.Print timeline.Item(1)("Name"), timeline.Item(1)("serif")
Debug.Print timeline.Item(2)("Name"), timeline.Item(2)("serif")
実行すると
--before--
霊夢 霊夢です
霊夢 霊夢です
--after--
魔理沙 魔理沙だぜ ←こっちも書き換わってる
魔理沙 魔理沙だぜ
815デフォルトの名無しさん (スッップ Sd1f-88l+)
2023/01/22(日) 13:08:27.56ID:CdSwQQ4cd >>806
自分が何もできないから100%他人任せにしてるような割りに態度が少し横柄なんじゃねと思わなくもないんだよね
少なくとも>>806の月別の表が何か月分も同じシートにあるのであれば
・シートを2つコピーして>>807用の2つのシートを作る
・それぞれのシートで1行目から最終行まで検索する
・月別の始点はA列?の「月売上高表」の文字列が含まれる行
終点は次の月の「月売上高表」の文字列が含まれる行の-1
※ただし最終月は翌月の文字列が見つからないので最終行でよい
これをもとにそれぞれのシートの行を非表示にしたり、列を非表示にして
印刷範囲決めたらいいだけなんじゃないの
ここまでの説明はマクロで可能
俺はやる気のあるコードを見せてくれたりする人には付き合う気はあるけど
100%他人任せには構ってられないから以降は他の人が回答してくれることを祈るわ
自分が何もできないから100%他人任せにしてるような割りに態度が少し横柄なんじゃねと思わなくもないんだよね
少なくとも>>806の月別の表が何か月分も同じシートにあるのであれば
・シートを2つコピーして>>807用の2つのシートを作る
・それぞれのシートで1行目から最終行まで検索する
・月別の始点はA列?の「月売上高表」の文字列が含まれる行
終点は次の月の「月売上高表」の文字列が含まれる行の-1
※ただし最終月は翌月の文字列が見つからないので最終行でよい
これをもとにそれぞれのシートの行を非表示にしたり、列を非表示にして
印刷範囲決めたらいいだけなんじゃないの
ここまでの説明はマクロで可能
俺はやる気のあるコードを見せてくれたりする人には付き合う気はあるけど
100%他人任せには構ってられないから以降は他の人が回答してくれることを祈るわ
816デフォルトの名無しさん (オッペケ Src7-a63L)
2023/01/22(日) 13:23:01.10ID:0592ee0wr >>815
私ってサバサバしてるから
私ってサバサバしてるから
817デフォルトの名無しさん (ワッチョイ 0301-WyxW)
2023/01/22(日) 13:29:43.69ID:5nd4WcY/0 >>814
そりゃ連想配列の実体は1つしか作ってないから書き換えたら変わるわな
いまいちどういう結果を期待してるのかよくわからんけど片方が変わって欲しくないなら
timeline.Add Yukkuri
Dim Yukkuri1 As New Dictionary
Dim Key As Variant
For Each Key In Yukkuri.Keys
Yukkuri1.Add Key, Yukkuri(Key)
Next
timeline.Add Yukkuri1
のように中身をコピーして作る
そりゃ連想配列の実体は1つしか作ってないから書き換えたら変わるわな
いまいちどういう結果を期待してるのかよくわからんけど片方が変わって欲しくないなら
timeline.Add Yukkuri
Dim Yukkuri1 As New Dictionary
Dim Key As Variant
For Each Key In Yukkuri.Keys
Yukkuri1.Add Key, Yukkuri(Key)
Next
timeline.Add Yukkuri1
のように中身をコピーして作る
818デフォルトの名無しさん (スッップ Sd1f-RQPf)
2023/01/22(日) 14:10:36.46ID:3khvOI6Qd また零細企業の馬鹿が粘着してるのか
しつこい馬鹿は迷惑
しつこい馬鹿は迷惑
819デフォルトの名無しさん (JP 0Hc7-j5s0)
2023/01/22(日) 15:30:30.53ID:DNm1kf3fH >>749
Sub main()
Dim arr() As Variant
arr = dataArr
End Sub
Function dataArr() As Variant()
Dim cel() As Long
cel(0) = Cells(Rows.Count, 1).End(xlUp).Row
cel(1) = Cells(1, Columns.Count).End(xlToLeft).Column
Dim rw, col As Long
Dim datas() As Variant
ReDim datas(cel(0), cel(1))
For rw = 0 To cel(0) - 2
For cl = 0 To cel(1) - 1
datas(rw, cl) = Cells(rw + 2, cl + 1)
Next cl
Next rw
dataArr = datas
End Function
Sub main()
Dim arr() As Variant
arr = dataArr
End Sub
Function dataArr() As Variant()
Dim cel() As Long
cel(0) = Cells(Rows.Count, 1).End(xlUp).Row
cel(1) = Cells(1, Columns.Count).End(xlToLeft).Column
Dim rw, col As Long
Dim datas() As Variant
ReDim datas(cel(0), cel(1))
For rw = 0 To cel(0) - 2
For cl = 0 To cel(1) - 1
datas(rw, cl) = Cells(rw + 2, cl + 1)
Next cl
Next rw
dataArr = datas
End Function
820デフォルトの名無しさん (JP 0Hc7-j5s0)
2023/01/22(日) 15:30:46.23ID:DNm1kf3fH これでmain関数の中のarrにすべてのデータが取り込めた
arr(0,1)はヨソバ〇カメラ
arr(1,5)は80000
2行目に、み〇なのさくら屋、売上金額、納品予定
3行目のE列に納品予定合計額を表示させたければ
cells(2,1)=arr(1,1)
cells(2,2)=arr(1,2)
cells(2,3)=arr(1,4)
と指定して表示し
合計はVBA内でfor分で合計値を算出するか
シートに転記後にworksheetFunction.sum()で合計を算出して表示すればどうでしょう
製品テーブル(略称含む)や顧客テーブル(略称含む)をシートで作って置ければ
さらに楽にできると思います
arr(0,1)はヨソバ〇カメラ
arr(1,5)は80000
2行目に、み〇なのさくら屋、売上金額、納品予定
3行目のE列に納品予定合計額を表示させたければ
cells(2,1)=arr(1,1)
cells(2,2)=arr(1,2)
cells(2,3)=arr(1,4)
と指定して表示し
合計はVBA内でfor分で合計値を算出するか
シートに転記後にworksheetFunction.sum()で合計を算出して表示すればどうでしょう
製品テーブル(略称含む)や顧客テーブル(略称含む)をシートで作って置ければ
さらに楽にできると思います
821デフォルトの名無しさん (ワッチョイ 43ad-88l+)
2023/01/22(日) 16:01:00.37ID:PpuiymMq0 >>820
それはデータ取り込みのためのVBAですね?
印刷のための範囲指定は
Sub tes()
'
' tes Macro
'
'
Range("A1:I69").Select ←ここの部分を書き換えると
ActiveSheet.PageSetup.PrintArea = "$A$1:$I$69"
Application.PrintCommunication = False
With ActiveSheet.PageSetup
.PrintTitleRows = ""
.PrintTitleColumns = ""
End With
Application.PrintCommunication = True
ActiveSheet.PageSetup.PrintArea = "$A$1:$I$69"
Application.PrintCommunication = False
With ActiveSheet.PageSetup
途中省略
End With
Application.PrintCommunication = True
End Sub
それはデータ取り込みのためのVBAですね?
印刷のための範囲指定は
Sub tes()
'
' tes Macro
'
'
Range("A1:I69").Select ←ここの部分を書き換えると
ActiveSheet.PageSetup.PrintArea = "$A$1:$I$69"
Application.PrintCommunication = False
With ActiveSheet.PageSetup
.PrintTitleRows = ""
.PrintTitleColumns = ""
End With
Application.PrintCommunication = True
ActiveSheet.PageSetup.PrintArea = "$A$1:$I$69"
Application.PrintCommunication = False
With ActiveSheet.PageSetup
途中省略
End With
Application.PrintCommunication = True
End Sub
822デフォルトの名無しさん (JP 0Hc7-j5s0)
2023/01/22(日) 16:06:26.01ID:DNm1kf3fH >>821
どの程度の大きさのデータを印刷したいのかわからないですが
サンプル程度のデータ量でしたら配列を使って取り込みと出力をして
印刷設定はエクセル側で行えば十分かと思いましたけど
それではあまり役立ちませんか?
どの程度の大きさのデータを印刷したいのかわからないですが
サンプル程度のデータ量でしたら配列を使って取り込みと出力をして
印刷設定はエクセル側で行えば十分かと思いましたけど
それではあまり役立ちませんか?
823デフォルトの名無しさん (スッップ Sd1f-a63L)
2023/01/22(日) 16:17:39.68ID:SHbanA0Dd >>822
印刷設定をEXCEL側とは?
毎回手動で設定して印刷という話ですか?
データ取り込みは苦労していないというか既に自動化は諦めてるので
未納品状態から納品済に変わった段階で
下から消して上に書き込む作業を行わないとならんので。。
印刷設定をEXCEL側とは?
毎回手動で設定して印刷という話ですか?
データ取り込みは苦労していないというか既に自動化は諦めてるので
未納品状態から納品済に変わった段階で
下から消して上に書き込む作業を行わないとならんので。。
824デフォルトの名無しさん (JP 0Hc7-j5s0)
2023/01/22(日) 16:24:05.21ID:DNm1kf3fH >>823
よく理解してなくてすみません
rangeの範囲指定だけ指定できたらOKなのでしょうか?
例えば、
Range("A1:I69")
printArea="$A$1:&i%69"
を指定したいってことでしょうか?
よく理解してなくてすみません
rangeの範囲指定だけ指定できたらOKなのでしょうか?
例えば、
Range("A1:I69")
printArea="$A$1:&i%69"
を指定したいってことでしょうか?
825デフォルトの名無しさん (ワッチョイ e379-TshA)
2023/01/22(日) 16:27:55.16ID:xRK/d49A0 >>819
1オリジンのRangeオブジェクトと0オリジンの配列のやり取りはどうやっても混乱するから
セルを配列に取り込む場合は「array = Range(範囲).Value」のようにRange.Valueで取り込んだ方がいいよ
これでRangeで指定した範囲の値が1オリジンの2次元配列として取得できる
逆に配列をセルに書き戻す場合も、Rangeとarrayの要素数が同じなら「Range(範囲).Value = array」で済む
これはVBAでシートを配列で扱う場合の常識だと思うので一応
1オリジンのRangeオブジェクトと0オリジンの配列のやり取りはどうやっても混乱するから
セルを配列に取り込む場合は「array = Range(範囲).Value」のようにRange.Valueで取り込んだ方がいいよ
これでRangeで指定した範囲の値が1オリジンの2次元配列として取得できる
逆に配列をセルに書き戻す場合も、Rangeとarrayの要素数が同じなら「Range(範囲).Value = array」で済む
これはVBAでシートを配列で扱う場合の常識だと思うので一応
826デフォルトの名無しさん (ワッチョイ 53da-Jpma)
2023/01/22(日) 16:35:26.12ID:DLw6jtzT0 おいおいおいおいw まーたハナシが変わって来てるw ま、それがこの人の個性っちゃあ個性だけどw
パワークエリやパワーピボットを駆使してマクロで一発で取り込むのは出来てる とか、大法螺だったんだな
彼の目的はただ一つ 会議資料として用紙の横書き印刷と縦書き印刷をしてる、その縦書き印刷を自動化したい その一点
横書きとか縦書きとかは彼の独特な表現だからA4ヨコ印刷・A4タテ印刷に脳内変換してくれ A版かB版か、4か3かは定かでは無いが、まあそんな風
で、彼のとっ散らかった説明・解説をまとめると以下の通りだ
販売管理ソフトで売り上げを管理 → 売上データをExcelに吐き出し(もしくはExcelから引っ張る) → そのデータをパワークエリやパワーピボットを
駆使して集計し、会議用資料のテンプレートに落とし込む https://i.imgur.com/MNy37BM.jpg → https://i.imgur.com/JUP2t7B.jpg これはヨコ印刷で
問題無し https://i.imgur.com/LhkqS7p.jpg これのタテ印刷に苦心してる
何故なら :
1] 二列不要だから削除したいが、削除すると「関数」が無くなって違算(エラー)←??
2] 毎月行数の増減があるので最終行が決まらない ←必要なら「※」なり「最終行」なりを手入力してでもマクロを走らせるのの役に立てたい←???
3] 画像には無いが、この他に担当者別売上の表がある ←最初の画像の赤丸位置?それとも上下の表の中間?
4] これが1Sheetに1年12ヶ月分タテに並んでいるので各月自在に印刷するのは大変
ざっくりとこんな感じ
パワークエリやパワーピボットを駆使してマクロで一発で取り込むのは出来てる とか、大法螺だったんだな
彼の目的はただ一つ 会議資料として用紙の横書き印刷と縦書き印刷をしてる、その縦書き印刷を自動化したい その一点
横書きとか縦書きとかは彼の独特な表現だからA4ヨコ印刷・A4タテ印刷に脳内変換してくれ A版かB版か、4か3かは定かでは無いが、まあそんな風
で、彼のとっ散らかった説明・解説をまとめると以下の通りだ
販売管理ソフトで売り上げを管理 → 売上データをExcelに吐き出し(もしくはExcelから引っ張る) → そのデータをパワークエリやパワーピボットを
駆使して集計し、会議用資料のテンプレートに落とし込む https://i.imgur.com/MNy37BM.jpg → https://i.imgur.com/JUP2t7B.jpg これはヨコ印刷で
問題無し https://i.imgur.com/LhkqS7p.jpg これのタテ印刷に苦心してる
何故なら :
1] 二列不要だから削除したいが、削除すると「関数」が無くなって違算(エラー)←??
2] 毎月行数の増減があるので最終行が決まらない ←必要なら「※」なり「最終行」なりを手入力してでもマクロを走らせるのの役に立てたい←???
3] 画像には無いが、この他に担当者別売上の表がある ←最初の画像の赤丸位置?それとも上下の表の中間?
4] これが1Sheetに1年12ヶ月分タテに並んでいるので各月自在に印刷するのは大変
ざっくりとこんな感じ
827デフォルトの名無しさん (オッペケ Src7-a63L)
2023/01/22(日) 16:36:20.85ID:zZKA7THFr828デフォルトの名無しさん (オッペケ Src7-a63L)
2023/01/22(日) 16:43:18.47ID:zZKA7THFr >>826
同じ取引に対してデータ元が2つ有り
パワークエリとパワーピボットで自動取込をするのは販売管理ソフトのデータからが1つ目
こちらは自動的に取り込まれていて
簡単に得意先別、担当者別、商品別の合計や詳細は把握出来る
EXCELで報告資料を作る元データは、他の人が社内共有用に作っているEXCELファイルから
この2つのデータが合っている事を確認する必要もある
最初の質問から有りとあらゆる事を書き出すなんて無理だよ
後から話が違うと言われようが
説明するために簡便化した資料でやってるんだし
てゆーかあなたはVBAの技術は無いんだから無理に話に加わらなくても良いよ
同じ取引に対してデータ元が2つ有り
パワークエリとパワーピボットで自動取込をするのは販売管理ソフトのデータからが1つ目
こちらは自動的に取り込まれていて
簡単に得意先別、担当者別、商品別の合計や詳細は把握出来る
EXCELで報告資料を作る元データは、他の人が社内共有用に作っているEXCELファイルから
この2つのデータが合っている事を確認する必要もある
最初の質問から有りとあらゆる事を書き出すなんて無理だよ
後から話が違うと言われようが
説明するために簡便化した資料でやってるんだし
てゆーかあなたはVBAの技術は無いんだから無理に話に加わらなくても良いよ
829デフォルトの名無しさん (ワッチョイ 53da-Jpma)
2023/01/22(日) 16:47:09.62ID:DLw6jtzT0 で、それはVBAで出来るならそれでもいいけど、普通の機能でも十分賄える作業
範囲に名前を付けて(例えば01y とか01t とか)印刷時にページ設定のダイアログにその名前を入れて印刷するだけ
(もしくは、名前ボックスで選択して[印刷範囲に設定]でもいい ソッチのが楽かも)
範囲が重複しても名前付けは出来るんだし、せっかくの機能を使わない手は無い
11月に成ったら11yや11tを入れてやるだけで広範囲のうちそこだけをプレビューしてくれる
範囲が増減するってなら Offset使った範囲にしとけば行が増えても対応してくれる その名前付けを上手にできるかどうかがカギ
範囲に名前を付けて(例えば01y とか01t とか)印刷時にページ設定のダイアログにその名前を入れて印刷するだけ
(もしくは、名前ボックスで選択して[印刷範囲に設定]でもいい ソッチのが楽かも)
範囲が重複しても名前付けは出来るんだし、せっかくの機能を使わない手は無い
11月に成ったら11yや11tを入れてやるだけで広範囲のうちそこだけをプレビューしてくれる
範囲が増減するってなら Offset使った範囲にしとけば行が増えても対応してくれる その名前付けを上手にできるかどうかがカギ
830デフォルトの名無しさん (オッペケ Src7-a63L)
2023/01/22(日) 16:50:46.58ID:zZKA7THFr 販売管理ソフトに全ての詳細情報を付加する機能が無いから、会社に必要な付随情報をEXCELで付与して管理させている
だから一つの取引に対して2つデータが存在してる
だから一つの取引に対して2つデータが存在してる
831デフォルトの名無しさん (JP 0Hc7-j5s0)
2023/01/22(日) 16:53:25.56ID:DNm1kf3fH >>827
Sub main()
Dim rng As Range
Set rng = Range(Cells(1, 1), Cells(2, 2)) '①
ActiveSheet.PageSetup.PrintArea = rng.Address
End Sub
みたいな感じで、①を都度指定したらできませんか?
Sub main()
Dim rng As Range
Set rng = Range(Cells(1, 1), Cells(2, 2)) '①
ActiveSheet.PageSetup.PrintArea = rng.Address
End Sub
みたいな感じで、①を都度指定したらできませんか?
832デフォルトの名無しさん (オッペケ Src7-a63L)
2023/01/22(日) 16:53:33.27ID:zZKA7THFr833デフォルトの名無しさん (オッペケ Src7-a63L)
2023/01/22(日) 16:55:27.93ID:zZKA7THFr EXCELのデータが正しい事もあれば
販売管理ソフトのデータが正しい事もあるので
二重にすることで間違いのチェックにはなっていると思う
販売管理ソフトのデータが正しい事もあるので
二重にすることで間違いのチェックにはなっていると思う
834デフォルトの名無しさん (ワッチョイ d3ce-Jpma)
2023/01/22(日) 17:00:57.08ID:uavb1b440 一元管理されてない時点で最悪のデータ
835デフォルトの名無しさん (オッペケ Src7-a63L)
2023/01/22(日) 17:04:14.11ID:zZKA7THFr 一元管理は入力ミスがあるとそのまま行ってしまう恐ろしさがある
836デフォルトの名無しさん (JP 0Hc7-j5s0)
2023/01/22(日) 17:04:15.06ID:DNm1kf3fH >>827
最終行列を取得して範囲指定するのなら
cells(rowscount,1).end(xlup).row
cells(1,columns.count).end(xltoleft).column
で最終行列を所得できます
キーワードを使った場合、
cells.find('end')でオブジェクトを取得しますけど
他のセルにキーワードが紛れていたら終わりますので非推奨かもですね
キーワードを最終セルにするというのなら
findを使って最終セルを取得して範囲指定に利用できそうですね
最終行列を取得して範囲指定するのなら
cells(rowscount,1).end(xlup).row
cells(1,columns.count).end(xltoleft).column
で最終行列を所得できます
キーワードを使った場合、
cells.find('end')でオブジェクトを取得しますけど
他のセルにキーワードが紛れていたら終わりますので非推奨かもですね
キーワードを最終セルにするというのなら
findを使って最終セルを取得して範囲指定に利用できそうですね
837デフォルトの名無しさん (オッペケ Src7-a63L)
2023/01/22(日) 17:06:06.74ID:zZKA7THFr838デフォルトの名無しさん (ワッチョイ 53da-Jpma)
2023/01/22(日) 17:06:29.53ID:DLw6jtzT0 そもそもが、全体のデータをどう扱うかのイメージが出来ていない
都度継ぎ接ぎだらけの思い付き・間違ったインスピレーションで作業しているだけ システムの九龍城砦を築いてるようなもの
毎月最終行に「最終行」って手入力することが自動化の助けに成ると思うならそうしてみりゃいい
その手間の時間で印刷終わってる 何月がいちばん上の月か知らんが、年度途中の月、7月とか8月でもそれで動作するシステム組めるのか?
ボタンを12ヶ並べるつもり? 年度途中の月を印刷するためにひとつのボタンで解決させるには、もっと苦労を重ねるけど?
プログラムを書くためにExcel使ってるんじゃ無い 楽するために使ってんだ
都度継ぎ接ぎだらけの思い付き・間違ったインスピレーションで作業しているだけ システムの九龍城砦を築いてるようなもの
毎月最終行に「最終行」って手入力することが自動化の助けに成ると思うならそうしてみりゃいい
その手間の時間で印刷終わってる 何月がいちばん上の月か知らんが、年度途中の月、7月とか8月でもそれで動作するシステム組めるのか?
ボタンを12ヶ並べるつもり? 年度途中の月を印刷するためにひとつのボタンで解決させるには、もっと苦労を重ねるけど?
プログラムを書くためにExcel使ってるんじゃ無い 楽するために使ってんだ
839デフォルトの名無しさん (オッペケ Src7-a63L)
2023/01/22(日) 17:06:34.14ID:zZKA7THFr840デフォルトの名無しさん (オッペケ Src7-a63L)
2023/01/22(日) 17:08:34.65ID:zZKA7THFr841デフォルトの名無しさん (JP 0Hc7-j5s0)
2023/01/22(日) 17:10:50.88ID:DNm1kf3fH842デフォルトの名無しさん (ワッチョイ 43ad-a63L)
2023/01/22(日) 17:11:53.93ID:PpuiymMq0 >>838
月に一回だけ
ENDと入れるだけで
一ヶ月にかなりの時間を節約出切るのが分からない??
行や列を挿入するだけだから
ENDと入れるのは一回だけ
なんなら前月のシートを使えば、それすら要らなくなる
ほんとお前は性格悪いね
月に一回だけ
ENDと入れるだけで
一ヶ月にかなりの時間を節約出切るのが分からない??
行や列を挿入するだけだから
ENDと入れるのは一回だけ
なんなら前月のシートを使えば、それすら要らなくなる
ほんとお前は性格悪いね
843デフォルトの名無しさん (ワッチョイ 43ad-a63L)
2023/01/22(日) 17:13:22.05ID:PpuiymMq0844デフォルトの名無しさん (オッペケ Src7-a63L)
2023/01/22(日) 17:26:29.02ID:zZKA7THFr 縦向きえんど
横向きえんど
この文字を透明色で埋めておけば良いかな
上書き出来ないようにセルを保護しておく?
そうすりゃ毎月何も設定しなくても良くなりますね
横向きえんど
この文字を透明色で埋めておけば良いかな
上書き出来ないようにセルを保護しておく?
そうすりゃ毎月何も設定しなくても良くなりますね
845デフォルトの名無しさん (ワッチョイ 7f74-Njuq)
2023/01/22(日) 18:32:47.51ID:Km84h4+z0846デフォルトの名無しさん (ワッチョイ 0301-WyxW)
2023/01/22(日) 18:34:23.97ID:5nd4WcY/0847デフォルトの名無しさん (オッペケ Src7-a63L)
2023/01/22(日) 18:35:54.62ID:zZKA7THFr >>845
ワタシサバサバしてるので
ワタシサバサバしてるので
848デフォルトの名無しさん (オッペケ Src7-a63L)
2023/01/22(日) 18:36:29.31ID:zZKA7THFr >>846
別の話じゃないよ
別の話じゃないよ
849デフォルトの名無しさん (ワッチョイ bf3d-Sc6R)
2023/01/22(日) 18:51:11.61ID:vQS42HbD0 >>817
レスサンクスです。
ということはYukkuriが100人いたら、
Dim Yukkuri?? As New Dictionaryを100行要るてことになるてこと?
timeline.Add Yukkuriのところで、timelineが使ってるメモリが追加でアロケートされ、
そこに連想配列が追加されるていう動きにならんのかね?
それか連想配列の実体をコピーできるとか。
レスサンクスです。
ということはYukkuriが100人いたら、
Dim Yukkuri?? As New Dictionaryを100行要るてことになるてこと?
timeline.Add Yukkuriのところで、timelineが使ってるメモリが追加でアロケートされ、
そこに連想配列が追加されるていう動きにならんのかね?
それか連想配列の実体をコピーできるとか。
850デフォルトの名無しさん (オッペケ Src7-a63L)
2023/01/22(日) 18:52:29.42ID:zZKA7THFr ワタシフサフサしてるので
851デフォルトの名無しさん (オッペケ Src7-a63L)
2023/01/22(日) 18:56:56.52ID:pQuel4xur852デフォルトの名無しさん (ワッチョイ cfda-88l+)
2023/01/22(日) 19:04:19.40ID:uL/qufmv0 日曜日に仕事?家に持ち帰りならブラック企業だな
853デフォルトの名無しさん (ワッチョイ 0301-WyxW)
2023/01/22(日) 19:13:06.03ID:5nd4WcY/0854デフォルトの名無しさん (ワッチョイ 0301-WyxW)
2023/01/22(日) 19:20:26.34ID:5nd4WcY/0 >>849
だから何をやりたいのかいまいちよくわからんけど100個コピー作りたいならループで回せばいいだけ
新規のDictionaryはループ中で確保する
timeline.Add Yukkuri
Dim N As Long
Dim Yukkuri1 As Dictionary
Dim Key As Variant
For N = 1 To 100
Set Yukkuri1 = New Dictionary
For Each Key In Yukkuri.Keys
Yukkuri1.Add Key, Yukkuri(Key)
Next
timeline.Add Yukkuri1
Next
だから何をやりたいのかいまいちよくわからんけど100個コピー作りたいならループで回せばいいだけ
新規のDictionaryはループ中で確保する
timeline.Add Yukkuri
Dim N As Long
Dim Yukkuri1 As Dictionary
Dim Key As Variant
For N = 1 To 100
Set Yukkuri1 = New Dictionary
For Each Key In Yukkuri.Keys
Yukkuri1.Add Key, Yukkuri(Key)
Next
timeline.Add Yukkuri1
Next
855デフォルトの名無しさん (オッペケ Src7-a63L)
2023/01/22(日) 19:55:07.24ID:pQuel4xur >>853
2つにそれぞれ意味があるから良いだろ
ソフトは客先に納品書や請求書をプリントしたり、EXCELは社内の全ての管理をしやすいように情報付与、そしてその2つが在る事でどちらのかの入力ミスを防げる
この仕組みで会社が儲かってるんだからケチ付けられんわ俺も
2つにそれぞれ意味があるから良いだろ
ソフトは客先に納品書や請求書をプリントしたり、EXCELは社内の全ての管理をしやすいように情報付与、そしてその2つが在る事でどちらのかの入力ミスを防げる
この仕組みで会社が儲かってるんだからケチ付けられんわ俺も
856デフォルトの名無しさん (ワッチョイ e379-TshA)
2023/01/22(日) 20:04:58.23ID:xRK/d49A0 >>814は恐らく連想配列が欲しいわけではなく、
javascriptやpowershellにあるような動的なプロパティが欲しいんだろう
VBAではそういう便利なものはないので基本ノードデータにジャグ配列を使って
ノードの先頭にプロパティ名に相当するタグを付けていった方が記述量的にも混乱が少ないと思われる
javascriptやpowershellにあるような動的なプロパティが欲しいんだろう
VBAではそういう便利なものはないので基本ノードデータにジャグ配列を使って
ノードの先頭にプロパティ名に相当するタグを付けていった方が記述量的にも混乱が少ないと思われる
857デフォルトの名無しさん (ワッチョイ e379-TshA)
2023/01/22(日) 20:21:20.32ID:xRK/d49A0 >>814の意図を汲んだデータをジャグ配列のノードで表記すると恐らく以下の様になる
dim timeline_root
timeline_root = array("timeline" _
,array("Yukkuri", array("Name", "霊夢"), array("serif", "霊夢です")) _
,array("Yukkuri", array("Name", "魔理沙"), array("serif", "魔理沙だぜ")) _
)
配列の要素0に必ずタグ名が入るようにすれば、HTMLのDOMツリーのように一環した探索ロジックが組める
dim timeline_root
timeline_root = array("timeline" _
,array("Yukkuri", array("Name", "霊夢"), array("serif", "霊夢です")) _
,array("Yukkuri", array("Name", "魔理沙"), array("serif", "魔理沙だぜ")) _
)
配列の要素0に必ずタグ名が入るようにすれば、HTMLのDOMツリーのように一環した探索ロジックが組める
858デフォルトの名無しさん (ワッチョイ bf3d-Sc6R)
2023/01/22(日) 23:17:51.08ID:vQS42HbD0 >>857
やろうとしてることは、ゆっくりムービーメーカー4の定義ファイルをVBAで編集すること。
ゆっくりムービーメーカー4の定義ファイルはJSONになってて、
VBAではJSONが使えないから、誰かが組んだVBA-JSONを使うと
JSONがVBAのコレクションやディクショナリー(連想配列)で作られたデータになる。
そこなかで、セリフが定義されてるを連想配列を複製してセリフ書き換えてくてことをやってるんだけど、
VBAのSETて参照するだけで、その参照したものを上位の配列にaddしても、
参照先情報みたいなものがaddされるだけで、別メモリーの情報がaddされるわけじゃない。
ただ、試行錯誤していたら
一旦同じ連想配列をaddしたものを作って、
それをjsonにして、またそのjsonを連想配列に戻してやれば、
別メモリが割り当てられた連想配列が出来上がった。
そのあとは個別に要素を書き換えられる。
javascriptとかは
.配列.push({...Yukkuri[0]})
とかやれば行けたんだが、VBAは無理なのか。
やろうとしてることは、ゆっくりムービーメーカー4の定義ファイルをVBAで編集すること。
ゆっくりムービーメーカー4の定義ファイルはJSONになってて、
VBAではJSONが使えないから、誰かが組んだVBA-JSONを使うと
JSONがVBAのコレクションやディクショナリー(連想配列)で作られたデータになる。
そこなかで、セリフが定義されてるを連想配列を複製してセリフ書き換えてくてことをやってるんだけど、
VBAのSETて参照するだけで、その参照したものを上位の配列にaddしても、
参照先情報みたいなものがaddされるだけで、別メモリーの情報がaddされるわけじゃない。
ただ、試行錯誤していたら
一旦同じ連想配列をaddしたものを作って、
それをjsonにして、またそのjsonを連想配列に戻してやれば、
別メモリが割り当てられた連想配列が出来上がった。
そのあとは個別に要素を書き換えられる。
javascriptとかは
.配列.push({...Yukkuri[0]})
とかやれば行けたんだが、VBAは無理なのか。
859デフォルトの名無しさん (ワッチョイ cfda-sGmE)
2023/01/23(月) 00:40:24.32ID:g2a0jdgy0 こんどはjavaかw
できるならそっちでやれよ
できるならそっちでやれよ
860デフォルトの名無しさん (ワッチョイ e379-TshA)
2023/01/23(月) 02:01:54.23ID:8zQTqYpQ0861デフォルトの名無しさん (アウアウウー Saa7-DmZS)
2023/01/23(月) 05:38:36.83ID:yam+YnrUa >Excelと販管ソフトに、個々に入力してるから安心
もし、この2つが異なった値なら、システムが破綻しているw
オリジナルは1つのみ!
そして、バックアップ用のコピーを持つべき!
もし、この2つが異なった値なら、システムが破綻しているw
オリジナルは1つのみ!
そして、バックアップ用のコピーを持つべき!
862861 (アウアウウー Saa7-DmZS)
2023/01/23(月) 05:45:42.29ID:yam+YnrUa 例えば、銀行のシステムでも、2つのオリジナルを持たない。
3人が同時入力して、多数決でオリジナルを決める
サーバーでもそう。偶数個のノードにしない。
1:1, 2:2 などの分断が起きて、どちらがオリジナルか判断できなくなる
必ず、奇数個で判断して、オリジナルを決める。
そして、オリジナルのバックアップ用のコピーを持つ
そうしないと、システムが破綻する
3人が同時入力して、多数決でオリジナルを決める
サーバーでもそう。偶数個のノードにしない。
1:1, 2:2 などの分断が起きて、どちらがオリジナルか判断できなくなる
必ず、奇数個で判断して、オリジナルを決める。
そして、オリジナルのバックアップ用のコピーを持つ
そうしないと、システムが破綻する
863デフォルトの名無しさん (オッペケ Src7-a63L)
2023/01/23(月) 05:47:16.87ID:7g54Dlndr >>861
知らんがな
システムの良い悪いの判定なんてお前らに求めて無い事を察しなさい
俺以外の社員含めて理不尽な事をやってるなと思いながら仕事をしてるんだから
70歳の引退予定の上司に言ってくれ
そいつがいなくなればスッキリさせる
知らんがな
システムの良い悪いの判定なんてお前らに求めて無い事を察しなさい
俺以外の社員含めて理不尽な事をやってるなと思いながら仕事をしてるんだから
70歳の引退予定の上司に言ってくれ
そいつがいなくなればスッキリさせる
864デフォルトの名無しさん (オッペケ Src7-a63L)
2023/01/23(月) 05:53:04.08ID:7g54Dlndr865デフォルトの名無しさん (JP 0Hc7-j5s0)
2023/01/23(月) 06:43:46.30ID:iLyXDG2rH >>872さんはキーワードで所望の範囲指定はできたのでしょうか?
866デフォルトの名無しさん (オッペケ Src7-a63L)
2023/01/23(月) 06:47:14.18ID:7g54Dlndr >>872
答えな
答えな
867デフォルトの名無しさん (オッペケ Src7-a63L)
2023/01/23(月) 07:03:42.58ID:7g54Dlndr >>865
変数を定義して範囲の右下のキーワードを拾って
ActiveSheet.PageSetup.PrintArea =
のところにその定義した変数を入れてやるという理屈で合ってますよね?
後はフサフサでも分かるEXCEL VBAの本が到着してから勉強します
変数を定義して範囲の右下のキーワードを拾って
ActiveSheet.PageSetup.PrintArea =
のところにその定義した変数を入れてやるという理屈で合ってますよね?
後はフサフサでも分かるEXCEL VBAの本が到着してから勉強します
868デフォルトの名無しさん (JP 0Hc7-j5s0)
2023/01/23(月) 07:11:24.85ID:iLyXDG2rH よかったです、がんばってください!
869デフォルトの名無しさん (ワッチョイ 0301-WyxW)
2023/01/23(月) 08:50:43.95ID:rT2ytU3d0 >>858
> VBAのSETて参照するだけで、その参照したものを上位の配列にaddしても、
> 参照先情報みたいなものがaddされるだけで、別メモリーの情報がaddされるわけじゃない。
だから新規に作ってコピーしなよって書いたのに...
コードまで書いたのに無視するんならもうさじ投げるわ
> VBAのSETて参照するだけで、その参照したものを上位の配列にaddしても、
> 参照先情報みたいなものがaddされるだけで、別メモリーの情報がaddされるわけじゃない。
だから新規に作ってコピーしなよって書いたのに...
コードまで書いたのに無視するんならもうさじ投げるわ
870デフォルトの名無しさん (ワッチョイ bf3d-Sc6R)
2023/01/23(月) 09:10:22.34ID:+DM8uE5N0 >>869
新規に作るていっても、複雑な連想配列の塊をどうやって作る?
サンプルはたかだなNameとserifしかキーがないけど、
キーがいっぱいある構造のデーターをコード内でコピーするロジックを書くのは無理だと考える。
しかもその構造が動的だったらお手上げ。
新規に作るていっても、複雑な連想配列の塊をどうやって作る?
サンプルはたかだなNameとserifしかキーがないけど、
キーがいっぱいある構造のデーターをコード内でコピーするロジックを書くのは無理だと考える。
しかもその構造が動的だったらお手上げ。
871デフォルトの名無しさん (スッププ Sd1f-88l+)
2023/01/23(月) 09:18:38.98ID:0EjNvA6Wd 質問スレに回答してくる人は善意でやってるだけで最終的に自分で解決できないならあきらめろって話
872デフォルトの名無しさん (アウアウウー Saa7-WyxW)
2023/01/23(月) 09:32:51.14ID:QZVEgBP9a873デフォルトの名無しさん (スップ Sd1f-IfUZ)
2023/01/23(月) 09:42:01.99ID:q/YAUd9Kd マクロでやりたいなら行数が最大になるパターンで書式作っておいて、そこにデータ入力、不要な行の削除でそのまま印刷すればよくね?
874デフォルトの名無しさん (ワッチョイ bf3d-Sc6R)
2023/01/23(月) 09:55:52.06ID:+DM8uE5N0875デフォルトの名無しさん (ワッチョイ cfda-88l+)
2023/01/23(月) 13:24:02.41ID:2y89VdvQ0 またVBAが壊れた。
プロシージャの中でオブジェクト変数に割り当てる
ワークシート名やクエリー・テーブル名を
日本語にしているのはマズい?
プロシージャの中でオブジェクト変数に割り当てる
ワークシート名やクエリー・テーブル名を
日本語にしているのはマズい?
876デフォルトの名無しさん (ワッチョイ 5349-j0by)
2023/01/23(月) 15:15:51.75ID:cuqAJLzI0 インターネットが壊れた
877デフォルトの名無しさん (ワッチョイ 7ff0-j5s0)
2023/01/23(月) 17:40:15.92ID:zqGzpVPE0 vbaが壊れるという表現が分からない
プログラムは組んだようにしか動かない
プログラムは組んだようにしか動かない
878デフォルトの名無しさん (ワッチョイ cfda-88l+)
2023/01/23(月) 18:35:46.07ID:2y89VdvQ0 先週までは問題なく動いていたブックを開くと、
すぐExcelが落ちて回復が入ってしまい、
回復ブックを開くと、プロシージャがモジュールごと丸々なくなっていた。
ワークシートのクエリーやテーブル、計算式やグラフは壊れていなさそうで、
新たにモジュールを作り直して
バックアップを取っていたプロシージャの記述をそのまま貼り付けたら、
一応、VBAも動くようになった。
過去には新たなモジュールすら作れなくなったことも。
すぐExcelが落ちて回復が入ってしまい、
回復ブックを開くと、プロシージャがモジュールごと丸々なくなっていた。
ワークシートのクエリーやテーブル、計算式やグラフは壊れていなさそうで、
新たにモジュールを作り直して
バックアップを取っていたプロシージャの記述をそのまま貼り付けたら、
一応、VBAも動くようになった。
過去には新たなモジュールすら作れなくなったことも。
879デフォルトの名無しさん (ワッチョイ cfda-88l+)
2023/01/23(月) 19:12:29.48ID:g2a0jdgy0 自力で解決した自慢ですね、わかります
880デフォルトの名無しさん (ワッチョイ 53da-Jpma)
2023/01/23(月) 19:45:05.26ID:GmkrhCzJ0 過去に学んでこの際だからぜんぶ変えてしまおう またいつアプデ地獄に巻き込まれるか知れたもんじゃ無いし
https://qiita.com/Q11Q/items/7a9d4c89726cfaa7abd6
https://qiita.com/Q11Q/items/7a9d4c89726cfaa7abd6
881デフォルトの名無しさん (JP 0Hc7-j5s0)
2023/01/23(月) 20:16:53.47ID:iLyXDG2rH 「VBAが消えてしまった!マクロが壊れて動かない!」
ってな感じで検索してみたら?
ってな感じで検索してみたら?
882デフォルトの名無しさん (ワッチョイ 332f-DmZS)
2023/01/23(月) 20:31:12.87ID:XEd9VR/30 ACCESSで、NLSの問題でカナ含むVBAモジュールが開けなくなるってのはあったな
883デフォルトの名無しさん (ワッチョイ cfda-88l+)
2023/01/23(月) 21:06:30.67ID:2y89VdvQ0884デフォルトの名無しさん (ワッチョイ 6fda-A+LD)
2023/01/23(月) 21:23:58.29ID:7qHnsy280 確認したけど2212が最新で更新できなかった
885デフォルトの名無しさん (JP 0Hff-88l+)
2023/01/23(月) 21:28:06.31ID:c8LJJic2H NAME?
886デフォルトの名無しさん (ワッチョイ cfda-88l+)
2023/01/23(月) 21:37:36.60ID:2y89VdvQ0887デフォルトの名無しさん (JP 0Hff-88l+)
2023/01/23(月) 21:54:37.35ID:c8LJJic2H888デフォルトの名無しさん (ワッチョイ cfda-88l+)
2023/01/23(月) 21:59:43.45ID:2y89VdvQ0889デフォルトの名無しさん (ワッチョイ d3ce-Jpma)
2023/01/24(火) 03:50:07.79ID:ID+MP23U0 ドイツのプログラマーが、Selenium、WebDriverを使わずにEdgeを直接制御するクラスを作ってるのを見つけた
試したらとりあえず動いたんで報告
https://www.codeproject.com/Tips/5307593/Automate-Chrome-Edge-using-VBA
動作テスト中にはまった点を書いておくと、裏でEdgeのアップデートチェックが走ってるとエラーが出て止まる
これだけ殺せば動く
taskkill /f /im msedge.exe
taskkill /f /im MicrosoftEdgeUpdate.exe
あと、Edgeの起動オプションを
--remote-debugging-pipe --disable-automation
に変えるとコマンドラインウィンドウが出なくなる
試したらとりあえず動いたんで報告
https://www.codeproject.com/Tips/5307593/Automate-Chrome-Edge-using-VBA
動作テスト中にはまった点を書いておくと、裏でEdgeのアップデートチェックが走ってるとエラーが出て止まる
これだけ殺せば動く
taskkill /f /im msedge.exe
taskkill /f /im MicrosoftEdgeUpdate.exe
あと、Edgeの起動オプションを
--remote-debugging-pipe --disable-automation
に変えるとコマンドラインウィンドウが出なくなる
890デフォルトの名無しさん (ワッチョイ cf01-hCjO)
2023/01/24(火) 14:18:41.94ID:kQQ7KETY0 Dim a As Long
Dim b As Short
Dim b As Short
891デフォルトの名無しさん (ワッチョイ cf01-hCjO)
2023/01/24(火) 14:22:05.82ID:kQQ7KETY0 Dim a As Single
Dim b As Double
Dim c As Triple
Dim b As Double
Dim c As Triple
892デフォルトの名無しさん (オッペケ Src7-a63L)
2023/01/24(火) 20:20:19.23ID:Fm53fhAfr フサVBAの本が届いた~
分からないとこはよろしく
分からないとこはよろしく
893デフォルトの名無しさん (ワッチョイ ff7c-RpYB)
2023/01/25(水) 00:33:41.40ID:E3f+ZKf20 >>889
どうしてわざわざEdgeをチョイスするのかと
どうしてわざわざEdgeをチョイスするのかと
894デフォルトの名無しさん (ワッチョイ e379-TshA)
2023/01/25(水) 01:52:23.37ID:WwTOH1I60 Edgeと言いながらプロトコル的にchronium系共通だし
OSに元から入ってるEdgeならIE難民にはちょうどいいんじゃね
OSに元から入ってるEdgeならIE難民にはちょうどいいんじゃね
895デフォルトの名無しさん (ワッチョイ 53da-Jpma)
2023/01/25(水) 11:18:39.60ID:PxGM72CY0 他社との業務連携用途とかだと他の選択肢が無かったりする
896デフォルトの名無しさん (ワッチョイ cfda-88l+)
2023/01/25(水) 11:41:19.68ID:qyEQLwkW0 自分にできないことを引き受けるから失敗する
897デフォルトの名無しさん (ワッチョイ 7ff0-j5s0)
2023/01/25(水) 14:14:51.65ID:uj/UrXzd0 できるだろうって思ってガンガン仕様変更されても
898デフォルトの名無しさん (オッペケ Src7-zVY0)
2023/01/26(木) 07:02:58.95ID:QQqpl7Qdr 質問です
VBAを使ってこのスレの人にアンケートを取りたい
皆さんは文系ですか?理系ですか?
もともとプログラミング出来る人ですか?
それとも経理とか必要に迫られて覚えた方ですか?
VBAを使ってこのスレの人にアンケートを取りたい
皆さんは文系ですか?理系ですか?
もともとプログラミング出来る人ですか?
それとも経理とか必要に迫られて覚えた方ですか?
899デフォルトの名無しさん (ワッチョイ 0301-WyxW)
2023/01/26(木) 07:44:32.02ID:im4j/4Ys0 >>898
マ板でやれ
マ板でやれ
900デフォルトの名無しさん (オッペケ Src7-zVY0)
2023/01/26(木) 08:08:19.42ID:QQqpl7Qdr マ板って何?
包丁切れますか?
包丁切れますか?
901デフォルトの名無しさん (JP 0Hff-88l+)
2023/01/26(木) 08:12:22.27ID:jr7Apji9H 無意味なアンケート
902デフォルトの名無しさん (JP 0Hff-88l+)
2023/01/26(木) 08:14:59.84ID:jr7Apji9H 文字列の演算をエラーにする方法は無いでしょうか
Sub foo()
Str a
Str b
Str c
a = 1
b = 2
c = a + b
Debug.Print c
End Sub
Sub foo()
Str a
Str b
Str c
a = 1
b = 2
c = a + b
Debug.Print c
End Sub
903デフォルトの名無しさん (ワッチョイ a3e5-ZVkQ)
2023/01/26(木) 08:40:12.57ID:InTdWzkF0 c = a - b
904デフォルトの名無しさん (JP 0Hff-88l+)
2023/01/26(木) 08:47:05.40ID:jr7Apji9H905デフォルトの名無しさん (スプッッ Sd47-aTb4)
2023/01/26(木) 09:03:16.60ID:N0DN9EFmd 皆さんはお仕事何されてますか
事務をやって三年、仕事を楽にするために始めたExcelVBAは人並みに身についた気がしますが
ただの事務では給与が足りずプログラマに転向するには経験が浅いのです
事務をやって三年、仕事を楽にするために始めたExcelVBAは人並みに身についた気がしますが
ただの事務では給与が足りずプログラマに転向するには経験が浅いのです
906デフォルトの名無しさん (ワッチョイ ff02-qYbV)
2023/01/26(木) 09:11:16.84ID:NYppQtUx0 エクセルのvbaエディタ?がすごくつかいずらくて、
vsCodeでvbaが記述できるxvbaというツールを利用しようと試みています。
ですが、
エクセルで書かれたvbaの日本語文字が、vsCodeで読み込むと文字化けしてしまいます。
おそらく、エクセルの方のエディタがUTF-8ではないのかと思いますが。
このあたり、経験されているかた。どのように対処されていますでしょうか?
どうぞアドバイスください。
vsCodeでvbaが記述できるxvbaというツールを利用しようと試みています。
ですが、
エクセルで書かれたvbaの日本語文字が、vsCodeで読み込むと文字化けしてしまいます。
おそらく、エクセルの方のエディタがUTF-8ではないのかと思いますが。
このあたり、経験されているかた。どのように対処されていますでしょうか?
どうぞアドバイスください。
907デフォルトの名無しさん (ラクッペペ MM7f-qqxO)
2023/01/26(木) 09:44:15.86ID:eGur5fW5M >>906
よく分からんけど逆にVSCでCP932使えば良いのでは?
よく分からんけど逆にVSCでCP932使えば良いのでは?
908デフォルトの名無しさん (スップ Sd1f-88l+)
2023/01/26(木) 10:08:42.84ID:UvNszdC2d909デフォルトの名無しさん (ワッチョイ 0301-WyxW)
2023/01/26(木) 10:40:51.75ID:im4j/4Ys0 > Str a
> Str b
> Str c
なんていう謎の言語はスレ違いかと
> Str b
> Str c
なんていう謎の言語はスレ違いかと
910デフォルトの名無しさん (スップ Sd1f-88l+)
2023/01/26(木) 11:00:07.24ID:UvNszdC2d >>905
スレ違いです
スレ違いです
911デフォルトの名無しさん (ワッチョイ cfda-88l+)
2023/01/26(木) 11:10:42.36ID:JQ22Y2sI0 >>905
転職なら早い方がいい、年齢が若ければ新しい職場にもすぐ慣れるだろうから
転職なら早い方がいい、年齢が若ければ新しい職場にもすぐ慣れるだろうから
912デフォルトの名無しさん (ブーイモ MM7f-PvGG)
2023/01/26(木) 12:32:00.38ID:Y5eC8vQ8M >>902
エラーにするってのがよくわからんが
個人的にはc=a+b以降をしたのようにする。
If vartype(a) = vbstring or vartype(b) = vbstring Then
Debug.print "エラー"
Else
c= a + b
Debug.print c
End If
End Sub
>>908
a=1 と直接書いてるけど本当は
a=どっかのセルの値にしたいんじゃね?
で、そのセルには数値以外が入ってる可能性があるから
文字列ならエラーにしたいんじゃないかと。
>>909
文字列に変換するstr関数を使いたかったんじゃね?
書き方間違えてるから謎の言語になってるけど。
エラーにするってのがよくわからんが
個人的にはc=a+b以降をしたのようにする。
If vartype(a) = vbstring or vartype(b) = vbstring Then
Debug.print "エラー"
Else
c= a + b
Debug.print c
End If
End Sub
>>908
a=1 と直接書いてるけど本当は
a=どっかのセルの値にしたいんじゃね?
で、そのセルには数値以外が入ってる可能性があるから
文字列ならエラーにしたいんじゃないかと。
>>909
文字列に変換するstr関数を使いたかったんじゃね?
書き方間違えてるから謎の言語になってるけど。
913デフォルトの名無しさん (ワッチョイ ff02-qYbV)
2023/01/26(木) 12:41:55.63ID:NYppQtUx0 Transposeで作る配列の
一番最初の要素の添字は0じゃなくて、1であってます?
一番最初の要素の添字は0じゃなくて、1であってます?
914デフォルトの名無しさん (ワッチョイ d3ce-Jpma)
2023/01/26(木) 12:53:54.77ID:XU6i0xq00 >>902
(1)たとえセルの書式が文字列でも
(2)数字っぽい内容だと
(3)勝手に数値型に変換されてしまう
https://i.imgur.com/0xrxf44.png
何がやりたいのか、ぼかさずに具体的に説明してくれないと無理
(1)たとえセルの書式が文字列でも
(2)数字っぽい内容だと
(3)勝手に数値型に変換されてしまう
https://i.imgur.com/0xrxf44.png
何がやりたいのか、ぼかさずに具体的に説明してくれないと無理
915デフォルトの名無しさん (JP 0Hff-88l+)
2023/01/26(木) 12:55:07.08ID:jr7Apji9H916デフォルトの名無しさん (オッペケ Src7-CBlj)
2023/01/26(木) 13:02:48.18ID:bIyafktir >>915
それなら素直にlongで宣言するべきでしょ
変数名間違えた時の保険って、紛らわし変数名にするなって話だし
変数名間違えたときのための保険って言い出したら何も出来ないじゃん
じゃあその「変数名間違ってたときの確認のためのコードの」変数名が間違ってたらどうするの?
その確認のための変数名確認のためのコードをつけるのか?
それが間違ってたら?
確認のための変数名確認のための変数名確認のためのコードをやるの?
って話になる
それなら素直にlongで宣言するべきでしょ
変数名間違えた時の保険って、紛らわし変数名にするなって話だし
変数名間違えたときのための保険って言い出したら何も出来ないじゃん
じゃあその「変数名間違ってたときの確認のためのコードの」変数名が間違ってたらどうするの?
その確認のための変数名確認のためのコードをつけるのか?
それが間違ってたら?
確認のための変数名確認のための変数名確認のためのコードをやるの?
って話になる
917デフォルトの名無しさん (JP 0Hff-88l+)
2023/01/26(木) 13:11:07.62ID:jr7Apji9H >>916
逆で、文字列を数値として使ってしまった場合に検出したい
単にタイポ時の保険としてエラーが起こってほしいってだけだよ
vbaに無いなら仕方ない、そういう言語なんだなってだけで
別にそこには期待しないよ
逆で、文字列を数値として使ってしまった場合に検出したい
単にタイポ時の保険としてエラーが起こってほしいってだけだよ
vbaに無いなら仕方ない、そういう言語なんだなってだけで
別にそこには期待しないよ
918デフォルトの名無しさん (スップ Sd1f-88l+)
2023/01/26(木) 13:21:15.99ID:UvNszdC2d 少し上にいた大量にレスしてた奴みたいなおかしな質問者もいるし
適当に質問しても回答者が頑張ってくれるだろみたいな考えの質問者が多すぎなんだよ
適当に質問しても回答者が頑張ってくれるだろみたいな考えの質問者が多すぎなんだよ
919デフォルトの名無しさん (ワッチョイ d3ce-Jpma)
2023/01/26(木) 13:31:14.65ID:XU6i0xq00920913 (ワッチョイ ff02-qYbV)
2023/01/26(木) 13:32:06.85ID:NYppQtUx0921デフォルトの名無しさん (オッペケ Src7-CBlj)
2023/01/26(木) 13:35:53.75ID:bIyafktir >>917
あのさぁ、自分の説明が下手くそなくせにできないのは他人のせい、言語のせいにするのはよくないぞ
単にタイプミスって言っても自分がコード書くときにミスしないようにしたいのか、使う際にinputBox等で入力させるときにミスをなくしたいのかで全然違うだろ
エスパーじゃないんだから質問するならもっと具体的にしろよ
あのさぁ、自分の説明が下手くそなくせにできないのは他人のせい、言語のせいにするのはよくないぞ
単にタイプミスって言っても自分がコード書くときにミスしないようにしたいのか、使う際にinputBox等で入力させるときにミスをなくしたいのかで全然違うだろ
エスパーじゃないんだから質問するならもっと具体的にしろよ
922デフォルトの名無しさん (ワッチョイ d3ce-Jpma)
2023/01/26(木) 13:39:36.95ID:XU6i0xq00 >>920
ワークシートが1行目スタートだから
ワークシートが1行目スタートだから
923デフォルトの名無しさん (JP 0Hff-88l+)
2023/01/26(木) 14:28:02.25ID:jr7Apji9H >>921
いやinputboxなら全部文字列だろ
いやinputboxなら全部文字列だろ
924デフォルトの名無しさん (スップ Sd1f-88l+)
2023/01/26(木) 14:50:16.50ID:UvNszdC2d ExcelVBAは型に対する考慮が緩いから正直期待にそえる回答はないと思うよ
例えば変数名の先頭に型を付与するようなルール決めてもタイプミスって言葉で許されるなら破綻するだけだしね
例えば変数名の先頭に型を付与するようなルール決めてもタイプミスって言葉で許されるなら破綻するだけだしね
925デフォルトの名無しさん (オッペケ Src7-CBlj)
2023/01/26(木) 14:52:16.71ID:bIyafktir >>923
だから、最後までちゃんとかけや
それはinputBoxを格納する変数の話だろ
そんな話はしてないわ
色々な具体例があって様々な解決策があるのに、なんにも具体的な話を出さずに抽象的に話しして、一部に対してだけ反論してお前は馬鹿か?
だから、最後までちゃんとかけや
それはinputBoxを格納する変数の話だろ
そんな話はしてないわ
色々な具体例があって様々な解決策があるのに、なんにも具体的な話を出さずに抽象的に話しして、一部に対してだけ反論してお前は馬鹿か?
926デフォルトの名無しさん (JP 0Hff-88l+)
2023/01/26(木) 14:56:29.20ID:jr7Apji9H927デフォルトの名無しさん (オッペケ Src7-CBlj)
2023/01/26(木) 14:58:44.32ID:bIyafktir つーか
「単純にコードのミスを検出したいだけなんです
変数名を間違えた場合の保険程度のつもりなんです」
本当にこれだけだったら先頭にOption Explicitつけて似たような変数宣言するな、で終わる話だよな
さすがにOption Explicitをつけてない人はいないだろうからそんな超初歩的な事はありえないと思ってるけど
「単純にコードのミスを検出したいだけなんです
変数名を間違えた場合の保険程度のつもりなんです」
本当にこれだけだったら先頭にOption Explicitつけて似たような変数宣言するな、で終わる話だよな
さすがにOption Explicitをつけてない人はいないだろうからそんな超初歩的な事はありえないと思ってるけど
928デフォルトの名無しさん (オッペケ Src7-CBlj)
2023/01/26(木) 15:12:07.01ID:bIyafktir929デフォルトの名無しさん (スッップ Sd1f-RQPf)
2023/01/26(木) 15:26:02.63ID:PKxWUOv2d 例の零細企業の馬鹿社員だろ
930デフォルトの名無しさん (JP 0Hff-88l+)
2023/01/26(木) 15:51:08.82ID:jr7Apji9H >>928
結局回答できない無能で草
結局回答できない無能で草
931デフォルトの名無しさん (スッップ Sd1f-RQPf)
2023/01/26(木) 15:55:50.96ID:41WP6aJtd やっぱり
こういうのを相手にするのがそもそもの間違い
こういうのを相手にするのがそもそもの間違い
932デフォルトの名無しさん (オッペケ Src7-zVY0)
2023/01/26(木) 16:26:35.24ID:QQqpl7Qdr >>929
ん?呼んだ?
ん?呼んだ?
933デフォルトの名無しさん (スプッッ Sd47-aTb4)
2023/01/26(木) 16:54:33.47ID:N0DN9EFmd IF Not Isnumeric( a + b ) then c = a + b
とか
c = a & b
とかの雑魚コードでも教えておけばよかったのに
とか
c = a & b
とかの雑魚コードでも教えておけばよかったのに
934デフォルトの名無しさん (ラクッペペ MM7f-ZVkQ)
2023/01/26(木) 17:03:23.50ID:UDgAljjqM a = 1 の暗黙の型変換でエラーにしたいならそう言えよ
935デフォルトの名無しさん (ワッチョイ cfda-88l+)
2023/01/26(木) 18:24:03.88ID:JQ22Y2sI0 >>928
なれると初心者の質問だって見抜けるようになるよ
なれると初心者の質問だって見抜けるようになるよ
936デフォルトの名無しさん (JP 0Hff-88l+)
2023/01/26(木) 18:44:31.80ID:jr7Apji9H 荒れすぎだろ
どうなってんだよ
どうなってんだよ
937デフォルトの名無しさん (スップ Sd1f-88l+)
2023/01/26(木) 19:02:58.68ID:UvNszdC2d 質問が雑だと回答する側は色々考えるからこういう感じになるんだよ
だから質問する側もちゃんと回答しやすいようにすればいいだけ
だから質問する側もちゃんと回答しやすいようにすればいいだけ
938デフォルトの名無しさん (ワッチョイ e379-TshA)
2023/01/26(木) 19:07:48.41ID:lq03KzKz0 そんなの期待するだけ無駄
そっとスレを閉じればいいのよ
そっとスレを閉じればいいのよ
939デフォルトの名無しさん (ワンミングク MM9f-gSeq)
2023/01/26(木) 19:12:37.90ID:CIVBTG9eM 零細企業のアホみたいな奴に答えてやろうなんて思うから荒れる
助けてで始まる質問する奴や、頭が悪いのに自分はできるみたいに思っておかしな質問をする奴は無視するのが一番
助けてで始まる質問する奴や、頭が悪いのに自分はできるみたいに思っておかしな質問をする奴は無視するのが一番
940デフォルトの名無しさん (オッペケ Src7-zVY0)
2023/01/26(木) 19:15:21.07ID:LFv4Wa39r てゆーかそんな事を言うやつがわざわざこんなとこ見るなよ
教えてやってるみたいな立ち位置でさw
教えてやってるみたいな立ち位置でさw
941デフォルトの名無しさん (JP 0Hc7-j5s0)
2023/01/26(木) 19:17:05.41ID:fSHWBRl+H 変数が文字列ならエラーにすれば?
942デフォルトの名無しさん (ワッチョイ 0301-WyxW)
2023/01/26(木) 19:26:25.23ID:im4j/4Ys0 そもそも
> Str a
> Str b
> Str c
の時点で実際に動かしてないんだから相手する価値なし
> Str a
> Str b
> Str c
の時点で実際に動かしてないんだから相手する価値なし
943デフォルトの名無しさん (スッププ Sd1f-88l+)
2023/01/26(木) 20:00:51.10ID:BIrRkdsHd944デフォルトの名無しさん (ワッチョイ 6f19-1gWY)
2023/01/26(木) 20:10:49.10ID:omfXV+oL0 キチンとString型を宣言しているなら確か
+は文字列連結の意味になるんじゃなかったっけ?
であれば前のレスで言ってた人がいたけど
- 0とか*0とかすればエラーになるんじゃないかな?
逆にSQLとかで文字列を数値で扱いたい場合は
*0とか-0とかにすると暗黙の変換で数値にしてくれる。
VBAでは型宣言は絶対だけど、
VBSみたいにスカラー変数を使う場合は
VBAみたいな型指定の型宣言が出来ないんで少し戸惑うかもね。
でもここはVBAのスレなので、
基本的に型宣言は絶対だと思っていいと思うよ。
+は文字列連結の意味になるんじゃなかったっけ?
であれば前のレスで言ってた人がいたけど
- 0とか*0とかすればエラーになるんじゃないかな?
逆にSQLとかで文字列を数値で扱いたい場合は
*0とか-0とかにすると暗黙の変換で数値にしてくれる。
VBAでは型宣言は絶対だけど、
VBSみたいにスカラー変数を使う場合は
VBAみたいな型指定の型宣言が出来ないんで少し戸惑うかもね。
でもここはVBAのスレなので、
基本的に型宣言は絶対だと思っていいと思うよ。
945デフォルトの名無しさん (JP 0Hff-88l+)
2023/01/27(金) 00:45:46.26ID:PwZKt+DmH946デフォルトの名無しさん (ワッチョイ d3ce-Jpma)
2023/01/27(金) 00:52:57.14ID:Gy/KHy720947デフォルトの名無しさん (JP 0Hff-88l+)
2023/01/27(金) 01:00:12.13ID:PwZKt+DmH948デフォルトの名無しさん (ワッチョイ 332f-DmZS)
2023/01/27(金) 02:03:03.20ID:sVJGpHK80949デフォルトの名無しさん (ワッチョイ 6f8c-jJmO)
2023/01/27(金) 03:26:55.09ID:wPosq0f50950デフォルトの名無しさん (ワッチョイ 6fda-A+LD)
2023/01/27(金) 04:22:04.52ID:WUhobyCY0 演算子一覧表
https://support.microsoft.com/ja-jp/office/e1bc04d5-8b76-429f-a252-e9223117d6bd
連結演算子
& 2 つの文字列を組み合わせて、1 つの文字列を作成します。
+ 2 つの文字列を組み合わせて、1 つの文字列を作成し、Null 値を伝達します (一方の値が Null の場合、式全体が Null と評価されます)。
https://support.microsoft.com/ja-jp/office/e1bc04d5-8b76-429f-a252-e9223117d6bd
連結演算子
& 2 つの文字列を組み合わせて、1 つの文字列を作成します。
+ 2 つの文字列を組み合わせて、1 つの文字列を作成し、Null 値を伝達します (一方の値が Null の場合、式全体が Null と評価されます)。
951デフォルトの名無しさん (ワッチョイ ff02-qYbV)
2023/01/27(金) 09:27:20.18ID:JeWwXD830 VBAはあまり書かなくて理解足らないのは承知しているが、
配列に0から200の値を書き込むサンプル
これは、型があわないとアラートが返ってきます。
ダメな理由を教えてください。
Sub test()
Dim arrs As Variant
Dim i As Long
For i = 0 To 200
arrs(i) = i
Next i
End Sub
配列に0から200の値を書き込むサンプル
これは、型があわないとアラートが返ってきます。
ダメな理由を教えてください。
Sub test()
Dim arrs As Variant
Dim i As Long
For i = 0 To 200
arrs(i) = i
Next i
End Sub
952デフォルトの名無しさん (スッップ Sd1f-88l+)
2023/01/27(金) 09:46:51.11ID:HtuDNqBEd 全ての行に「Debug.Print TypeName(arrs)」を入れてみると何でダメかわかってくるかもね
953デフォルトの名無しさん (ワッチョイ d3ce-Jpma)
2023/01/27(金) 09:50:45.30ID:Gy/KHy720 >>951
Variant型は便利だけどVBAでは取り扱いが初心者には難しい方だと思う
昨日も変数の型のことで荒れてたけど、できるだけ適切な型を指定した方がバグになりにくい
そのまま動くようにするなら
Sub test()
Dim arrs() As Variant
ReDim arrs(200)
Dim i As Long
For i = 0 To 200
arrs(i) = i
Next i
End Sub
俺が推奨したい書き方は
Const arr_max = 200
Sub test()
Dim arrs(arr_max) As Long
Dim i As Long
For i = 0 To arr_max
arrs(i) = i
Next i
End Sub
Variant型は便利だけどVBAでは取り扱いが初心者には難しい方だと思う
昨日も変数の型のことで荒れてたけど、できるだけ適切な型を指定した方がバグになりにくい
そのまま動くようにするなら
Sub test()
Dim arrs() As Variant
ReDim arrs(200)
Dim i As Long
For i = 0 To 200
arrs(i) = i
Next i
End Sub
俺が推奨したい書き方は
Const arr_max = 200
Sub test()
Dim arrs(arr_max) As Long
Dim i As Long
For i = 0 To arr_max
arrs(i) = i
Next i
End Sub
954デフォルトの名無しさん (ラクッペペ MM7f-ZVkQ)
2023/01/27(金) 09:50:46.53ID:+MAp+PmZM VBAじゃなくてもダメだろ
955デフォルトの名無しさん (ワッチョイ ff02-qYbV)
2023/01/27(金) 10:21:25.20ID:JeWwXD830956デフォルトの名無しさん (ワッチョイ ff02-qYbV)
2023/01/27(金) 10:22:55.83ID:JeWwXD830957デフォルトの名無しさん (JP 0Hff-88l+)
2023/01/27(金) 10:49:30.02ID:PwZKt+DmH 古い言語だからね
仕方ないね
仕方ないね
958デフォルトの名無しさん (スッップ Sd1f-88l+)
2023/01/27(金) 12:06:47.69ID:HtuDNqBEd959デフォルトの名無しさん (アウアウウー Saa7-sGmE)
2023/01/27(金) 15:35:27.15ID:nAK+7/AUa 0から200だと201回繰り返すのも注意
960デフォルトの名無しさん (ワッチョイ ff02-qYbV)
2023/01/27(金) 16:29:58.00ID:JeWwXD830 >>953
200個の要素数が確定されている場合ですかね。
将来配列の要素数が変わることがわかる場合、
どうなりますか。
うーん。
VBAで配列操作するより、セル関数でデータを加工していった方が早いし、
分かりやすい気がしてきた。
200個の要素数が確定されている場合ですかね。
将来配列の要素数が変わることがわかる場合、
どうなりますか。
うーん。
VBAで配列操作するより、セル関数でデータを加工していった方が早いし、
分かりやすい気がしてきた。
961デフォルトの名無しさん (スッップ Sd1f-88l+)
2023/01/27(金) 17:27:12.70ID:HtuDNqBEd962デフォルトの名無しさん (スプッッ Sd1f-aTb4)
2023/01/27(金) 17:38:42.59ID:EY8clDJJd >>960
DimRedimは先に回答した人がいるから
>VBAで配列操作するより、セル関数でデータを加工していった方が早いし、
>分かりやすい気がしてきた。
用途にもよるが分かりやすさとしては間違いなくそう
VBA分からないやつでもどんな操作をしているか分かるのはでかいし
特異なケースのテストもわりと少ない手間で試せる
データの成形入れ替え並び替えは全部関数でやって
そうすると関数の参照先シートを変更する度に重くなるから
マクロでは関数が入ったブックの呼び出しと
操作するデータを参照先シートにコピペする作業を任せる
こんなやり方もあり
一応配列格納のほうがいちいちセルの読み取りしない分速いことは速いが
VBAで書き出す手間とエラーチェックの手間と
仕事ならそれを誰かに引き継ぐことを考えると…って感じ
DimRedimは先に回答した人がいるから
>VBAで配列操作するより、セル関数でデータを加工していった方が早いし、
>分かりやすい気がしてきた。
用途にもよるが分かりやすさとしては間違いなくそう
VBA分からないやつでもどんな操作をしているか分かるのはでかいし
特異なケースのテストもわりと少ない手間で試せる
データの成形入れ替え並び替えは全部関数でやって
そうすると関数の参照先シートを変更する度に重くなるから
マクロでは関数が入ったブックの呼び出しと
操作するデータを参照先シートにコピペする作業を任せる
こんなやり方もあり
一応配列格納のほうがいちいちセルの読み取りしない分速いことは速いが
VBAで書き出す手間とエラーチェックの手間と
仕事ならそれを誰かに引き継ぐことを考えると…って感じ
963デフォルトの名無しさん (ワッチョイ ff02-qYbV)
2023/01/27(金) 17:55:20.59ID:JeWwXD830 ありがとうございます。
そうですね。「i<=200」が正しいです。
要素数をいちいち定義したり再定義しないといけないのは
ちょっと不便ですね。自分でも他の方法ないか調べてみます。
データとして直接見えるというのが、セル関数の良さですね。
VBAの配列だと中のデータ見るのに手間かかる。
参考になりました。みなさんありがとうございました。
そうですね。「i<=200」が正しいです。
要素数をいちいち定義したり再定義しないといけないのは
ちょっと不便ですね。自分でも他の方法ないか調べてみます。
データとして直接見えるというのが、セル関数の良さですね。
VBAの配列だと中のデータ見るのに手間かかる。
参考になりました。みなさんありがとうございました。
964デフォルトの名無しさん (ワッチョイ ff42-JXhU)
2023/01/27(金) 19:38:09.77ID:FOQwFQw10 別に要素数が不確定ならそれなりの組み方があるけどな
965デフォルトの名無しさん (ワントンキン MM27-D/BS)
2023/01/27(金) 20:25:55.36ID:uIWhZEdtM 相手にしたら負け
966デフォルトの名無しさん (ワッチョイ cfda-88l+)
2023/01/27(金) 21:37:57.80ID:DxN0bpvv0 勝ち負けの基準がわからない
967デフォルトの名無しさん (ワントンキン MMe6-yaFQ)
2023/01/28(土) 02:38:02.20ID:I1dsnIs2M わかった気で勘違いしている馬鹿の間違いや馬鹿さ加減を指摘したら泥沼になるだけだから相手にしたらいかんということだよ
零細企業のアレとか
零細企業のアレとか
969デフォルトの名無しさん (ワッチョイ 3619-GWjr)
2023/01/28(土) 06:32:52.50ID:hxz/by/q0 >>963
まぁScripting.DictionaryかCollectionでも使えば?
二次元配列的な使い方をしたいならついでにクラスのお勉強もしておけばいい。
他にもRecordsetを使うという手もある。
まぁScripting.DictionaryかCollectionでも使えば?
二次元配列的な使い方をしたいならついでにクラスのお勉強もしておけばいい。
他にもRecordsetを使うという手もある。
970デフォルトの名無しさん (オッペケ Sr3b-O9ZV)
2023/01/28(土) 07:04:12.75ID:dWzZ2QT5r971デフォルトの名無しさん (オッペケ Sr3b-O9ZV)
2023/01/28(土) 07:56:23.07ID:mBQ16TA8r 愛される零細おじさんでつ
自分の業務をEXCELでメニュー作ってボタン一つで飛ぶようにしてるんですが
例えばEXCELにみずほ銀行のアイコンを貼り付けて押せばみずほ銀行のEB画面に飛んだり
売掛金回収ならボタン押せば売掛金管理のファイルを読み込んだり
流石に他のソフトを起ち上げたりはVBAでも無理ですよね?
おっPythonとかなら出来るんですか?
自分の業務をEXCELでメニュー作ってボタン一つで飛ぶようにしてるんですが
例えばEXCELにみずほ銀行のアイコンを貼り付けて押せばみずほ銀行のEB画面に飛んだり
売掛金回収ならボタン押せば売掛金管理のファイルを読み込んだり
流石に他のソフトを起ち上げたりはVBAでも無理ですよね?
おっPythonとかなら出来るんですか?
972デフォルトの名無しさん (オッペケ Sr3b-O9ZV)
2023/01/28(土) 08:00:10.68ID:mBQ16TA8r RPAツールを使えば良いのか。。
973デフォルトの名無しさん (ワッチョイ 3619-GWjr)
2023/01/28(土) 08:01:55.27ID:hxz/by/q0 まーた
RUBY信者の成りすましか・・・
RUBY信者の成りすましか・・・
974デフォルトの名無しさん (オッペケ Sr3b-O9ZV)
2023/01/28(土) 08:04:56.16ID:mBQ16TA8r ん?
RUBYを調べれば良い?
RUBYを調べれば良い?
975デフォルトの名無しさん (オッペケ Sr3b-IFrW)
2023/01/28(土) 08:20:41.12ID:KGu/MZwKr shell
976デフォルトの名無しさん (ワッチョイ a75f-cdcZ)
2023/01/28(土) 10:13:10.69ID:yr1CASjB0977デフォルトの名無しさん (ワッチョイ 5fda-2biX)
2023/01/28(土) 10:23:25.23ID:/lutP43W0 ハイパーリンクを調べても、それじゃ無い って結論に至って質問してンのか?
978デフォルトの名無しさん (オッペケ Sr3b-O9ZV)
2023/01/28(土) 10:37:54.23ID:mBQ16TA8r あ、書き方が悪かったか
愛される零細おじさんでつ
自分の業務をEXCELでメニュー作ってボタン一つで飛ぶようにしてるんですが
例えばEXCELにみずほ銀行のアイコンを貼り付けて押せばみずほ銀行のEB画面に飛んだり
売掛金回収ならボタン押せば売掛金管理のファイルを読み込んだり
以上はハイパーリンクやマクロ記録を使って実現出来てる
売掛金管理ファイルを呼び出した後は、更新ボタンを押すことでパワークエリを使った集計も実現出来てる(更新ボタンを押さたくても更新させる事は出来るがあえて更新前の数値を確認するためにそのようにしてる)
流石に他のソフトを起ち上げたりはVBAでも無理ですよね?
おっPythonとかなら出来るんですか?
愛される零細おじさんでつ
自分の業務をEXCELでメニュー作ってボタン一つで飛ぶようにしてるんですが
例えばEXCELにみずほ銀行のアイコンを貼り付けて押せばみずほ銀行のEB画面に飛んだり
売掛金回収ならボタン押せば売掛金管理のファイルを読み込んだり
以上はハイパーリンクやマクロ記録を使って実現出来てる
売掛金管理ファイルを呼び出した後は、更新ボタンを押すことでパワークエリを使った集計も実現出来てる(更新ボタンを押さたくても更新させる事は出来るがあえて更新前の数値を確認するためにそのようにしてる)
流石に他のソフトを起ち上げたりはVBAでも無理ですよね?
おっPythonとかなら出来るんですか?
979デフォルトの名無しさん (オッペケ Sr3b-O9ZV)
2023/01/28(土) 10:41:20.97ID:mBQ16TA8r 要するに販売管理のパッケージソフトや会計のパッケージソフトを起動させて全自動を追求したくなったという質問です
例えばEPSONの会計ソフトなら定番の資料は自動的に出力出来るのは知ってるが、今使ってるのは毎回、手作業でボタン押さないと出力出来ないんだよね
例えばEPSONの会計ソフトなら定番の資料は自動的に出力出来るのは知ってるが、今使ってるのは毎回、手作業でボタン押さないと出力出来ないんだよね
980デフォルトの名無しさん (ワッチョイ 5fda-2biX)
2023/01/28(土) 10:57:57.78ID:/lutP43W0 ファイルの意味判ってンのか? 基本のキが欠落してるような
そして、そんな奴が改悪し続けてるExcel Book 数年後に後任に引き継がれて「なんだよ、これ」に成り果てる
そもそも、上司に了解得ているのか?社内のコンプラどうなってんだ おれがコンプラか 社内規定の意味でのコンプラだが
そして、そんな奴が改悪し続けてるExcel Book 数年後に後任に引き継がれて「なんだよ、これ」に成り果てる
そもそも、上司に了解得ているのか?社内のコンプラどうなってんだ おれがコンプラか 社内規定の意味でのコンプラだが
981デフォルトの名無しさん (オッペケ Sr3b-O9ZV)
2023/01/28(土) 11:00:07.10ID:mBQ16TA8r982デフォルトの名無しさん (オッペケ Sr3b-O9ZV)
2023/01/28(土) 11:01:11.80ID:mBQ16TA8r983デフォルトの名無しさん (ワッチョイ 5fda-2biX)
2023/01/28(土) 11:45:05.56ID:/lutP43W0 いけね、ついうっかり980踏んでた
無理だから安価指定しないけど、誰かお願いします
無理だから安価指定しないけど、誰かお願いします
984デフォルトの名無しさん (オッペケ Sr3b-O9ZV)
2023/01/28(土) 11:46:26.88ID:mBQ16TA8r >>983
分かった
分かった
985デフォルトの名無しさん (オッペケ Sr3b-O9ZV)
2023/01/28(土) 11:47:07.68ID:mBQ16TA8r986デフォルトの名無しさん (ワッチョイ 0b01-hj3w)
2023/01/28(土) 11:58:33.98ID:NqcfPhRT0987デフォルトの名無しさん (オッペケ Sr3b-O9ZV)
2023/01/28(土) 12:00:37.97ID:XR4zA44Nr988デフォルトの名無しさん (オッペケ Sr3b-O9ZV)
2023/01/28(土) 12:01:58.62ID:XR4zA44Nr あ、ハイパーリンクでソフトの起動まで出来るのか
それは失礼しますた
それは失礼しますた
989デフォルトの名無しさん (ワッチョイ 0b01-hj3w)
2023/01/28(土) 12:03:14.15ID:NqcfPhRT0 >>987
EPSONの会計ソフトの話だろ
> 例えばEPSONの会計ソフトなら定番の資料は自動的に出力出来るのは知ってるが、今使ってるのは毎回、手作業でボタン押さないと出力出来ないんだよね
そもそもExcelのボタンの話ならそのボタンに紐づいてるルーチン呼び出せばいいだけだし
EPSONの会計ソフトの話だろ
> 例えばEPSONの会計ソフトなら定番の資料は自動的に出力出来るのは知ってるが、今使ってるのは毎回、手作業でボタン押さないと出力出来ないんだよね
そもそもExcelのボタンの話ならそのボタンに紐づいてるルーチン呼び出せばいいだけだし
990デフォルトの名無しさん (オッペケ Sr3b-O9ZV)
2023/01/28(土) 12:03:52.20ID:XR4zA44Nr となると、そのソフトでダイレクトに帳票印刷のEXEファイルがあるならそれをリンクさせれば良いのか
分かったありがと
分かったありがと
991デフォルトの名無しさん (オッペケ Sr3b-O9ZV)
2023/01/28(土) 12:05:06.01ID:XR4zA44Nr992デフォルトの名無しさん (ワッチョイ 0b01-hj3w)
2023/01/28(土) 12:06:35.27ID:NqcfPhRT0 >>988
ハイパーリンクでなくても>>975が書いてるShell関数で任意のソフトを起動できる
起動だけならな
https://learn.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/shell-function
人をお荷物呼ばわりするレベルにないぞ
ハイパーリンクでなくても>>975が書いてるShell関数で任意のソフトを起動できる
起動だけならな
https://learn.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/shell-function
人をお荷物呼ばわりするレベルにないぞ
993デフォルトの名無しさん (オッペケ Sr3b-O9ZV)
2023/01/28(土) 12:06:36.37ID:XR4zA44Nr こりゃEXCELだけでかなりの事は出来るな
994デフォルトの名無しさん (ワッチョイ 0b01-hj3w)
2023/01/28(土) 12:07:46.42ID:NqcfPhRT0995デフォルトの名無しさん (オッペケ Sr3b-O9ZV)
2023/01/28(土) 12:09:07.22ID:XR4zA44Nr でも一般のアプリケーションてその実行ファイルがどれか公開してる?
あ、アプリの動作を監視してるファイルを見れば良いのか?
あ、アプリの動作を監視してるファイルを見れば良いのか?
996デフォルトの名無しさん (ワッチョイ 0b01-hj3w)
2023/01/28(土) 12:09:25.98ID:NqcfPhRT0 To: 各位
無能の働き者がワッチョイ無しで次スレ立てちまったんだがどうする?
ワッチョイありで立て直す?
無能の働き者がワッチョイ無しで次スレ立てちまったんだがどうする?
ワッチョイありで立て直す?
997デフォルトの名無しさん (オッペケ Sr3b-O9ZV)
2023/01/28(土) 12:10:22.95ID:XR4zA44Nr >>996
俺のAIが自動的に削除してたわw
俺のAIが自動的に削除してたわw
998デフォルトの名無しさん (ワッチョイ 0b01-hj3w)
2023/01/28(土) 12:10:26.33ID:NqcfPhRT0999デフォルトの名無しさん (ワッチョイ 9aa4-I2zm)
2023/01/28(土) 12:12:38.73ID:UjlIZ1Ov0 Excel VBA 質問スレ Part79(ワッチョイあり)
http://mevius.5ch.net/test/read.cgi/tech/1674875532/
http://mevius.5ch.net/test/read.cgi/tech/1674875532/
1000デフォルトの名無しさん (オッペケ Sr3b-O9ZV)
2023/01/28(土) 12:13:39.19ID:XR4zA44Nr >>998
タスクマネージャーの監視で良いのか?
タスクマネージャーの監視で良いのか?
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 89日 22時間 30分 23秒
新しいスレッドを立ててください。
life time: 89日 22時間 30分 23秒
10021002
Over 1000Thread 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- あぼーん
- あぼーん
- 【川崎・20歳女性行方不明】窓が割られ手形が残っていても「事件性ナシ」神奈川県警は家族の必死の訴え黙殺…ストーカー男はすでに渡米か [ぐれ★]
- 【大阪・関西万博】大屋根リング、吉村知事が海側600メートル保存を提案…費用は10年で17億円 [ぐれ★]
- 就職氷河期世代(39〜54歳)、今も不安定な仕事や失業は80万人「違う時期に生まれたかった」 国民民主、民間・公務員への採用提言 [お断り★]
- 「昆布だしOK、かつおだしはNG」のヴィーガン 半裸女性血のりパック詰めをした理由 [少考さん★]
- 【実況】博衣こよりのえちえちホロGW釣り大会🧪
- 【実況】博衣こよりのえちえちホロGW釣り大会🧪 ★2
- 【変態博覧会】日本人、ゴールデンウィークでチンポ出しまくる [402859164]
- 八潮トラック、死因不明wwwwwwwwwwwwwww [606757419]
- 【安倍晋三】ホワイトハウス公式垢、とんでもない画像をポスト🤩 [359965264]
- 大阪万博、ペットボトルのお茶を不審物としてスキャン [931948549]