◎正当な理由による書き込みの削除について:      生島英之とみられる方へ:

Excel VBA 質問スレ Part72 YouTube動画>8本 ->画像>7枚


動画、画像抽出 || この掲示板へ 類似スレ 掲示板一覧 人気スレ 動画人気順

このスレへの固定リンク: http://5chb.net/r/tech/1626565335/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

1デフォルトの名無しさん (スププ Sdaa-x2SP)
2021/07/18(日) 08:42:15.37ID:KskL7bEXd
!extend:checked:vvvvv:1000:512
↑同じ内容を2行貼り付けるナリ

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

※前スレ
Excel VBA 質問スレ Part70
http://2chb.net/r/tech/1616072923/
Excel VBA 質問スレ Part71
http://2chb.net/r/tech/1621914481/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2デフォルトの名無しさん (ワッチョイ da4f-kRLG)
2021/07/18(日) 09:07:26.19ID:+Oz6ry900
>>1

>>前スレ999
>>997
>C#で開発してブックだけで配布できるならやり方書いてくれ
>まさかと思うけどVBAからcsc.exe起動してとかじゃないよね?w

https://www.google.co.jp/amp/s/www.it-swarm-ja.com/ja/c%2523/c%25EF%25BC%2583%25E3%2582%2592%25E4%25BD%25BF%25E7%2594%25A8%25E3%2581%2597%25E3%2581%25A6excel%25E7%2594%25A8%25E3%2581%25AE%25E3%2582%25A2%25E3%2583%2589%25E3%2582%25A4%25E3%2583%25B3%25E3%2582%2592%25E4%25BD%259C%25E6%2588%2590%25E3%2581%2599%25E3%2582%258B/968767778/amp/

EXCELでもアドインファイルってあるだろ、あれをC#で作って同じように使うんだよ。
知らなくても人が出来るって言ってるものをろくすっぽ調べもしないでレス返すからそういうかかなくてもいい恥をかくことになる。
3デフォルトの名無しさん (アウアウオー Sac2-sBr0)
2021/07/18(日) 09:17:38.59ID:jqxnfJDAa
いい解説するYoutuberいない?
4デフォルトの名無しさん (ワッチョイ da01-+scu)
2021/07/18(日) 09:36:36.01ID:SQx5QkWC0
>>2
恥の上塗り乙
配布の仕方書いてみって書いてあるだろ
自分で使うだけなら普通にアドイン作って使ってるからいちいちアホなリンク貼らなくてもいいよw
5デフォルトの名無しさん (ワッチョイ ae68-ZPtt)
2021/07/18(日) 09:47:05.80ID:Ipac+0hq0
お前ら、日曜の朝ぐらいもっと有意義な事に時間使えよ・・・
6デフォルトの名無しさん (ワッチョイ 11fd-IwI9)
2021/07/18(日) 09:59:51.05ID:LsfrgTOu0
日曜の朝だぞ
ニチアサ見ろよ
7デフォルトの名無しさん (ワッチョイ 5a42-Jptq)
2021/07/18(日) 10:06:17.81ID:EXfdbxnm0
休息も有意義な使い方だよ
何かしなきゃって焦ってるのが一番悪い
8デフォルトの名無しさん (ワッチョイ b6da-kbnc)
2021/07/18(日) 10:14:31.35ID:ovxlsjDj0
>>5
有意義なこととは何?
9デフォルトの名無しさん (ワッチョイ ae68-ZPtt)
2021/07/18(日) 10:22:54.75ID:Ipac+0hq0
>>8
家族や友人と過ごす
事業を始めて社会の役に立つ、金銭を得る
趣味に興じる

マウント取っても得るものは安いプライドだけだよ。
自分の性格も悪くなって良い事は何一つない
俺は今から農作業だわ
10デフォルトの名無しさん (ササクッテロロ Sp75-kRLG)
2021/07/18(日) 10:23:41.19ID:VxnSeuwip
>>4
配布の仕方とVBA捨てんのとどう関係があるのかをいうのが先だろうな
VBAゴミだから要らないって言ってるのはおまえなんだから
11デフォルトの名無しさん (ワッチョイ da01-+scu)
2021/07/18(日) 11:05:02.88ID:SQx5QkWC0
>>10
日本語の理解力なさすぎだろw
簡単に配布するにはVBA捨てたいけど捨てられねーっていう話な
12デフォルトの名無しさん (ササクッテロロ Sp75-kRLG)
2021/07/18(日) 11:37:36.79ID:VxnSeuwip
>>11
言い訳見苦しいな
いい加減死ねよ糞Ruby信者
13デフォルトの名無しさん (アウアウウー Sa39-qLRZ)
2021/07/18(日) 11:39:25.83ID:UC83qIJwa
マウント取らずに>>9を言えたらカッコいいのにね
俺は今から嫁とデート
14デフォルトの名無しさん (ワッチョイ 9501-gOEr)
2021/07/18(日) 11:52:34.92ID:u61ird0l0
言っちゃなんだけど
9もある種のマウントだよね…
15デフォルトの名無しさん (ワッチョイ da01-+scu)
2021/07/18(日) 12:46:24.08ID:SQx5QkWC0
>>12
言い訳w
ブックだけで配布って書いてりゃ普通わかるだろ
ドヤ顔でアドインとかアホすぎ
16デフォルトの名無しさん (ササクッテロロ Sp75-kRLG)
2021/07/18(日) 13:40:03.85ID:VxnSeuwip
>>15
アホはおまえ
ブックもアドイン用のブックを配布するなんて普通にあるだろ
これだから糞Ruby信者とかあわしろとか頭のおかしい奴はどのスレ行っても嫌われる
死ねよゴミ
17デフォルトの名無しさん (テテンテンテン MM0e-+scu)
2021/07/18(日) 14:24:53.20ID:id9RwkoYM
>>16
だから早くよそのアドイン用のブックをC#で作る方法書けよw
18デフォルトの名無しさん (テテンテンテン MM0e-+scu)
2021/07/18(日) 14:25:27.84ID:id9RwkoYM
>>17
タイポしたわ
早くよ ⇒ 早く
19デフォルトの名無しさん (ワッチョイ 9501-gOEr)
2021/07/18(日) 15:12:19.30ID:u61ird0l0
たかだかvbaですら属人化ガーとか言って反対される傾向にあるのに
c#で書いてエクセルに余計なアドオン入れて動かすとか
許可されるわけ無いじゃん
仮に許可されたとして
そんなもの誰が引き継げるんだ
20デフォルトの名無しさん (ワッチョイ da01-+scu)
2021/07/18(日) 15:16:19.63ID:SQx5QkWC0
アドイン知ってる俺スゲー君だろw
引っ込みつかなくなって傷口広げて自爆とかよくある話
21デフォルトの名無しさん (ブーイモ MM0e-84rc)
2021/07/18(日) 15:16:29.44ID:Jty04JtqM
いいの
属人化で僕ちゃんの承認欲求満たすの
22デフォルトの名無しさん (ワッチョイ 8963-tqpx)
2021/07/18(日) 15:49:11.33ID:MPYJchV10
属人化すればどんなに仕事しなくても首切られることは無くなるからな
せせこましいやつの生存戦略としては適切
23デフォルトの名無しさん (ササクッテロロ Sp75-kRLG)
2021/07/18(日) 17:15:55.23ID:VxnSeuwip
>>20
そもそも貴様がC#をEXCElLで使えるようにしろって言って来た話だろ?
知らなヵったからって一生懸命ブックでどうのって誤魔化そうとしているのミエミエだぞゴミ
EXCELでアドイン使う話など珍しくもない
それを認められない時点でテメエの負けなんだよ雑魚
24デフォルトの名無しさん (ワッチョイ da01-+scu)
2021/07/18(日) 17:27:50.06ID:SQx5QkWC0
単にC#使いたいだけにレスしてるならまだわかるけど
> C#で開発してブックだけで配布できるならやり方書いてくれ
とまで書いてあるのにドヤ顔でアドインガーとか恥ずかしくね?
もしかしてアドインって自分だけが知ってる高度な仕組みとか思ってたりしてw
25デフォルトの名無しさん (ワッチョイ da4f-kRLG)
2021/07/18(日) 21:20:22.69ID:+Oz6ry900
それより
Visual Studio使ってればOfficeアドインは目立つProjectだからC#自体本当にこの人が使えるのか甚だ疑わしい
使えもしないのにC#言ってみたいだけと違うんかと
26デフォルトの名無しさん (ワッチョイ da01-+scu)
2021/07/18(日) 21:44:45.24ID:SQx5QkWC0
とうとうC#使えないとか言い出したw
書いてて虚しくね?
27デフォルトの名無しさん (ワッチョイ 7610-Pi4B)
2021/07/18(日) 22:55:12.08ID:b/9IdW8R0
ここVBA質問スレか?
28デフォルトの名無しさん (アウアウウー Sa39-zcwp)
2021/07/18(日) 23:25:41.83ID:GssPg2E7a
いいえ、有意義にマウント取り合うスレです
29デフォルトの名無しさん (ワッチョイ da4f-kRLG)
2021/07/18(日) 23:57:31.93ID:+Oz6ry900
>>26
C#っていうかVisual Studio使ってれば普通知ってることだからな
もっとも、Windows持ってなくてVisual Studioが入れられずVisual Studio Codeだけ入れている環境ならoffiiceアドインを知らないのも理解出来る。
そうなるとC#どころかVBAも知っているかすら怪しい。
つまりRubyしか出来ない癖にいつもこのスレにやってきて糞コード晒しているいつものあいつという筋が非常に強いと言うことになる。
30デフォルトの名無しさん (ワッチョイ da01-+scu)
2021/07/19(月) 05:02:50.47ID:xbzKNxh20
いやアドインは知ってるが配布が面倒って話なんだが…
いくら相手を貶めても>>2で上塗りした恥は消えないよ?
31デフォルトの名無しさん (ササクッテロロ Sp75-kRLG)
2021/07/19(月) 05:59:51.17ID:Yty3B2bRp
>>30
配布が面倒?
Visual studioにはインストーラー作成機能があるんだが?
それすら面倒というのであればお前プログラマーに向いていないから辞めた方がいいよ。
そもそもBOOKだけでなんて言うのはお前が後付けで出した条件だし、
使う側は配布されたインストーラー実施すれば済むだけの話だからな。

他の言語やってる奴が言うセリフとは到底思えないな。お前、恥の上塗りどころか何もやったことないところで適当な発言してるだろ。
C#やってる?いつもどう配布してんだよ。語るに落ちてばっかじゃねーか、雑魚。
32デフォルトの名無しさん (ワッチョイ da01-+scu)
2021/07/19(月) 06:43:42.55ID:xbzKNxh20
>>31
> そもそもBOOKだけでなんて言うのはお前が後付けで出した条件だし、
後付?
>>>前スレ999
>>> 997
>> C#で開発してブックだけで配布できるならやり方書いてくれ
って書いてあるのにそれ読んで必死にググった結果貼るバカ
同じ貼るにしてもせめてこうだろ
https://www.it-swarm-ja.com/ja/c%23/c%EF%BC%83%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6excel%E7%94%A8%E3%81%AE%E3%82%A2%E3%83%89%E3%82%A4%E3%83%B3%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B/968767778/
恥さらし過ぎw
33デフォルトの名無しさん (ササクッテロロ Sp75-kRLG)
2021/07/19(月) 06:50:43.19ID:Yty3B2bRp
995 名前:デフォルトの名無しさん (ワッチョイ da01-+scu) [sage] :2021/07/18(日) 05:30:54.93 ID:SQx5QkWC0
>>991
複数の言語を知ってるからこそ捨てたくなるんだろ
もっと言うと捨てたいけど捨てられないっていう状況になりがちなのがVBA
とっととVBAに加えてC#使えるようにしろや ⇒ MS

997 名前:デフォルトの名無しさん (ワッチョイ da4f-kRLG) [sage] :2021/07/18(日) 07:35:39.97 ID:+Oz6ry900
>>995
は?
VBAに加えてC#って使えるだろ
やり方知らないのを如何にもMSが悪いみたいに言われてもな

999 名前:デフォルトの名無しさん (ワッチョイ da01-+scu) [sage] :2021/07/18(日) 08:19:04.38 ID:SQx5QkWC0
>>997
C#で開発してブックだけで配布できるならやり方書いてくれ
まさかと思うけどVBAからcsc.exe起動してとかじゃないよね?w

ダッサwww
誤魔化さずキチンと会話の流れを書くと
自分が雑魚なのがバレるから前のレスから貼れないwww

こすっからいことしてないで死ねよ雑魚
34デフォルトの名無しさん (ワッチョイ da01-+scu)
2021/07/19(月) 07:31:41.08ID:xbzKNxh20
必死なところ悪いけど
> C#で開発してブックだけで配布できるならやり方書いてくれ
に対してアドインとかでドヤった過去は消えないよ?
しかもググったのが丸出しとかw
35デフォルトの名無しさん (ササクッテロロ Sp75-kRLG)
2021/07/19(月) 07:37:45.08ID:Yty3B2bRp
>>34
だからアドイン配布がどれほどの手間かと言う判断で貼ったんだろ
お前にとってはとんでもない手間に感じるようだなw
流石雑魚は違うw

で?C#でも組めるということは理解して頂けたのかな?
もっともC#なんて使えないお前には関係ない話だったがなwwww
36デフォルトの名無しさん (ワッチョイ da01-+scu)
2021/07/19(月) 08:31:34.86ID:xbzKNxh20
>>35
> だからアドイン配布がどれほどの手間かと言う判断で貼ったんだろ
ならその時に配布なんて簡単だよって書いてないとね
それこそ後付の言い訳苦しすぎるだろw
37デフォルトの名無しさん (ワッチョイ b101-E0YB)
2021/07/19(月) 08:41:19.25ID:7DxAXQZB0
素人がnoteで285万円稼ぐまでにしたことまとめ


新たにブログ始めるなら絶対「note」で書くべき5つの理由


今ブログで稼ぐならnote一択か?【WordPressは厳しい説】


今すぐnoteを始めた方がいい理由(能力上がります)


【初心者向け】noteで稼ぐ方法を解説!有料記事だけじゃないよ【5万PV達成しました】


【超基礎】ゼロから学ぶnote攻略!3つの稼ぎ方と運用方法とは


Brain (ブレイン)について解説 | アフィリ機能に賛否両論!

38デフォルトの名無しさん (ササクッテロロ Sp75-kRLG)
2021/07/19(月) 09:04:38.22ID:Yty3B2bRp
>>36
>ならその時に配布なんて簡単だよって書いてないとね
>それこそ後付の言い訳苦しすぎるだろw

いや、お前C#もアドインも知ってるって言ってたよな
そもそもC#知ってる時点でそんなこと知らない方がおかしいんだが

どんどん後付けのボロが出てくるなwww
で、今度はどんなことを言い出すんだ?
「俺の知ってるRubyなら」か?wwwwwww
ほら、もっと悲鳴を聞かせてくれよ雑魚wwwwww
39デフォルトの名無しさん (ワッチョイ da01-+scu)
2021/07/19(月) 09:16:35.40ID:xbzKNxh20
>>38
> いや、お前C#もアドインも知ってるって言ってたよな
> そもそもC#知ってる時点でそんなこと知らない方がおかしいんだが
知ってるからわざわざ「ブック単体で配布」って書いてあるんだけどわからなかったのか?
前スレ 997 のレスはまだわかるけど、ブック単体が出た後でアドインガーとかアホすぎるw
40デフォルトの名無しさん (ササクッテロロ Sp75-kRLG)
2021/07/19(月) 09:24:09.11ID:Yty3B2bRp
配布が簡単と分かっていればわざわざブックに拘る必要もないだろう。馬鹿だからそんなことも理解出来なかったのかなwwwwww
うわー拍車をかけてボロがどんどん出てくるなwww
まさに阿鼻叫喚の地獄絵図ってかwwwwww

で、今度はどんな雑魚っぷりを晒してくれるんだ?
早く反論してみろよ雑魚wwwwww
41デフォルトの名無しさん (ワッチョイ da01-+scu)
2021/07/19(月) 12:00:46.83ID:xbzKNxh20
>>40
誰も配布が簡単だなんて言ってないけど?
>>19も書いてるけど会社によってはインストーラーでなにかインストールするとなると手続きが面倒だったりするんだよ
零細とか無職だとわからないかな?w
42デフォルトの名無しさん (ワッチョイ b668-kbnc)
2021/07/19(月) 12:07:03.58ID:c2nM6qSq0
いつまでやってんねん
せっかくの休日やで
43デフォルトの名無しさん (ワッチョイ da4f-kRLG)
2021/07/19(月) 12:24:36.78ID:SyMdiWtG0
>>42
ちょっと待て
今日は本当に休日か?
オリンピックで休日が変更されたこと知らないとかないか?
44デフォルトの名無しさん (ササクッテロ Sp75-kRLG)
2021/07/19(月) 12:35:12.73ID:vpQnSn/Bp
>>41
はぁ?
そもそもC#で組む時点で新しいコーディング規約とかも作らなければいけないのに
その程度で今更何言ってんだコイツwwwwww
単純に申請しとけばいいだろそんなもん
ダメだったら諦めろ雑魚wwwwww
申請の手続きひとつ面倒臭がるような馬鹿は死んどけ
自分で申請出来ない程の低い立場にいるなら上司か現場のリーダーに泣きつけwww

話せば話すほど雑魚っぷり爆裂してて清々しいくらいの雑魚で草
45デフォルトの名無しさん (オイコラミネオ MMad-gOEr)
2021/07/19(月) 13:20:14.17ID:31rKoCRxM
そもそもエクセルのデータ処理するのにc♯が必要なんです!vbaじゃだめなんです!ってなって
許可する会社がどのくらい存在するのかね
ゲーム会社とかプログラムの仕事やってるようなところくらいだろそれ許されるの
大部分は単なる事務作業だろうし
46デフォルトの名無しさん (ワッチョイ da01-+scu)
2021/07/19(月) 14:29:49.32ID:xbzKNxh20
>>44
コーディング規約とか言い出したw
C#でコーディング規約作るような組織はVBAでも作るだろ
そもそもコーディング規約なんて毎回作らんし
やってもプロジェクトに応じた手直し(たいてい追加)をやる程度
あと申請するとお前みたいに中身わかってない無能の働き者がくだらんところにイチャモンつけてくるんだよw

>>45
そもそも利用者から見たらC#でもVBAでも変わらんから余計なインストールなんてやる理由がないしな
アドイン君はそういう組織で働いたことがないんだと思う
47デフォルトの名無しさん (ササクッテロ Sp75-kRLG)
2021/07/19(月) 15:02:33.29ID:vpQnSn/Bp
>>46
お前、C#で作りたいんだろ?
だったらコーディング規約はその最初の一回絶対に必要じゃねーか
そもそもC#で作りたいと言ったのはお前だよ、お、ま、え。
俺はEXCELに意味もなくC#を使うこと自体には全く同意していないの。
つまりC#を使うかどうかの話自体はお前のひとり相撲なんだよ。
お前がC#で作りたいと言ったからその方法を提示しただけ。分かる?
それにインストールがどうのアドインがどうのとイチャモンつけるなら勝手に自分の方法でやればいいだけ。
出来ない出来ない言ってる無知で無能な雑魚にはまともな方法はどちらにしても取れないだろうがなwwwww

「あったらいいな、ぼくのさいきょうのえくせる」って言いながら一生を迎える雑魚って一生哀れな底辺で終わるんだろうなwwwwww
48デフォルトの名無しさん (ササクッテロ Sp75-kRLG)
2021/07/19(月) 15:15:02.68ID:vpQnSn/Bp
もっと言うと
よしんばEXCELでそのままC#をVBAと混在して書けるようになったところで
それを意味もなくやる馬鹿はいない。混乱の元になるからな。いや、>>46だけ例外か。
実際、Javascriptなんかはそれが可能ではあるが、使う度にリフレクションを行わなければいけなかったりするし、一々が面倒臭いからな。
お気楽に「VBAなんてゴミ、C#が使えないから使いませ〜ん」なんて言ってる雑魚にはどっちにしても使いこなせねーよ。バーカwwwwww
49デフォルトの名無しさん (ワッチョイ da01-+scu)
2021/07/19(月) 15:15:13.64ID:xbzKNxh20
>>47
> だったらコーディング規約はその最初の一回絶対に必要じゃねーか
ごめんな>>4にも書いたけどC#のアドインは普通に使ってるし、そもそも最近の開発のメインはC#なのでコーディング規約は既にあるよ
そんなことも理解できてないのは流石に想定外だわ

> お前がC#で作りたいと言ったからその方法を提示しただけ。分かる?
うん、要求仕様を全く満たさない頓珍漢な方法な

そう言えば>>2がいい事書いてたぞw
>> ろくすっぽ調べもしないでレス返すからそういうかかなくてもいい恥をかくことになる。
見事すぎるブーメランでワロタわ
50デフォルトの名無しさん (ワッチョイ da01-+scu)
2021/07/19(月) 15:17:15.50ID:xbzKNxh20
>>48
> 実際、Javascriptなんかはそれが可能ではあるが、使う度にリフレクションを行わなければいけなかったりするし、一々が面倒臭いからな。
無能が使うとそうなるのかw
まあお前は一生VBAでいいんじゃね?
51デフォルトの名無しさん (ワッチョイ da4f-kRLG)
2021/07/19(月) 15:18:33.41ID:SyMdiWtG0
>>49
52デフォルトの名無しさん (オイコラミネオ MMad-gOEr)
2021/07/19(月) 15:19:40.22ID:31rKoCRxM
なんか誰が何主張してるのかよくわからんな
53デフォルトの名無しさん (ササクッテロ Sp75-kRLG)
2021/07/19(月) 15:29:36.02ID:vpQnSn/Bp
>>49
今頃必死にアドインって何であるか調べ終わったのかwwwwwww
で、「しってるよ、うん、いやだなぁ、知らなかったわけじゃないよ、昔から普通に使ってるよぉ〜」って・・・www
あのさぁ、インストーラーとか作れることも知らなかった奴がどの面下げてそんな面白いこと言えちゃうわけ?
ほんとコイツ雑魚の名に恥じないクソっぷりでワロタwwwwwww

で?今度は「ええええインストーラーくらいしってるし前から使ってたよぉ〜ぼくの現場ではぼくが申請できないから入れられないけどぉ〜」とか言い出すのかな?

ざっこwwwwww
54デフォルトの名無しさん (ササクッテロ Sp75-kRLG)
2021/07/19(月) 15:32:37.54ID:vpQnSn/Bp
>>50
ささ、今度はリフレクションについて調べるんだろ?
普通C#でもよく使うからそのくらいはすぐ返答してくれるよね

wwwwww
55デフォルトの名無しさん (オイコラミネオ MMad-gOEr)
2021/07/19(月) 15:51:01.22ID:31rKoCRxM
よくわからんけどそこらのエクセル操作するのにc#使って
他のパソコンにアドオン配って使ってもらう
なんていうのが普通の会社でやれるわけがないってのは互いに同じ意見なんだろ?

もう良くないか
56デフォルトの名無しさん (ラクッペペ MM0e-bqG8)
2021/07/19(月) 15:53:13.00ID:Y6ZmwEEGM
混在というより相互呼び出しは珍しいことでもないと思うけどな
ビジネスロジック(主にデータベース処理)をVSTO(C#)、入出力フロントエンド(Excelフォーム)をVBAで記述するスタイル
57デフォルトの名無しさん (ワッチョイ da01-+scu)
2021/07/19(月) 16:41:30.18ID:xbzKNxh20
>>52,55
もう引っ込みつかなくなってるんだと思うよ
>>51,53-54なんて相手貶めようと必死だし
まあ残念なことに知識が足り無さすぎて何書いてるのか意味不明になってるけどw

>>56
まあ規模がそれなりだとそう言うのもあるかと思うけど、俺ならC#で組んでExcelが必要な所だけCOMでExcelを操作するように作ると思う
58デフォルトの名無しさん (ササクッテロ Sp75-kRLG)
2021/07/19(月) 16:42:59.44ID:vpQnSn/Bp
>>55
まぁしないわな
ただ、EXCELの共通部品をEXCELで作ってアドイン化して配布することはよくあることだからあっても不思議はない。

>>56
そういう場合もあるだろうね
ただ一般的にはC#を使うと言うことはそれなりに大きなシステムでいろんな機能を統合しているからEXCEL主体になることは珍しい。
C#で組む方が主体になってそこからEXCELを操作して設定するのが基本になる。
ただ、BLサーバー(DBサーバーと一体化していることもあるけど)にofficeとEXCELが入れられないような場合にはシートをテーブルに見立てて更新したり、xmlファイルに見立てて更新したり、npoi使ったりと色々な手段が講じられるけど、
その内の手段のひとつとして使われることはあると思う。

今回はEXCELのVBAの代わりにC#でないと作らないとかいう面白い奴が出て来たので、
適材適所というものを知らない奴にC#で組めるような方法を教えたらどんな話になるか楽しみにしていたら、やれアドインがどうのインストールがどうのと文句ばかりの雑魚っぷり。
本当ゴミだったわwwwwww
59デフォルトの名無しさん (ササクッテロ Sp75-kRLG)
2021/07/19(月) 16:46:50.01ID:vpQnSn/Bp
>>57
おや、ゴミ、
C#でCOM使うんだwwwwww
やっぱりゴミはゴミだなwwwwww
60デフォルトの名無しさん (ワッチョイ da01-+scu)
2021/07/19(月) 16:52:13.74ID:xbzKNxh20
はいはい
アドインがどうやって動いているかも知らないのがバレちゃったねw
61デフォルトの名無しさん (ササクッテロ Sp75-kRLG)
2021/07/19(月) 16:56:19.87ID:vpQnSn/Bp
>>60
アドインどころかC#もVBAもまともに使えない奴に言われたくはないわなwwwwww
Rubyでもやって最底辺の年収で頑張れよwwwwwwゴミwwwwww
62デフォルトの名無しさん (ワッチョイ da01-+scu)
2021/07/19(月) 18:02:31.59ID:xbzKNxh20
もうそんなレスしか返せないんだな、無様やのう
COMアドインとオートメーションアドインの違いもわかってなさそうw
63デフォルトの名無しさん (オイコラミネオ MM7e-IPkD)
2021/07/19(月) 18:36:56.56ID:rY5bdYo8M
一般の会社じゃvbaですらも
属人化扱いなのにハードル高いだろ
64デフォルトの名無しさん (ササクッテロ Sp75-kRLG)
2021/07/19(月) 18:40:31.99ID:vpQnSn/Bp
>>62
馬鹿は黙ってろwww
COM自体使ってる時点でお前の程度は知れているんだよ
ある程度VB.NetやC#の経験がある者はObject開放不備でメモリリークを起こすことを懸念してCOMは使わない。
よっぽどアドインが好きになったんだなwwwwww
よかったな、今日ひとつアドインというものが覚えられてwwwwwww
65デフォルトの名無しさん (ワッチョイ 558e-6DSo)
2021/07/19(月) 18:44:40.24ID:Y/ahokVJ0
>>64
解放すれば問題ないだろ
馬鹿が書いてる「開放」は俺が思ってる「解放」とは違うかもしれんけど
66デフォルトの名無しさん (ササクッテロ Sp75-kRLG)
2021/07/19(月) 18:50:43.01ID:vpQnSn/Bp
>>65
だから馬鹿は黙ってろというんだ
メモリリークの原因と所在を調査したこともないんだろ?
あれやったことがある奴なら口が裂けてもそんなセリフは出ないからな
「開放すればいいんだろ(ドヤァ」なんて言ってる奴はそもそもどうObjectを生成してどう開放するかも分かっていない証拠。

まぁ先程から俺の言ったことも理解出来ていないようだからボクちゃんにはちょっと難しかったかな?
wwwwww
67デフォルトの名無しさん (テテンテンテン MM0e-+scu)
2021/07/19(月) 18:56:09.92ID:Olx6NaliM
>>65
無能にはMarshal.ReleaseComObjectを使いこなすのはハードル高いからしょうがない
そんなレベルでよくアドインとか言えたもんだとは思うけど
まあ実際にアドイン作ったことはなくてネットの知識でCOMは危ねーとか思い込んでるんだろうなw
68デフォルトの名無しさん (ササクッテロ Sp75-kRLG)
2021/07/19(月) 18:57:46.21ID:vpQnSn/Bp
>>67
おやおや今度はIDまで変えて必死だなwwwwww
雑魚は分かりやすくていいな、バカだからwwwwww
69デフォルトの名無しさん (ワッチョイ b668-kbnc)
2021/07/19(月) 19:07:54.85ID:c2nM6qSq0
せめて論点で語ったらどうなんだw
70デフォルトの名無しさん (テテンテンテン MM0e-+scu)
2021/07/19(月) 19:09:43.23ID:Olx6NaliM
>>68
すまんな今はわんこの散歩で外からだからな
Marshal.ReleaseComObjectにレスしないのは笑うけど
71デフォルトの名無しさん (テテンテンテン MM0e-+scu)
2021/07/19(月) 19:11:28.85ID:Olx6NaliM
>>69
どう見ても無理でしょw
ネットの知識しかなさそうなのは>>2でGoogleのURLつけたままな時点でバレバレやし
72デフォルトの名無しさん (ササクッテロ Sp75-kRLG)
2021/07/19(月) 19:14:08.38ID:vpQnSn/Bp
>>70
犬の散歩先から書き込みってどんだけ必死なんだよw
しかも自分にレスして自演バレバレw
お前、言いたくないけど性格にも問題あるな。
普通の奴ならこんな見えすいた誤魔化ししてしかも失敗するなんてありえないからwwwwww
73デフォルトの名無しさん (ササクッテロ Sp75-kRLG)
2021/07/19(月) 19:15:48.69ID:vpQnSn/Bp
>>71
うわぁ
バレてるのにまだ自演が通用してると思ってる・・・
ここまでの基地外っぷりは久しぶりだわwwwwww
74デフォルトの名無しさん (ワッチョイ da01-+scu)
2021/07/19(月) 19:30:05.06ID:xbzKNxh20
ああ自演だと思わないとやってられないのな
まあそう思いたければいいんじゃね
論点で返せ無い奴がIDガーとか言い出すのはよくある話だしw
75デフォルトの名無しさん (ササクッテロ Sp75-kRLG)
2021/07/19(月) 19:33:58.79ID:vpQnSn/Bp
65 名前:デフォルトの名無しさん (ワッチョイ 558e-6DSo) :2021/07/19(月) 18:44:40.24 ID:Y/ahokVJ0
>>64
解放すれば問題ないだろ
馬鹿が書いてる「開放」は俺が思ってる「解放」とは違うかもしれんけど

67 名前:デフォルトの名無しさん (テテンテンテン MM0e-+scu) [sage] :2021/07/19(月) 18:56:09.92 ID:Olx6NaliM
>>65
無能にはMarshal.ReleaseComObjectを使いこなすのはハードル高いからしょうがない
そんなレベルでよくアドインとか言えたもんだとは思うけど
まあ実際にアドイン作ったことはなくてネットの知識でCOMは危ねーとか思い込んでるんだろうなw

68 名前:デフォルトの名無しさん (ササクッテロ Sp75-kRLG) [sage] :2021/07/19(月) 18:57:46.21 ID:vpQnSn/Bp
>>67
おやおや今度はIDまで変えて必死だなwwwwww
雑魚は分かりやすくていいな、バカだからwwwwww

70 名前:デフォルトの名無しさん (テテンテンテン MM0e-+scu) [sage] :2021/07/19(月) 19:09:43.23 ID:Olx6NaliM
>>68
すまんな今はわんこの散歩で外からだからな
Marshal.ReleaseComObjectにレスしないのは笑うけど

・・・うわぁ、今日の私の相手、基地外すぎwwwwww
76デフォルトの名無しさん (ワッチョイ 558e-6DSo)
2021/07/19(月) 19:37:34.12ID:Y/ahokVJ0
>>75
「開放」って何だ?
77デフォルトの名無しさん (ブーイモ MM99-IwI9)
2021/07/19(月) 19:44:40.07ID:BB5CR0JBM
草生やすのにw連打するのがとてもおじさん臭くて好き
78デフォルトの名無しさん (ササクッテロ Sp75-kRLG)
2021/07/19(月) 19:51:08.03ID:vpQnSn/Bp
>>76
書くのめんどいから丁度俺の言ってることにマッチするページ探したから貼っとくわ
https://qiita.com/mima_ita/items/aa811423d8c4410eca71

使われるインスタンスは全て最初に定義して設定して開放しなければならないことも追記しておこう。
79デフォルトの名無しさん (ワッチョイ da01-+scu)
2021/07/19(月) 20:36:10.82ID:xbzKNxh20
開放と解放をバカにされてる事ぐらい気付けよw
そのサイトに書いてる事ぐらいは常識の範囲だし、ググればすぐ出てくるしな

まあIDisposeにしてDisposeで解放するようにしてくれよって思うけど何故かやってくれないんだよね
なにかデメリットあるんだろうか?
80デフォルトの名無しさん (ササクッテロ Sp75-kRLG)
2021/07/19(月) 20:38:06.05ID:vpQnSn/Bp
>>79
ああ、なんだ、負け犬か
お前のこともう頭から無かったわ
81デフォルトの名無しさん (ワッチョイ da01-+scu)
2021/07/19(月) 21:05:40.94ID:xbzKNxh20
結局論点で返せなくて遁走
哀れやねw
82デフォルトの名無しさん (ワッチョイ da4f-kRLG)
2021/07/19(月) 21:56:40.71ID:SyMdiWtG0
>>81
あれ?ごめんごめん
負け犬に負け犬って言ってそんなにイキリ立って顔真っ赤にするとは思わなかったわwwww
大元の論点ってなんだったっけ?
ああ、そうか「VBAはクソ、C#でなければ作らない」って主張だったっけ。

勝手にすれば?
アドインなんてちょっと知ったくらいではしゃぎ回って「俺ならCOM使うぜ、凄えだろ」とかいう雑魚と話す価値も見いだせない。つまりここまで弄り倒してお前から得られるものは0だった。
大概ここまで会話があれば得られるもののひとつやふたつあるもんだがここまで会話する価値がないと思えた奴には正直初めて会ったかも知れない。
挙句の果てに消えたのを見計らってコソコソと「敗走したね!はい俺の勝ち〜」とか下らないことやって喜んでるんだから・・・小学生かよ。

今日は歩いてて犬の糞踏んだような気分だ。全くついてない。
83デフォルトの名無しさん (ワッチョイ 11fd-IwI9)
2021/07/19(月) 22:16:47.24ID:2jrEarYm0
配布ツールの為、設定の「VBA プロジェクト オブジェクト モデルへのアクセスを信頼する」へのチェックは必ずしも入っているわけではないという前提で質問させてください
ツールから他のExcelファイルに手を加える処理を行います
処理を行うシートはオブジェクト名がSheet1で確定しているもののシート名は変わる可能性があり、インデックスもWorkSheets(1)以外になる可能性がある場合にシートの指定を自動化するのであればどの様にシートの指定を行うのが良いでしょうか
運用環境上、ExcelVBA以外は使用できないのでその点ご留意頂ければと思います
84デフォルトの名無しさん (ワッチョイ 615f-znHs)
2021/07/19(月) 22:22:12.32ID:kN9cAuuc0
>>83
activesheetじゃダメですか?
85デフォルトの名無しさん (ワッチョイ 11fd-IwI9)
2021/07/19(月) 22:26:55.99ID:2jrEarYm0
>>84
説明不足で申し訳ありません
必ずしも対象のシートで前回保存者が上書き保存をかけているとは限らない上に対象のファイルにはマクロを積めないのでActivsheetでは対象のシートからズレる可能性が高いです
86デフォルトの名無しさん (ワッチョイ 9501-gOEr)
2021/07/19(月) 22:30:08.34ID:/zXvhghc0
対象シートにしかない文字や、文字の位置関係を検索する
この文字があって斜め下にこの文字があったら対象シートだなとか
あるいは対象のシートのどこかに識別用の文字を置いとく
87デフォルトの名無しさん (ワッチョイ 9501-gOEr)
2021/07/19(月) 22:31:19.26ID:/zXvhghc0
あと、検索かけて候補のシートがあったら
念の為類似性を点数化して
最後に一番類似性の高いシートを選ぶ
88デフォルトの名無しさん (ワッチョイ 9501-gOEr)
2021/07/19(月) 22:33:34.06ID:/zXvhghc0
文字や配置以外ならシートの罫線やセルの幅の識別でもいい
89デフォルトの名無しさん (ワッチョイ da01-+scu)
2021/07/19(月) 22:39:42.74ID:xbzKNxh20
>>82
論点で返せないからグダグタ中身のないレスを連ねるしかないんだろうな
おつかれさんw
90デフォルトの名無しさん (ワッチョイ da01-+scu)
2021/07/19(月) 22:44:10.31ID:xbzKNxh20
>>83
そのシートは元々あってシート名は変わるけどシート自体はなくなったりしないの?
そうであればCodeNameで識別すればいい
https://www.moug.net/tech/exvba/0040012.html
91デフォルトの名無しさん (ワッチョイ 9501-gOEr)
2021/07/19(月) 22:45:09.29ID:/zXvhghc0
そんな方法あるのか…
92デフォルトの名無しさん (ワッチョイ 11fd-IwI9)
2021/07/19(月) 22:48:35.68ID:2jrEarYm0
>>86-88
ありがとうございます
参考になります
起草を別部署が行っており、間に何部門かで編集が行われた上でウチの部署に投げられるファイルが処理の対象なので名前もフォーマットもシートの順番も毎回違うものが飛んでくるのでどうしたものかと悩んでいまして
ウチの部署でも処理をかけるのが私1人であればVBComponentsで指定してしまうのですが、ExcelでSum関数を扱うことすら怪しい事務のお姉様方に配布するツールなので頭を抱えています
93デフォルトの名無しさん (ワッチョイ 11fd-IwI9)
2021/07/19(月) 22:49:31.75ID:2jrEarYm0
>>90
!!
そっか!それだ!その方法があった!!
ありがとうございます!!助かります!!
94デフォルトの名無しさん (ワッチョイ 7610-Pi4B)
2021/07/19(月) 22:56:17.93ID:bjEOfN/Y0
なんだがな
凄えストレス溜まってんのなアンタ
95デフォルトの名無しさん (ワッチョイ da4f-kRLG)
2021/07/19(月) 22:58:11.41ID:SyMdiWtG0
>>89
論点って「VBAは糞!!C#以外使いたくない!!」ってアレだろ
お前なんでVBAスレに居るんだ?
C#スレに帰れって言いたいところだけどC#もよく解って無さそうだしな
Rubyスレに帰ったら?
96デフォルトの名無しさん (ワッチョイ 7a28-xL6t)
2021/07/19(月) 23:01:09.50ID:9GHW2QFv0
50の倍数をIFの条件にする方法はありますか?
if 変数 = 50 then
if 変数 = 100 then
if 変数 = 150 then
このように全部書けば良いのでしょうが膨大かつ複雑になってしまいます。といいつつ2000ぐらいまであれば良いのですが、、w
97デフォルトの名無しさん (ワッチョイ ae68-ZPtt)
2021/07/19(月) 23:03:45.59ID:uTCNYCpx0
>>96
変数=1000
If (変数 Mod 50) = 0 Then
Debug.Print 1
End If

MODのカッコは本来いらないけど見やすくするためにあえて付けてる
不要だったら消して
98デフォルトの名無しさん (ワッチョイ 7a28-xL6t)
2021/07/19(月) 23:05:45.76ID:9GHW2QFv0
>>97
ぎゃあああ!まさかこんなのがあるとは思っていませんでした!! 1ヶ月ぐらいな病んでいたいのでうれしいです!!ありがとうございます!!!
99デフォルトの名無しさん (ワンミングク MMea-gqw5)
2021/07/19(月) 23:11:12.02ID:j6V7oYGgM
いつものあいつ
100デフォルトの名無しさん (ワッチョイ 9501-gOEr)
2021/07/19(月) 23:12:43.18ID:/zXvhghc0
>>97
ゲームのテクスチャループでよく使われるやつ
101デフォルトの名無しさん (ワッチョイ da01-+scu)
2021/07/19(月) 23:47:43.08ID:xbzKNxh20
>>95
開放と解放とかは?
まあここ質問スレだから回答の一つでもできないなら黙ってなよ
また恥晒すだけだしw
102デフォルトの名無しさん (ワッチョイ da4f-kRLG)
2021/07/20(火) 00:01:03.99ID:fPwp7BhC0
>>101
ああ、あの書き間違いを鬼の首取ったように重箱の隅突いて歓喜してた奴ね
で、リフレクションの方は結局調べきれなかったのかな?
まぁ雑魚だから元々期待はしてないから大丈夫だよ
103デフォルトの名無しさん (ワッチョイ 7a28-fQx/)
2021/07/20(火) 00:01:07.25ID:LbUmWDiL0
みんなはIfとSelect Caseどっち使うことが多い?
というかどういう使い分けしてるか気になる
104デフォルトの名無しさん (ワッチョイ 9501-gOEr)
2021/07/20(火) 00:10:01.11ID:AR5Y5d6n0
>>103
そんなコードがあるのか。また一つおれは賢くなってしまったようだな
105デフォルトの名無しさん (アウアウウー Sa39-rGUB)
2021/07/20(火) 00:11:15.13ID:xUG2SFfQa
select case はある変数が取る値による分岐に用いるけど、if はもっと自由で
だけど、if と elseif で別の変数を評価するのも気持ちが悪いことが多いから、
if をネスとしたりコメントで補ったり
106デフォルトの名無しさん (ワッチョイ da01-+scu)
2021/07/20(火) 00:15:52.31ID:23GKPsPl0
>>102
ようやく間違いに気づいたのかw
で、リフレクションがどうしたって?
まだ恥晒し続けるのか?
107デフォルトの名無しさん (ワッチョイ da01-+scu)
2021/07/20(火) 00:19:29.74ID:23GKPsPl0
>>103
基本的に2分岐ならIf
多分岐で無理なくSelect Case使える時はSelect Caseを使う
そうでないならIfを使うことが多いかな

VBAのSelect Caseはやけに高機能だから他の言語より使用頻度は高いかも
108デフォルトの名無しさん (ワッチョイ da4f-kRLG)
2021/07/20(火) 00:22:53.97ID:fPwp7BhC0
>>106
なんだ記憶力ないんだな。
大丈夫、さっきも言ったけどお前には何の期待もしていない。
まぁ誰にも期待されていないだろうけどな。
109デフォルトの名無しさん (ワッチョイ 7610-Pi4B)
2021/07/20(火) 00:24:14.92ID:5MR8gUQd0
仕事とあれば何十層ものIfを構築してみせます
110デフォルトの名無しさん (ワッチョイ 9501-gOEr)
2021/07/20(火) 00:26:08.35ID:AR5Y5d6n0
>>109
これが地獄か
111デフォルトの名無しさん (ワッチョイ da01-+scu)
2021/07/20(火) 00:27:49.81ID:23GKPsPl0
>>108
期待されてなくても君とは違って一応感謝はされてるけどねw
112デフォルトの名無しさん (ワッチョイ da01-+scu)
2021/07/20(火) 00:29:32.57ID:23GKPsPl0
>>109
本物のプログラマやねw
113デフォルトの名無しさん (アウアウウー Sa39-rGUB)
2021/07/20(火) 00:29:43.96ID:xUG2SFfQa
>>109
場合分けをどう表現するかだからね
114デフォルトの名無しさん (ワッチョイ da4f-kRLG)
2021/07/20(火) 00:32:49.10ID:fPwp7BhC0
>>111
まさか本当に誰にも期待されていないとはな・・・
なんかすまんかったw
115デフォルトの名無しさん (ワッチョイ 615f-ukMZ)
2021/07/20(火) 00:34:23.11ID:BhsgFaRe0
elseif
なんか見にくいから使わないわ
116デフォルトの名無しさん (ワッチョイ da01-+scu)
2021/07/20(火) 00:42:55.21ID:23GKPsPl0
>>114
うんうん、役立たずは辛いねw
そもそも期待なんて自分で言うことではないしね
そういう常識身につけたほうがいいと思うよ
もう遅いかもしれないけど…
117デフォルトの名無しさん (ワッチョイ da4f-kRLG)
2021/07/20(火) 00:43:44.59ID:fPwp7BhC0
>>103
厳密には決めていないけどVBAでは
強いて言えば後ろに評価する必要があるものが無ければIfで飛ばしてそうでなくて同じ変数を何度も評価する際にはCaseかな

まぁSelect Case Trueって書いて別の変数を評価に使うことも出来るけどあまり個人的には好きじゃない

実際には処理が重い関数の戻り値とかを評価に使わない限りあまり気をつけることはないかな
118デフォルトの名無しさん (ワッチョイ da4f-kRLG)
2021/07/20(火) 00:57:18.13ID:fPwp7BhC0
>>116
そうか、役立たずで誰にも期待されていないのか・・・残念な人生だろうけど諦めるしかないよ。だって性格も頭も残念だもの。
俺もまぁ性格はいいとは言えないけど、とりあえず結婚して都心に3階建ての家が買えるくらいの給料は貰ってるし、自分の現状を見ればどのくらい期待されているかは大体分かるよ。
自分で言うことではないと言うけれど、そんなもの自分の現状が直視出来ない人の言い訳だと俺は理解しているよ。
119デフォルトの名無しさん (ワッチョイ da01-+scu)
2021/07/20(火) 01:05:39.86ID:23GKPsPl0
聞いてないのに自分語り
まあ頑張れw
120デフォルトの名無しさん (ワッチョイ da4f-kRLG)
2021/07/20(火) 01:07:34.83ID:fPwp7BhC0
>>119
お前も残念な人生だろうけど残念なりに頑張れよw
121デフォルトの名無しさん (ワッチョイ da01-+scu)
2021/07/20(火) 04:54:15.65ID:23GKPsPl0
せめて感謝ぐらいはされる人生が歩めればいいねw
122デフォルトの名無しさん (ワッチョイ da4f-kRLG)
2021/07/20(火) 05:45:05.58ID:fPwp7BhC0
>>121
さぁな
別に感謝されようなんて思って生きてないし
感謝することはあっても感謝されてるかなんて考えたこともないから分からんな
123デフォルトの名無しさん (ワッチョイ da01-+scu)
2021/07/20(火) 06:37:45.29ID:23GKPsPl0
ん?
・感謝されて嬉しい
・感謝されようとしてる
って全然違うけど?
曲解してまで相手貶めようとしてるのかな?w
124デフォルトの名無しさん (ワッチョイ da4f-kRLG)
2021/07/20(火) 07:39:59.27ID:fPwp7BhC0
>>123
お前本当にヒネてるなぁwww
相手が俺を感謝しようがどうだろうが
あまり興味がないってこと。他意はない。
まぁされてるっぽいなと思うことはあっても
本人に聞くこともないしな。
面と向かって言われたら例え社交辞令でも
多少嬉しいかも知れないがな。
125デフォルトの名無しさん (ワッチョイ da4f-kRLG)
2021/07/20(火) 07:50:02.77ID:fPwp7BhC0
まぁお前には感謝されてるって確信出来ることがあって、それで幸せに思えるんならそれでいいんじゃないか?
それこそ俺には全く興味のないことだけれどな。
126デフォルトの名無しさん (ワッチョイ da01-+scu)
2021/07/20(火) 07:53:09.29ID:23GKPsPl0
まあその知能じゃこのスレで感謝されるなんてことはないだろうからそれでいいんじゃね?
なんでこんなスレにいるのか知らんけどw
127デフォルトの名無しさん (ワッチョイ da4f-kRLG)
2021/07/20(火) 08:03:40.29ID:fPwp7BhC0
>>126
ああ、このスレとかそういったミニマムな話か。
まぁ答えればありがとう的な返事も返ってくるけど別に一喜一憂するほどのもんだと思ったことはないな。

逆にそういうことで一喜一憂出来るお前が羨ましいかもな。
128デフォルトの名無しさん (ワッチョイ da01-+scu)
2021/07/20(火) 08:10:20.55ID:23GKPsPl0
一喜一憂w
そう言うのは答えてから言わないとね
129デフォルトの名無しさん (ワッチョイ da4f-kRLG)
2021/07/20(火) 08:12:11.39ID:fPwp7BhC0
>>128
巨大なブーメランが頭に突き刺さって血吹き出してるけど大丈夫?
130デフォルトの名無しさん (ワッチョイ da01-+scu)
2021/07/20(火) 08:35:55.24ID:23GKPsPl0
>>129
えっ?
>>90で普通に回答してるのに何を言ってるのかな?w
131デフォルトの名無しさん (ワッチョイ da4f-kRLG)
2021/07/20(火) 08:50:12.41ID:fPwp7BhC0
>>130
え?それ以外は?
ひとつだけじゃん

まぁ俺は今このスレではお前専属になっているから
他のレスに返答はしていないのは確かだな
そもそも一々几帳面にどのスレの
どのレス番号で回答したかなんて覚えてないしな
まぁ性格的なものなのだろう。
あ、決して自分がレスした番号まで覚えてて気持ち悪いとか引くとかそう言う意味じゃないから
そこはまた変に曲解するなよ。
132デフォルトの名無しさん (スプッッ Sdda-ZF5l)
2021/07/20(火) 09:04:42.71ID:du/JIHMdd
今時マクロを許可してるセキュリティ意識の低い会社って個人商店とか零細企業?
133デフォルトの名無しさん (ワッチョイ da4f-kRLG)
2021/07/20(火) 09:12:02.59ID:fPwp7BhC0
>>132
いや、ショックかも知れんけど
銀行では行員が使うツールをVBAで作る部署がある。
赤い銀行も、青い銀行も、緑の銀行も、な。
134デフォルトの名無しさん (スップ Sdfa-+zMD)
2021/07/20(火) 09:15:13.71ID:huXhCOx4d
前スレ848です
VBAを廃止しましたがまだ作業が発生しておらず、何も変化がない状態です
同僚からは「私のせいで落ち込んじゃった
135デフォルトの名無しさん (スップ Sdfa-+zMD)
2021/07/20(火) 09:21:26.80ID:huXhCOx4d
すいません
途中送信してしまいました

同僚からは「私のせいで落ち込んじゃった ?」と嫌味を言われましたがそれくらいです

同僚のvlookupも使えない人より名言が飛び出したので共有しておきます

※個人のエクセルスキルに依存しなくて済むよう、引継ぎしやすくなるよう、

また自由度が高くなるよう、あえて入力規則やマクロは使っていません。
136デフォルトの名無しさん (ワッチョイ 11fd-IwI9)
2021/07/20(火) 09:24:03.52ID:zRtyggiD0
>>132
某東証一部上場企業の品質保証部門で事務業務の自動化に使ってるやで
137デフォルトの名無しさん (ワッチョイ da01-+scu)
2021/07/20(火) 09:26:10.47ID:23GKPsPl0
>>131
1つも出せてないお前が言うなよ
ああ>>2があったな、感謝どころか恥を晒しただけだったけど…

番号覚えてない?
専ブラ使えてない無能ですって言うカミングアウトかな?
まあいきなり自分語り始めるよりは気持ち悪くないだろw
138デフォルトの名無しさん (オイコラミネオ MMad-gOEr)
2021/07/20(火) 09:31:14.50ID:fYc4Mg6UM
>>135
報告ありがとう。はやく地獄絵図が見たい。
引き続き楽しみにしてる。
139デフォルトの名無しさん (ワッチョイ da4f-kRLG)
2021/07/20(火) 09:37:48.92ID:fPwp7BhC0
>>137
専ブラって・・・
お前、昨日から何レスつけてんのか分かってて言ってるのかな?
専ブラ使ったって結構なレス数になるになると思うけどその中から必死に調べて回答したひとつを探し当てて「あった、回答して感謝レスもついてて完璧!!」とかやってるってことだよなぁ。
・・・別にそれが悪いこととは思わないけど俺にはちょっとついて行けない世界だわ。
140デフォルトの名無しさん (ワッチョイ da4f-kRLG)
2021/07/20(火) 09:49:14.47ID:fPwp7BhC0
>>135
へぇ、そちらには済まないけど早く作業が発生してくれるといいな。
まぁ折角だから自分専用のツールとしてVBAを使わずにどこまで出来るかやってみると面白いかも知れないよ。
俺も今同じようなことやっててテーブルからどうしたらSQLのWhere区みたいに数式で複数の列を拾ってその項目を表示出来るかやってたとこ。
項目がイコールで判断出来れば項目の値繋げてキー項目作ってVLookupで拾えばいいんだけど
抽出項目が〜以上、〜以下とかが混じっているからちょい面倒くさい。
141デフォルトの名無しさん (ワッチョイ da01-+scu)
2021/07/20(火) 09:52:04.98ID:23GKPsPl0
>>139
回答した内容はおぼろげに覚えてるから今回の件ならselectで検索すればいいだけ
ここム板だぞ、まさかそんな機能も知らんのか?
142デフォルトの名無しさん (ワッチョイ da4f-kRLG)
2021/07/20(火) 09:55:38.05ID:fPwp7BhC0
>>141
まぁどうでもいいや
お前がどんな質問回答してどんなにほくそ笑んだかなんて別に興味ないし
143デフォルトの名無しさん (スップ Sdfa-+zMD)
2021/07/20(火) 09:56:55.04ID:huXhCOx4d
>>140
パワークエリでVBA は相当なくせましたね
144デフォルトの名無しさん (ワッチョイ 552c-NvNM)
2021/07/20(火) 09:57:27.23ID:nphTU9tH0
銀行は利益もないから、Office みたいな有料ツールは使わないだろ。
Libre, サクラエディタ、安い秀丸などを使う

国債よりも、倒産リスクの高い銀行が、
国債よりも、低金利な利子の国は日本だけ

商売のほとんどが、何もやっていない。
財務省主導の護送船団方式による中抜きだけ

預金で国債を買って、高い利子を受け取って、
それよりも安い利子を預金者に返す

YouTube で、高橋洋一が説明していた。
これを指摘したら、大変な事になったとかw

銀行にとっては、低リスク・高金利の国債を直接買われるのが、最もイヤ。
中抜きできなくなるから、倒産するしかない
145デフォルトの名無しさん (ワッチョイ da01-+scu)
2021/07/20(火) 09:57:47.44ID:23GKPsPl0
>>142
どうでもいいならレスしなきゃいいのにw
恥の上塗り乙
146デフォルトの名無しさん (ワッチョイ da4f-kRLG)
2021/07/20(火) 09:59:27.66ID:fPwp7BhC0
>>144
そんなこと言われても実際そういう部署があるんだから仕方ない。
147デフォルトの名無しさん (ワッチョイ da4f-kRLG)
2021/07/20(火) 10:00:29.47ID:fPwp7BhC0
>>145
ええ?!
どう見ても構って欲しそうに見えるけど
148デフォルトの名無しさん (ワッチョイ b668-kbnc)
2021/07/20(火) 10:02:45.86ID:HNxIQkEL0
>>140
> 抽出項目が〜以上、〜以下とかが混じっている
ちょっと勘違いしてたらゴメンやけど
sumproductはダメなん?
149デフォルトの名無しさん (アウアウウー Sa39-qLRZ)
2021/07/20(火) 10:04:38.74ID:J+qL3RkUa
>>135
ひゃっほう、お墨付きを貰ったじゃあないか!
vlookupも使えない人に合わせた環境にしてしまえ!
150デフォルトの名無しさん (オイコラミネオ MMad-gOEr)
2021/07/20(火) 10:06:32.55ID:fYc4Mg6UM
なろうで追放復讐系が流行る理由が今わかった
151デフォルトの名無しさん (ワッチョイ da4f-kRLG)
2021/07/20(火) 10:09:47.29ID:fPwp7BhC0
>>148
あ、ありがとう。ただ今回は集約値を求めたい訳じゃなかったから・・・
SUMPRODUCT使って行のセルアドレスが求められる方法があるなら是非教えて欲しいけど、なんかごめんね。
152デフォルトの名無しさん (スップ Sdfa-+zMD)
2021/07/20(火) 10:18:07.62ID:huXhCOx4d
>>150
来季公開予定
落ちこぼれ錬金術師が勇者パーティーから追い出された結果〜パーティー全員の装備が石器になりスライムにも勝てずに泣きついてきた〜
153デフォルトの名無しさん (ワッチョイ da01-+scu)
2021/07/20(火) 10:18:08.83ID:23GKPsPl0
>>147
俺のことなんて関係なくね?
おまえがどうでもいいと思ってるんだからお前がレスしなきゃいいだけでしょw
アホなの?
154デフォルトの名無しさん (アウアウウー Sa39-qLRZ)
2021/07/20(火) 10:19:32.46ID:J+qL3RkUa
>>152
勇者部じゃん!
155デフォルトの名無しさん (アウアウウー Sa39-qLRZ)
2021/07/20(火) 10:22:06.71ID:J+qL3RkUa
おっと途中送信
繰り返しながら、間違っても自分を過剰に責めないようにね
話から察するにパワハラ気質な感じがするけど、何言われても思い詰めないように
156デフォルトの名無しさん (ワッチョイ da4f-kRLG)
2021/07/20(火) 10:23:55.56ID:fPwp7BhC0
>>153
あ、構って欲しいことは否定しないんだ。
仕方ないなぁw
157デフォルトの名無しさん (スップ Sdfa-+zMD)
2021/07/20(火) 10:28:54.92ID:huXhCOx4d
>>155
諸々ありがとう
パワハラ気質というか上司は「曖昧、気分屋、意見が変わる」の暖簾に腕押し系ですね
同僚は「無能、声がでかい、わがまま」という爆弾です
158デフォルトの名無しさん (ワッチョイ da01-+scu)
2021/07/20(火) 10:49:15.06ID:23GKPsPl0
>>156
どうでもいいやと言いながらレスし続ける構ってちゃんw
俺は構ってちゃんじゃなくて暇だからアホをからかってるだけね
159デフォルトの名無しさん (ワッチョイ da4f-kRLG)
2021/07/20(火) 11:05:44.32ID:fPwp7BhC0
>>158
暇なのか、いいなぁ
俺なんか作業の合間にちょこっと見て書き込む程度なのに。
そうか、コロナ禍で・・・
早く仕事が見つかるといいな。
160デフォルトの名無しさん (ワッチョイ da01-+scu)
2021/07/20(火) 11:12:17.84ID:23GKPsPl0
>>159
あれ、どうでもいいんじゃないのか?w
構ってちゃん乙

ごめんね、ゆるい職場で在宅だからアホをからかうぐらいの余裕はあるんだわ
そういう意味ではコロナ禍で余裕ができたってことだけどね
161デフォルトの名無しさん (ワッチョイ da4f-kRLG)
2021/07/20(火) 11:32:48.71ID:fPwp7BhC0
>>160
いいなぁユルい職場。
こっちもテレワークだけど
あれやこれやと全然違う言語で出来ている
ソースの解析やお客さんとの打ち合わせやら
要件定義や仕様書の作成のついでに
見積もり計算したり全然楽じゃないわ
まぁ貰うもん貰ってるからいいけど。
162デフォルトの名無しさん (ワッチョイ da01-+scu)
2021/07/20(火) 11:39:17.55ID:23GKPsPl0
また自分語りw
構ってちゃん乙
163デフォルトの名無しさん (ワッチョイ da4f-kRLG)
2021/07/20(火) 12:35:19.71ID:fPwp7BhC0
>>162
済まないな
これから暫く会議に入るから構ってあげることが出来ないんだ。
164デフォルトの名無しさん (オイコラミネオ MM7e-IPkD)
2021/07/20(火) 13:14:58.69ID:G/3BEDmGM
if分岐の落とし込み条件の
立て方も割とセンス問われるな
165デフォルトの名無しさん (ワッチョイ da01-+scu)
2021/07/20(火) 13:20:16.21ID:23GKPsPl0
誰も構ってほしいなんて言ってないし会議とか知らんがな

てか、どうでもいいとか言う割には会議終わったらレスする気満々やんw
166デフォルトの名無しさん (ワッチョイ 9501-gOEr)
2021/07/20(火) 23:08:44.98ID:AR5Y5d6n0
数十時間仕事削減して他人の十倍の仕事をこなしてなおかつ残業代減らしたら、相応とは行かなくても少しは金くれてもいいのに
現実はもらえる金額が減るだけ
時給制ってなんなんだろうね
167デフォルトの名無しさん (ワッチョイ ae68-ZPtt)
2021/07/20(火) 23:17:10.09ID:Ru+CBH4c0
それは上司と交渉しなよ
168デフォルトの名無しさん (ワッチョイ 9501-gOEr)
2021/07/20(火) 23:42:52.69ID:AR5Y5d6n0
上司に相談とかじゃなくて
そもそも時給制って欠陥制度じゃないの
そのまま適用すると関数すら知らない無能のほうがもらえる額大きくなるじゃん
169デフォルトの名無しさん (ワッチョイ ae68-ZPtt)
2021/07/20(火) 23:45:05.72ID:Ru+CBH4c0
出来高制・歩合制にすると、他人に仕事を振りまくるアホが評価されるって事にもなりかねない
多分、万人が納得行く給与形態ってないと思うぞ
170デフォルトの名無しさん (ワッチョイ 9501-gOEr)
2021/07/20(火) 23:46:48.13ID:AR5Y5d6n0
他人に仕事を押し付けた時点でそのアホの成果じゃなくなるのではって思うけど
171デフォルトの名無しさん (ワッチョイ ae68-ZPtt)
2021/07/20(火) 23:48:51.79ID:Ru+CBH4c0
現実はそうじゃないんだ、これが
172デフォルトの名無しさん (ワッチョイ 9501-gOEr)
2021/07/20(火) 23:49:34.84ID:AR5Y5d6n0
残念な現実だが
逆に何らかの方法を使って
その欠点さえ潰してしまえば
問題なくなるのでは
173デフォルトの名無しさん (ワッチョイ da8e-5beo)
2021/07/21(水) 00:14:04.67ID:aeI9FN9A0
>>166
こういう馬鹿には維持運営コストなんて理解できない
174デフォルトの名無しさん (ブーイモ MMa1-kbnc)
2021/07/21(水) 00:45:57.02ID:R2O/L51xM
維持コストが必要な、長期や大規模な案件に関わったことがないだけでしょうね
175デフォルトの名無しさん (ワッチョイ 552c-NvNM)
2021/07/21(水) 03:38:08.86ID:1PajC+dW0
VBA の年収が高いのは、爺が長時間掛けるから。
高品質じゃない

YouTube で有名な、雑食系エンジニア・KENTA も言ってる。
Perl の年収が高いのは、爺ばっかりだから

逆に、Ruby が低年収なのは、若い新人が多いから

一方、米国では1,300万円とか、Rails が最高。
それは、Shopify, Airbnb, Github など、時価総額1〜10兆円みたいな巨大企業が多いから

それを抜いたのが、AWS Solution Architect の1,400万円とか

だから基本は、AWS, Rails の組み合わせ。
まあ、Heroku でも良いけど
176デフォルトの名無しさん (ワッチョイ 9501-gOEr)
2021/07/21(水) 07:07:30.37ID:yiB8qF1G0
>>173
運営コストとどれだけタスクこなしても給料上がらないっていう時給制の欠陥にどんな関連があるのかな

ふわふわしたレスだとちょっと突っ込まれたらすぐ破綻するよ
177デフォルトの名無しさん (ワッチョイ da4f-kRLG)
2021/07/21(水) 08:12:27.27ID:ks8UjWc90
>>175
つまりRubyは日本ではプログラマーとして寿命が短い言語ってこと。
EXCEL VBAはEXCEL用の言語という特性上、こじんまり纏まってるものが多く、業務を把握し易いからSE兼プログラマーとして生き残ることが多いんだよ。
だからその分年収も多く貰えてるし、じじいになっても続けていられる。

一方Rubyは、以前10年選手が始めて1年の人に抜かれるとか言ってたよね?つまり10年後には自分の持ってる知識が古くなって使いものにならなくなるということ。そしてSEにもなれないから年収も低い。

そのKENTAという人も結局Youtuberとして稼いでいるみたいだし、ちゃんと食べているのかどうか分からないくらいガリガリに痩せているところを見ると、Rubyという言語を選択した悲惨さを見せつけられているようだよね。
178デフォルトの名無しさん (オイコラミネオ MMad-gOEr)
2021/07/21(水) 08:31:01.69ID:PRswykqGM
また自演か…
179デフォルトの名無しさん (アウアウウー Sa39-fQx/)
2021/07/21(水) 08:46:26.76ID:PTHYzAgOa
「馬鹿」と「Ruby」をNGにしておけばいいよ
180デフォルトの名無しさん (ワッチョイ 6dda-zcwp)
2021/07/21(水) 10:38:13.01ID:Xp6tDYdm0
爺爺てあるけど、定年した60代70代のジジババがバリバリプログラミングしているイメージが沸かないのだが??
181デフォルトの名無しさん (ワッチョイ 615f-E0YB)
2021/07/21(水) 12:34:03.21ID:DbniEar00
現時点での60代70代でバリバリプログラミングなら
彼らの若い頃は相当早い段階でPCに触れてるはずで

普通に考えるとそういうのは今の50代から始まるレベル
182デフォルトの名無しさん (ワッチョイ b6da-kbnc)
2021/07/21(水) 12:35:15.43ID:7bjPAr220
勤務時間きにして言われたことやるだけの人と、そういう部下を管理する立場にある人では収入が全然違うのだよ
183デフォルトの名無しさん (ブーイモ MMde-kbnc)
2021/07/21(水) 12:40:16.73ID:WQLnW4DkM
管理や経営を任されてる人はむしろプログラミングできない
ただし年収はずっと高い
184デフォルトの名無しさん (オイコラミネオ MMad-gOEr)
2021/07/21(水) 13:35:03.57ID:Vvnc0tffM
ブラウザ変えることすらやめて
雑な自演
185デフォルトの名無しさん (ワッチョイ 6dda-zcwp)
2021/07/21(水) 19:05:29.80ID:Xp6tDYdm0
>>181
VBAの田中氏とかあの辺は本当に早かったんでしょうね
あの辺の年代でバリバリできる人は少ないイメージです。
186デフォルトの名無しさん (ワッチョイ ae68-ZPtt)
2021/07/21(水) 21:51:33.71ID:obu1vRlw0
はーい、正義を振りかざすみなさんおはようございまーす!
187デフォルトの名無しさん (ワッチョイ da8e-5beo)
2021/07/21(水) 22:40:53.10ID:aeI9FN9A0
>>176
じゃあ、VBAのプログラムだけで稼いでみろ
特定の一部分の仕事ができたから自分が全部において優れているとでも思うのか?
お前みたいな自己満足素人が作った代物なんてどうでもいいウンコにしか過ぎない
188175 (ワッチョイ 552c-Rh1M)
2021/07/21(水) 22:46:42.27ID:1PajC+dW0
プログラミングできない爺の方が、
プログラミングできる若い人よりも、年収が高い

そういう爺が、VBA をやっているから、VBAの年収が高くなるだけ

爺はプログラミングが分からないから、
プログラマーを雇わないで、VBAだけを続ける

爺は脳ミソが少なくなっているから、新しいものを受け付けず、VBAを続けるしかできない

だから、実際にプログラマーを募集すると、
VBAは、Rubyよりも低価格になる

VBAの方が生産性が低いし、システムを作れないから
189デフォルトの名無しさん (ワッチョイ da4f-kRLG)
2021/07/21(水) 23:36:35.72ID:ks8UjWc90
>>188
>だから、実際にプログラマーを募集すると、
>VBAは、Rubyよりも低価格になる

もちろんソースが有って言ってるんだよね?
190デフォルトの名無しさん (ワッチョイ da4f-kRLG)
2021/07/22(木) 00:05:36.40ID:Zjb3Hzgj0
>>187
まあまあ、そんなに熱くならないで。
働いて効率上げても時給制だし賃金が上がらないというのは分からないでもないけど
実際、VBAで雇われると言うことはVBAでツールが作れたり効率化が出来ることが前提で雇われているんだから仕方ないよ。

もっとも、VBAが出来ないこと前提で雇われているとしたらそこまで求められている作業ではないと言うことだよ。

別に俺はVBAだけやってるわけじゃないけど
VBAだけで稼げって言われたら多分可能だと思うよ
というか結構VBAを生業にしている人多いんじゃないかな。

ま、最悪別の方法を考えてみなよ。
もしRubyみたいにやっすい給料でこき使われて嫌だと言うなら他の言語も勉強して他に進むか
あるいは自分の下に何人か後輩くっつけてもらって面倒見るから給料上げて貰うよう交渉してみるとか。

色々な方向からアプローチした方がよりいい方向にもって行けると思うよ。
191デフォルトの名無しさん (ワッチョイ ae68-ZPtt)
2021/07/22(木) 00:28:32.64ID:GcDkMVX50
みんながvbaを覚える
vba講師に対する講師手当rを払う
コレがいいのえはかな
192175 (ワッチョイ 552c-Rh1M)
2021/07/22(木) 00:44:48.54ID:kFdJ5CFB0
雑食系エンジニア・KENTA、2021/6

Web系エンジニアは結局どの技術を専門にすると得なのか?
/転職ドラフトのグラフから考えてみました


転職ドラフトでは、Ruby on Rails, Docker, AWS は600万円ぐらい

米国年収では、Railsが、1,300万円。
AWS Solution Architect が、1,400万円とか

Node.js の900万円を、ぶっちぎっている。
ただし、Railsの求人数は、Node.jsの半分しかない

これは、Shopify, Airbnb, Github など、
時価総額1〜10兆円みたいな巨大企業が、Railsだから年収が高いのかも
193デフォルトの名無しさん (ワッチョイ da4f-kRLG)
2021/07/22(木) 00:51:00.68ID:Zjb3Hzgj0
>>192
やっすい
やっすい
やっすいわー
Rubyは年収最低です!!
Excel VBA 質問スレ Part72 YouTube動画>8本 ->画像>7枚
194デフォルトの名無しさん (ワッチョイ 7610-Pi4B)
2021/07/22(木) 01:22:02.79ID:UXqg7Sav0
普通の会社だとVBAくらいしか使えない
195デフォルトの名無しさん (ワッチョイ 6dda-zcwp)
2021/07/22(木) 04:49:08.13ID:hDLG98Tl0
じゃあそれ以外の言語を扱っている会社は異常な会社なんだな
196デフォルトの名無しさん (ワッチョイ 9501-gOEr)
2021/07/22(木) 05:47:11.72ID:Ad01T7Fb0
>>190
実際時給制だから関数すら勉強しない効率最悪のクソゴミが
僕はありのままでいいんだと言う結論でノロノロ亀のように仕事してるんだと思うよ
これが成果制になってみろ
なんなら成果制と時給制のハイブリッドでもいいけど

みんないやいやながらも勉強しだすと思うんだわ
だってノロノロ動いてたらちっともお金貰えないだろ
一部の人間に寄生する状態も緩和され負担も分散されると思うんだ
197デフォルトの名無しさん (ワッチョイ da4f-kRLG)
2021/07/22(木) 08:16:33.96ID:Zjb3Hzgj0
>>196
うーん、
よく分からないんだけどノルマとかはないの?
大概のところは案件があって、大体このくらいの規模だからスケジュール的に1日このくらいの作業、で、予備しろ見てこのくらい、とかあるもんだけど。

そういう形態ならオンスケなら正直残った時間は何やっててもいいと思うよ。まぁチームでやっているなら誰かの尻拭いをさせられることもあるかもだけど、
そこは仲間なんだからある程度寛大に考えた方がいいよ。あまりにも酷い人はその内いなくなるし。

今はある意味コロナ禍でテレワークのところが多いから、そういう時間が有ったらまさにボーナスタイムなんだよ。
本当は自分の時間を売ってお金を貰ってる訳だからこんなこと言っちゃいけないんだけど、
相手から何やってるか見えないからオンスケならもう他の言語勉強しようが、ツール部品化してスケルトン作っといて新しいツール作る際に使えるようにして更に自由な時間を作ろうが、試したいことが有ったら仕事そっちのけでそっちをやろうがやりたい放題。資格取得の勉強とかもいいかもね。

ま、他の人達が楽してるのに何で俺だけ、ってのは理解出来ないでもないけど、そこで「じゃ、どうするか」って考えた方が幸せになれると思うよ。
まぁそんな偉そうなこと言えるほど俺も仕事こなしている訳じゃないんだけどね。
198デフォルトの名無しさん (ブーイモ MMde-kbnc)
2021/07/22(木) 08:33:48.65ID:dO45NyhqM
誰でも出来る簡単な仕事がたくさんあって、終わったら次の作業を割り当てられる
早く終わらせると仕事が増える
ゆっくりやっても給料は同じ
199デフォルトの名無しさん (ラクッペペ MM0e-v3fy)
2021/07/22(木) 08:44:07.85ID:+pan6CfvM
割り当てられた仕事ってまるで派遣やバイトの感覚だな
200デフォルトの名無しさん (ワッチョイ da4f-kRLG)
2021/07/22(木) 08:44:26.94ID:Zjb3Hzgj0
>>198
ふーん。ノルマもスケジュールもないVBAのお仕事って珍しいかもね。少なくとも俺は見たことないな。
ならとりあえず今日はここまでって自分でノルマ決めて、後は自分の時間に回せばいいと思うよ。
テレワークじゃないの?
201デフォルトの名無しさん (テテンテンテン MM0e-3nkv)
2021/07/22(木) 08:45:39.76ID:IVGumB3tM
文句があるなら業務改善自体が成果として評価されるようなポジションに着けばいい
その手の職はDXがバズってるせいで圧倒的売り手市場だぞ
それができないならその程度の能力なんだろ
202デフォルトの名無しさん (ワッチョイ 9501-gOEr)
2021/07/22(木) 09:00:26.54ID:Ad01T7Fb0
えっそのポジションに付かないと成果物10分の1で勉強もしない隣の怠け者に文句いっちゃいけないの?
なんならそのポジションがない職場だったら転職しないといけないわけ?
クレイジーすぎんかお前の頭
クソ映画に文句あるなら映画作れる立場になれってか
203デフォルトの名無しさん (ワッチョイ 9501-gOEr)
2021/07/22(木) 09:01:49.47ID:Ad01T7Fb0
そしてそういう詭弁を発する人間は大概が激まず料理作って客から文句言われて
じゃあお前が作れとかほざくレベルの料理人だったりするけど
204デフォルトの名無しさん (テテンテンテン MM0e-3nkv)
2021/07/22(木) 09:22:39.84ID:IVGumB3tM
転職すりゃいいだろ?
本当に他人の10倍仕事できるなら転職先なんて一瞬で決まるだろうし余裕で収入上がるよ
205デフォルトの名無しさん (ワッチョイ 9501-gOEr)
2021/07/22(木) 09:46:23.87ID:Ad01T7Fb0
じゃあ仮に俺が今すぐ転職したとしようか

はい転職しました
これで前の職場の文句言っていいね?詭弁マスターさん
206デフォルトの名無しさん (テテンテンテン MM0e-3nkv)
2021/07/22(木) 09:58:04.44ID:IVGumB3tM
いいんじゃね?
嘘なら自分が惨めなだけだし、転職して満足したらこんなとこで文句垂れようとは思わなくなるだろうね
簡単かつ確実なソリューションは目の前にある
207デフォルトの名無しさん (ワッチョイ 9501-gOEr)
2021/07/22(木) 10:03:54.39ID:Ad01T7Fb0
今の環境に満足したら過去の愚痴は出さなくなるものなの?
もう辻褄合わせしようとして目茶苦茶だな
しかも文句言っていいと言いながら
封じ込めようとする気満々のレス
208デフォルトの名無しさん (ワッチョイ da4f-kRLG)
2021/07/22(木) 10:12:42.83ID:Zjb3Hzgj0
>>207
いや、煽り抜きで本気で辞めること考えた方が良いかもよ。俺だったら正直そんなIT業界のくせにブルーカラーっぽいとこ嫌だもん。IT土方とは言うけどさ。
209デフォルトの名無しさん (ワッチョイ b668-kbnc)
2021/07/22(木) 10:16:29.34ID:D0vIpPHf0
>>207
グダグダここで言っても何の進展も無い
上司に言う
さらにその上に言う
転職する
諦めて余った時間は仕事してるふりする
好きなようにしろ
210デフォルトの名無しさん (ワッチョイ 9501-gOEr)
2021/07/22(木) 10:22:14.34ID:Ad01T7Fb0
まあそもそも進展云々以前にスレチだからここに書きなぐるのは適当ではないけどな
スレチだと言うなら分かるよ
便所の落書きの5chに進展がないから書くなってのは違うわ
211デフォルトの名無しさん (ワッチョイ b668-kbnc)
2021/07/22(木) 11:05:32.81ID:D0vIpPHf0
書くなとは言ってないし
しかも進展無い事もスレチな事もわかった上でやってるとは
まずはそういう所を治さないとな
212デフォルトの名無しさん (ワッチョイ 6dda-zcwp)
2021/07/22(木) 12:36:44.43ID:hDLG98Tl0
おまいら話脱線しすぎ
VBAの話しようぜ
213デフォルトの名無しさん (ワッチョイ 9501-gOEr)
2021/07/22(木) 12:58:20.74ID:Ad01T7Fb0
>>211
言っとくけどスレチなのはお前もだぞ
あと上のやつは書いていいと言ってる割に理論武装で
実質書くなって言ってるのと同じだぞ
何回同じこと言わせるの
あとなんで他人のレスかばってるん

どうせルビールヒー喚いてるやつの自演なんだろうけど
214デフォルトの名無しさん (ワッチョイ b6da-kbnc)
2021/07/22(木) 13:57:31.23ID:OYfHgIcU0
おまえらIT業界の最前線でVBAマクロ作るのが仕事?
俺んとこは多数ある業務の中のデータ管理部分のほんの一部でしか使ってないぞ
それで利益が出るとかすげー会社だな
215デフォルトの名無しさん (ワッチョイ b668-kbnc)
2021/07/22(木) 14:03:57.52ID:D0vIpPHf0
>>213
被害妄想
自演の方が都合がいいならそう思ってスルーでいいのでは?
216デフォルトの名無しさん (ワッチョイ 9501-gOEr)
2021/07/22(木) 14:31:29.66ID:Ad01T7Fb0
>>215
よく見たらお前マジで上で自演してたのなkbnc
217デフォルトの名無しさん (ワッチョイ 6dda-zcwp)
2021/07/22(木) 14:49:20.00ID:hDLG98Tl0
>>214
それが普通だよね
ここの人達はいったい何者なんだろ?
VBAやるのが仕事??
218デフォルトの名無しさん (ブーイモ MMfa-3nkv)
2021/07/22(木) 15:24:59.48ID:04ABr3MxM
ITエンジニアだけどVBAは自分の作業のために稀に使うくらいだな
個人的にはExcel自体極力使いたくなくて、だいたいGoogleスプレットシートやGASで済ませてる
さすがに仕事の成果物としてVBAを作ることはないし、そんな仕事は絶対に受けない
219デフォルトの名無しさん (ワッチョイ da01-+scu)
2021/07/22(木) 15:38:56.08ID:ERrrf0sq0
>>217
週イチで幹部向けにレポート作る時に使ってる
わがまま幹部はこういうデータは見れないのか?とか時々賜るのでVBAでサクッと変更できないと辛い
まあ流石にメインの業務じゃないけどそれなりに工数かけてる
220デフォルトの名無しさん (ワッチョイ b668-kbnc)
2021/07/22(木) 15:40:33.29ID:D0vIpPHf0
>>216
仕組み知らずに言ってる?
221デフォルトの名無しさん (アウアウアー Sa7e-QhOm)
2021/07/22(木) 15:47:05.91ID:3SY8hR+ma
>>219
具体的にどんなプログラム?
いまいち想像つかんから教えてくれるとありがたい
222デフォルトの名無しさん (スフッ Sdfa-+zMD)
2021/07/22(木) 15:50:01.36ID:kGBn2Fi6d
VBA使いって、エンジニアというか一般事務職が多いとう印象なんだけど
実際どうなんだろうか?
自分は総務だ

pythonとC#も一応使えるけど開発環境はもちろんなく、余りつかわないので忘れつつある
google colaboratoryなんぞ使おうものなら情シスに怒られる
223デフォルトの名無しさん (ワッチョイ da01-+scu)
2021/07/22(木) 15:51:08.27ID:ERrrf0sq0
>>221
詳細は書けないけどOracleに繋いで業績関係の各種データを取得して一覧表やグラフを作ってる
本来BIでやるような仕事なんだけど社内で使ってるBIが融通効かなくてやむを得ずVBAって感じ
224デフォルトの名無しさん (アウアウアー Sa7e-QhOm)
2021/07/22(木) 16:28:44.02ID:3SY8hR+ma
>>223
普段そういうデータは扱わんからよくわからんけど自作BIみたいな感じってことね
225デフォルトの名無しさん (ワッチョイ 76b0-f6wj)
2021/07/22(木) 17:03:50.30ID:v5pUtFRI0
>>218
Excel使いたくないのに、わざわざVBA使うの?しかもVBAのスレまで確認してるし
言ってることが支離滅裂で草
226デフォルトの名無しさん (ワッチョイ da4f-kRLG)
2021/07/22(木) 18:28:02.97ID:Zjb3Hzgj0
確かに
Googleスプレッドシート使っててEXCEL VBAのスレに来ているとか訳分からんね
それならWeb版EXCELをJavascriptで操作すると思うけど。
227デフォルトの名無しさん (ワッチョイ da4f-kRLG)
2021/07/22(木) 21:52:26.63ID:Zjb3Hzgj0
>>219
分かる
こっちも新規で作るシステムのモックアップはユーザーさんに説明しつつこんな感じって見せるためにVBAで作ることがある。

ユーザーさんへの説明用、データ整合性の調査、UTで使う検証用等大体ひとシステム作るのに作るVBAのツールは少なくとも5〜10くらいは作るか。

なんと言ってもすぐにちゃちゃっと作れるので便利。恐らくどの言語でどんなシステム作ることになってもVBAは使い続けると思う。
単純なものならHTMLやXML、XAML、JSONとかの自動生成させるときもVBAでちょろっと作れば結構楽だし。
228デフォルトの名無しさん (ワッチョイ ae68-ZPtt)
2021/07/22(木) 22:29:39.31ID:GcDkMVX50
>>214
中小企業の経理
vbaで事務の仕事を軽減させるのが仕事
勢い余ってvbaプログラマーになろうとしたが、
常駐+リモート無し+保守がメイン、となんの面白みもなさそうなので辞めた

>>222
ほぼ一般事務だろう。Excelの数式だけで手を出せないところをなんとかするのがvbaの本来の役割だと思う
229デフォルトの名無しさん (ワッチョイ ae68-ZPtt)
2021/07/22(木) 22:33:08.33ID:GcDkMVX50
成果物は・・・
・ローカルサーバーの複数あるファイルを1つにまとめる(今はスプレッドシートに移行したけど)
・印刷関係。位置調整などの面倒な処理を自動化してやや強引に解決
・ファイルの一括リネーム

後細かいところだと、保存するときにA1セルに合わせるだの
あいまい検索だのと色々作って来たな
230デフォルトの名無しさん (ワッチョイ 598e-ogEw)
2021/07/23(金) 00:59:11.79ID:kQCkUm+T0
ただの便利屋レベルの馬鹿が自慢するスレ
231デフォルトの名無しさん (ワッチョイ d901-0BqW)
2021/07/23(金) 01:12:54.32ID:6EC+HAIC0
プログラミングできるかも怪しいレベルの奴がわざわざVBAスレに来て他言語の単語ちらつかせてマウント取るだけのスレになっちゃったな
232デフォルトの名無しさん (ワッチョイ d901-0CkY)
2021/07/23(金) 01:33:49.14ID:hmMDCbjQ0
あわしろ氏はMS言語を使うなと強く警告してる。
ベンダーロックインされるからだ。
233デフォルトの名無しさん (スフッ Sd33-3Z6B)
2021/07/23(金) 01:45:39.50ID:RENIENTyd
>>232
そんなもんどの言語でも同じだろうに
コンパイラメーカーが提供する便利なライブラリを否定したら生産性がめちゃくちゃ下がるんだが、そのコストを負担できるやつだけ開発環境に依存しないコードを書いてればいい
234デフォルトの名無しさん (ササクッテロ Sp85-JXZI)
2021/07/23(金) 01:59:29.68ID:O08XUcmBp
>>231
VBAなんて一番何かのついでに使われる言語に一々他言語の話が出たからってビビってマウントマウント言ってんじゃねーぞ
そんなんだからRuby信者みたいのにVBAやってる奴は年寄りばっかで質が低いとかナメられてんじゃねーか
ちったぁ勉強して自分のプログラムの質向上させるか引退するかしろマウントじじい
235デフォルトの名無しさん (ワッチョイ d901-0BqW)
2021/07/23(金) 02:12:02.15ID:6EC+HAIC0
どんだけ図星だったのかよく分かるわ
めちゃくちゃ切れてるね
236デフォルトの名無しさん (ワッチョイ 8bb0-zTnn)
2021/07/23(金) 02:14:14.08ID:YWrx4TzV0
>>232
あわしろってやつは1つしか言語を覚えられないアホなのか?
237デフォルトの名無しさん (ワッチョイ d901-0CkY)
2021/07/23(金) 03:11:59.70ID:hmMDCbjQ0
アホはお前だろ。
238デフォルトの名無しさん (ワッチョイ 7b68-s8C+)
2021/07/23(金) 05:00:40.50ID:UnN9imMp0
>>230
そう、超絶便利道具なんだよ
唯一共有だけが苦手でvbaで補佐する必要があったけど、
今はgoogleスプレッドシートが出てそれもいらなくなった

ただGASは記述が長い+ローカルみたいになんでもかんでもサクサク書けないのがネック
239デフォルトの名無しさん (ササクッテロ Sp85-JXZI)
2021/07/23(金) 07:01:57.03ID:O08XUcmBp
>>235
当たり前だろ
お前みたいのがいるから勉強している連中まで「VBAはじじいばっかの程度の低い奴がやってる言語」ってレッテルが貼られてんじゃねーか
しかも少しでも新しい知識の話が出るとマウントマウント言って煽る、まるで親中の二階議員みたいなもんだ
こういう奴は若い人達が育つ阻害になるからとっとと退場して貰った方がいい
240デフォルトの名無しさん (ワッチョイ 1301-wc+D)
2021/07/23(金) 07:41:09.26ID:U6L8J7vD0
VBAスレでベンダーロックインガーって…
アホすぎるw
241デフォルトの名無しさん (ワッチョイ 134f-JXZI)
2021/07/23(金) 08:27:04.99ID:BjmNFMBr0
MacOSにもEXCELあるし、LinuxにはLibreOfficeがあるからセーフ
242デフォルトの名無しさん (ワッチョイ 09da-qBdh)
2021/07/23(金) 09:06:50.09ID:0OT6Oc+G0
偏見かもだけど、一般事務でVBA組む人とか意識高い系なイメージある
良くも悪くも
243デフォルトの名無しさん (スフッ Sd33-3Z6B)
2021/07/23(金) 09:32:27.40ID:UfMW6obzd
LibreOfficeは開発グループが音楽性の違いで仲間割れしてなかった?
ボランティアが作ってる無料アプリはなんか安心できないわ
244デフォルトの名無しさん (エムゾネ FF33-Hgw+)
2021/07/23(金) 09:35:24.46ID:tlDGLlPeF
棲む世界が変わると価値観も変わる
一般事務:VBA組む人とか意識高い系なイメージ
ム板:VBA組む人とか情弱で迷惑なイメージ
245デフォルトの名無しさん (ワッチョイ b15f-1bXb)
2021/07/23(金) 10:03:23.76ID:edKd2fFf0
VBAが出来ると一般事務の中でも少数派に慣れるもんな
周りからの目も多少は変わる
246デフォルトの名無しさん (ワッチョイ 8163-TOGs)
2021/07/23(金) 10:09:09.73ID:AJoL/ZyK0
https://m-kenomemo.com/excel-html-rakuten/
VBAで通販サイトの検索結果を取得してエクセルに取り込む
ていうのを自分もやってみたいんだけど
対応ブラウザはIEのみらしい。
今だとIEでは開けないサイトもありますよね。。
そういうサイトでも正しい結果を取得できるんでしょうか。
出来ない場合、他に手軽に出来る言語があれば教えてください。

>>242
システム部から左遷されて仕方なくやってます
247デフォルトの名無しさん (スップ Sd33-3Z6B)
2021/07/23(金) 10:18:01.22ID:R7pgXCyzd
>>246
自分の趣味でやるんなら、色々なブラウザに対応したライブラリがネットで公開されてる
VBAでも可能だし、ほかの言語でもブラウザをコントロールする手間は大差ない

仕事でやるんならターゲットは特定のサイトに限られるだろうから、それぞれに合った方法を考える
データを有料で購入できる場合もある
248デフォルトの名無しさん (JP 0H73-TIaQ)
2021/07/23(金) 10:28:27.48ID:ILxB/kjYH
もはやググってナンボになってるよな
経験年数あっても新しいものに素早く対応してる奴がマウント取る時代
249デフォルトの名無しさん (ワッチョイ 0b68-3Z6B)
2021/07/23(金) 10:45:41.76ID:4E2FuVQL0
まず新しい情報にマウント取らないとな
isoイメージにマウント的な意味で
250デフォルトの名無しさん (スプッッ Sd63-3Z6B)
2021/07/23(金) 10:45:48.04ID:viLDAAxBd
ネット環境とマシンパワーの向上で、仕事の99%はぐぐってコピペでだいたい片付くようになった
それに世の中全体では人材も余ってるから、能率が悪くても人とパソコンを増やせばなんとかなってしまう

特別な技術や経験が活かせる状況なんて滅多にない
だから年寄りはいつもイライラしている
251デフォルトの名無しさん (ワッチョイ d901-hkEz)
2021/07/23(金) 10:53:20.49ID:6EC+HAIC0
>>239
わかるわかる。何もできない無能だから具体的にやった事を語るんじゃなくてふわふわしたレスと横文字ちらつかせるしかないんだよな
大学自慢IQ自慢と同じ類
252デフォルトの名無しさん (オイコラミネオ MM8b-0RN4)
2021/07/23(金) 12:37:44.91ID:VmhXEPpsM
どっちがどうとかどうでもええがな

この先またいくらでも新しいのが
でてくるわな

暗算でなんでもやってのけた
アインシュタインからすれば
なんでもやったらええやんて話よ
電卓もパソコンも一緒よ
253デフォルトの名無しさん (ササクッテロ Sp85-JXZI)
2021/07/23(金) 12:39:08.22ID:O08XUcmBp
>>251
わかるわかる
年齢だけ無駄に重ねて何も出来ないから
何か新しいことが身近にくると
「ヒィィ〜マウントマウント〜」って
必死に自分を保守しようとするマウントじじい

Web版EXCELが主体になったら
淘汰される第一候補ね
254デフォルトの名無しさん (ブーイモ MMcb-o5ML)
2021/07/23(金) 12:53:37.65ID:nwHRbNhCM
5chはジジイの巣窟ですよ。
子供は他所で遊んだ方が良いですよ。
255デフォルトの名無しさん (ワッチョイ 7b68-s8C+)
2021/07/23(金) 12:54:24.58ID:UnN9imMp0
>>246
chromeの拡張機能で「スクレイピング」などで検索すれば見つかると思う

最強に汎用的なのはjsを書いて、コンソールに叩きつける方法
jsをExcelで書けば色々と力技で書ける
256デフォルトの名無しさん (ワッチョイ fb8c-QuXb)
2021/07/23(金) 13:53:45.21ID:UhJHVqU00
>>255
最後の1行をもう少し具体的に解説お願いします
VBAのモジュール内にjsを書いてそれをchromeで実行?どうやって?
257デフォルトの名無しさん (ワッチョイ 532c-TOGs)
2021/07/23(金) 13:57:33.09ID:Nx0yKcVz0
>>246
スクレイピング・ブラウザの自動操作なら、
Ruby, Selenium Webdriver, Nokogiri

例えば、ブラウザで、ユーザー名・パスワードを自動入力して、
Yahoo にログインするなら、

require "selenium-webdriver"

options = Selenium::WebDriver::Chrome::Options.new
options.add_option( :detach, true ) # ブラウザを切り離す
options.add_argument( '--start-maximized' ) # 画面最大

driver = Selenium::WebDriver.for :chrome, options: options
driver.manage.timeouts.implicit_wait = 10 # default timeout

driver.navigate.to "https://login.yahoo.co.jp/config/login_verify2?.src=ym"; # ログイン画面

element = driver.find_element(:id => "username")
element.send_key "ユーザー名" # 入力

driver.find_element(:id => "btnNext").click # ボタンをクリック

element = driver.find_element(:id => "passwd")
element.send_key "パスワード" # 入力

driver.find_element(:id => "btnSubmit").click # ボタンをクリック
258デフォルトの名無しさん (ワッチョイ 598e-ogEw)
2021/07/23(金) 15:32:55.87ID:kQCkUm+T0
>>257
死ね
259デフォルトの名無しさん (ワッチョイ 09da-qBdh)
2021/07/23(金) 17:24:51.45ID:0OT6Oc+G0
親切心が時にはあだとなるってか
260デフォルトの名無しさん (アウアウウー Sa5d-qBdh)
2021/07/23(金) 17:40:46.58ID:0F3dOXrPa
>>246
それどんなブラック企業だよ
261デフォルトの名無しさん (ワッチョイ d901-hkEz)
2021/07/23(金) 17:53:28.60ID:6EC+HAIC0
>>253
極端に語彙が少ないですよおじいちゃん
何回同じ単語使ってるの
262デフォルトの名無しさん (ワッチョイ d901-hkEz)
2021/07/23(金) 18:00:27.15ID:6EC+HAIC0
中身スカスカで単に横文字繋げただけのレスと
まじで勉強してるんだな凄いなって思うレスあるけど
お前は前者のレスしかできないんだろうね
263デフォルトの名無しさん (ササクッテロラ Sp85-JXZI)
2021/07/23(金) 18:00:29.25ID:Ukvk95sKp
マウントじじいみたいに不勉強の年寄りだと分からないだろうけどそういうのをボキャブラリーが貧困しているというんだよ
264デフォルトの名無しさん (ワッチョイ d901-hkEz)
2021/07/23(金) 18:04:18.69ID:6EC+HAIC0
えっ…?
語彙もボキャブラリーも同じ意味なんだが…
265デフォルトの名無しさん (ササクッテロラ Sp85-JXZI)
2021/07/23(金) 18:18:37.17ID:Ukvk95sKp
>>264
何でも漢字で書けばいいというものではないのだよ
一般的に使う場合、仕事で使う場合等
色々その場でしっくりくる言葉を使わなければならない。
マウントじじいみたいに1、2を壱、弐とは書かないのだよ
266デフォルトの名無しさん (ワッチョイ d901-hkEz)
2021/07/23(金) 18:21:02.29ID:6EC+HAIC0
まじでマウントしか頭にないんだな…
267デフォルトの名無しさん (ワッチョイ 09da-qBdh)
2021/07/23(金) 18:31:27.54ID:0OT6Oc+G0
みんながなかなか知らないような知識を披露するのが5ちゃんだから
268デフォルトの名無しさん (アウアウオー Sa63-tMfX)
2021/07/23(金) 18:39:24.65ID:MVJXgcySa
変数をmyで始める人いるのはなんで?
269デフォルトの名無しさん (ワッチョイ b9f8-i02A)
2021/07/23(金) 18:55:13.65ID:ysJoCm5j0
マウントだろ
270デフォルトの名無しさん (ササクッテロラ Sp85-JXZI)
2021/07/23(金) 19:01:18.16ID:Ukvk95sKp
>>268
VB.NetやC#ではMeは自分自身のインスタンスを、Myは自分自身のクラスや自分の親クラスを指したりするときに使われるから
.Net使ってた人がそういう使い方をVBAに持ち込んだか、あるいはそのひとつ前のVBAと殆ど内容が一緒のVB6辺りでそういった概念が生まれたかじゃない?
本当のところは知らんからVBAに特化して詳しいであろうマウントじじいに聞いてみたらどうだろうか。
271デフォルトの名無しさん (ワッチョイ 3368-3Z6B)
2021/07/23(金) 19:24:56.06ID:LPvoeoMA0
また論点で語れないからって無理にレスして墓穴掘ってる
終活かな
272デフォルトの名無しさん (アウアウウー Sa5d-qBdh)
2021/07/23(金) 19:42:04.51ID:YVQ7mZCGa
>>268
逆にmyではじめない人もいるよ
273デフォルトの名無しさん (ワッチョイ 09da-qBdh)
2021/07/23(金) 22:13:15.34ID:0OT6Oc+G0
Excelのオリンピックとかあったら良いと思うのにな
昔にそんなコンテスト的なのあった記憶あるけどね。
274デフォルトの名無しさん (ワッチョイ 7b68-s8C+)
2021/07/23(金) 22:30:42.85ID:UnN9imMp0
競技Excelあるよ
https://www.gamespark.jp/article/2021/06/08/109325.html
275デフォルトの名無しさん (オイコラミネオ MM55-0BqW)
2021/07/24(土) 06:15:52.05ID:EnTkrUGbM
太古のvb6.0時代の話は始めるわ
他人への回答にもいちいちマウント挟むわで
まさにマウントじじいだな
276デフォルトの名無しさん (ササクッテロラ Sp85-JXZI)
2021/07/24(土) 06:41:29.02ID:2JBUuae4p
お前も同じだよ
昨日からマウントマウント馬鹿じゃねーの
277デフォルトの名無しさん (ワッチョイ 09da-qBdh)
2021/07/24(土) 06:43:48.66ID:QPc8eVYX0
たしかに。若い連中に教えてやる感が凄いと感じた
「俺は40年やっているんだぞ!」的なジジババって感じの。
278デフォルトの名無しさん (ワッチョイ d901-0BqW)
2021/07/24(土) 06:47:59.46ID:p3oOScBd0
どこが同じなん
太鼓の6.0の話なんて始めてませんし他人に対してのレスに嫌味ったらしいマウントなんて混ぜてるのはお前だけですが
それ以前にお前がマウントマウントうるさく反応しなきゃとっくに終わってた話だぞ
279デフォルトの名無しさん (ササクッテロラ Sp85-JXZI)
2021/07/24(土) 08:28:50.45ID:2JBUuae4p
>>278
はぁ?何を訳の分からないこと言ってるの?キチガイ?
280まあ俺が言うのもなんだがw (テテンテンテン MMeb-wc+D)
2021/07/24(土) 08:45:32.95ID:k0+oky67M
>>278
> どこが同じなん
質問スレで迷惑なところ
281デフォルトの名無しさん (アウアウウー Sa5d-qQjj)
2021/07/24(土) 12:22:34.23ID:fhiAWG+La
なんぼ書いても自己満足すらできないでしょーに、非建設的すぎてお話にならない
あるいは誰かが「あなたの仰る通りです、私が間違っていました〜」とか言ってくれるのを期待してるのかしら?
282デフォルトの名無しさん (ワッチョイ 134f-JXZI)
2021/07/24(土) 13:10:27.80ID:An8LTvXg0
>>279
高齢期障害で自分でも何言ってるか分かってないんだよ
283デフォルトの名無しさん (ワッチョイ 13da-qBdh)
2021/07/24(土) 18:16:14.45ID:rbd7pVk50
よーしよしよし、いーぞー
もっと喧嘩して荒れまくれ〜
喧嘩で荒れまくるこそ5ちゃんの伝統だ
284デフォルトの名無しさん (ワッチョイ d901-0CkY)
2021/07/24(土) 19:41:14.38ID:XmkVsjH60
ベンダーロックインを避けよ!
285デフォルトの名無しさん (ワッチョイ d901-EAvU)
2021/07/25(日) 13:40:49.03ID:ZO7UEuRg0
ExcelVBAはその時代背景から鑑みてハンガリー記法(ハンガリアン記法)を採用すべきである
286デフォルトの名無しさん (スフッ Sd33-XTwd)
2021/07/26(月) 22:11:25.80ID:5kY33e3Ed
前スレ848です
ついに進展がありました

作業が発生しましたが同僚はマクロを使わせろと発狂
「属人化がこわいですからね。マニュアルどうぞ
287デフォルトの名無しさん (ワッチョイ 5163-MYQi)
2021/07/26(月) 22:20:39.53ID:gN3ZysYn0
Application.DisplayAlerts = False
でメッセージ非表示にしていますが、
「このブックには、ほかのデータソースへのリンクが含まれています」
のメッセージが出てしまいます。
更新するかしないか選ばないといけないから出てしまうのでしょうか。
勝手に「更新しない」を選んで処理を進行させる方法はありますか。
288デフォルトの名無しさん (ワッチョイ 695f-bKGf)
2021/07/26(月) 22:28:01.26ID:byaHgavb0
>>287
workbooks.openで開いてるならUpdateLinks:=Falseを付加する
289デフォルトの名無しさん (スフッ Sd33-XTwd)
2021/07/26(月) 22:47:44.24ID:5kY33e3Ed
途中送信すいません

前スレ848です
ついに進展がありました

整理するとぼく、課長、あほの3名がメインで登場するのですが、
そもそも課長は属人化を完全否定派ではなく
あほが一人でぎゃーすか騒いでいたから便宜上検討したまででした

しかしあほがそれを課の総意ととらえ威嚇してきたことからバトルは始まったようです


複数の請求書の計上先割り当て作業が発生し、速攻で同僚はマクロを使わせろと発狂
ぼく:「属人化がこわいですからね。マニュアルどうぞ!」と「各マスタのある場所から好きなマスタを使い好きな方法で抽出ください」と書いてあるマニュアルを渡す
あほ:マスタの使い方がわからないと切れ気味に脅迫してくる
ぼく:「マスタはマスタですよ!ご存じだと思いますが後学のためvlookupを復習してみては」と煽る
あほ:作業終わらず報告もない。プライドが高く依頼もできない
ぼく:請求書に手書きでいいですよ^^今日中に終わらせくださいね!ファイト!
あほ:・・・
その後別件でメールでケンカを売られまくる

また先日からあほのソロプレイを正論で嗜めることが多く、敵意を通り越して対立構造なったなあ?と思ったので
課長に「対立されて仕事す済まなくてこまるんすけど」と相談したところ
課長も扱いに困っていたらしく、「部長も常務もあほのやばさを知っているからみんなぼくの味方なので、安心して仕事いていいよ。」

という円満に終わった

しかしあほは今後も邁進し続けると思うので、ハラスメントにならない程度い追い込むつもりだよ
290デフォルトの名無しさん (ワッチョイ 118e-ogEw)
2021/07/26(月) 23:08:10.03ID:/621v/Zu0
>>289
こういう一部しか見えない馬鹿が組織を破壊する例
291デフォルトの名無しさん (ワッチョイ 7b68-s8C+)
2021/07/26(月) 23:18:13.06ID:UvVzyFl70
>>289
俺も最近知ったんだけど、マスタという概念が無い人はこの世にいるよ
そういう人たちは毎回全部の情報を全部入力するのが当たり前と思っている
292デフォルトの名無しさん (ワッチョイ 9332-WppR)
2021/07/27(火) 01:04:55.10ID:gVqOiYWt0
Excel自体はどんどん進化してるのに、VBAの開発環境(IDE)が20年ぐらい前から一切何も変わっていないのはなぜですか?
293デフォルトの名無しさん (アウアウウー Sa5d-fOmF)
2021/07/27(火) 01:52:06.29ID:YYF9/aONa
かまうからスレと関係ない話をしだすかまってちゃんが居座るんだよな
294デフォルトの名無しさん (ワッチョイ 134f-JXZI)
2021/07/27(火) 04:24:29.61ID:Q2Vxfcf10
>>289
>ぼく:「マスタはマスタですよ!ご存じだと思いますが後学のためvlookupを復習してみては」と煽る

ちょっと待て
基本的にいい感じで追い詰めているのかも知れないけどテーブル構成分からない奴にER図も渡さずこれやったらただの虐めじゃないか?
295デフォルトの名無しさん (ワッチョイ b92f-MYQi)
2021/07/27(火) 07:25:27.47ID:OW3IH1MI0
>「各マスタのある場所から好きなマスタを使い好きな方法で抽出ください」と書いてあるマニュアル

事務メインの職場だろうとシステム開発の職場だろうと、
こんなマニュアルで仕事させるとか管理職側の正気を疑うわ
296848 (スフッ Sd33-XTwd)
2021/07/27(火) 08:23:38.83ID:SN94FSfxd
レスありがとうございます

やりすぎたっぽいですね
一応各作業に使うアニュアルにはマスタお使用手順とマスタのリンクが貼ってあります
ER図というのを知らなかったので作成してみます

ありがとうございます
297デフォルトの名無しさん (テテンテンテン MMeb-A0XN)
2021/07/27(火) 08:52:12.15ID:76Sj+bMnM
>>292
MS的にはVBAは
・既に新機能の開発が終了しており、互換性のためだけに維持されている
・今後新たに利用することは推奨しない
・廃止に向けて他の技術への移行を促していく
というステージにある
進化どころか廃止に向けて意図的に不便にされていく運命にある
298デフォルトの名無しさん (ブーイモ MMcb-A0XN)
2021/07/27(火) 09:51:18.11ID:6lk4F0RuM
廃止に向けた次のステージとして考えられるのは、普通なら新バージョンのOfficeではマクロの実行のみ可でVBEは廃止だろうけど、
古いバージョンに留まるユーザーが増えるからO365をどんどん売りたいMSとしてはそれは無さそう
マクロの実行にはレジストリの編集が必要、VBEはMSのサイトの奥深くから別途自分でダウンロード、あたりかな
299デフォルトの名無しさん (エムゾネ FF33-Hgw+)
2021/07/27(火) 16:10:43.12ID:Dog97BpdF
スマタは使用禁止用語になったんじゃないのか
300デフォルトの名無しさん (ワッチョイ 0bda-qBdh)
2021/07/27(火) 16:50:24.81ID:RY5xZe5o0
マスタは使用禁止になりマスタ
301デフォルトの名無しさん (ワッチョイ 81da-qBdh)
2021/07/27(火) 17:04:06.26ID:CdbbvAj70
ここもExcelスレと同じで質が落ちてきてねえか?
302デフォルトの名無しさん (ワッチョイ b15f-1bXb)
2021/07/27(火) 20:05:02.99ID:rQxgpXQC0
>>297
というわりにはスピルなんかは提供されてるじゃん
303デフォルトの名無しさん (ワッチョイ 8119-MYQi)
2021/07/27(火) 23:55:40.56ID:t8GWtc170
287>>288
できました、ありがとう先生!
304デフォルトの名無しさん (ワッチョイ 7bba-uKiw)
2021/07/28(水) 00:07:17.74ID:PzJWsUeb0
microsoft sqlserverに、エクセル側からエクセルにあるデータをインポートするにはどのようにすればよいですか?
305デフォルトの名無しさん (ワッチョイ d901-EAvU)
2021/07/28(水) 01:31:52.64ID:Ky1rxZdm0
>>297
VBA代替がない限りその説は苦しくないか?
306デフォルトの名無しさん (ワッチョイ 695f-bKGf)
2021/07/28(水) 05:47:03.47ID:FMiGC/5E0
>>304
SQL Server Management Studio使えばインポートできるけど、VBAスレで聞くと言うことは違うか
307デフォルトの名無しさん (ワッチョイ 81da-qBdh)
2021/07/28(水) 07:33:21.04ID:ogvMN+9Q0
確かに
308デフォルトの名無しさん (アウウィフ FF5d-Hgw+)
2021/07/28(水) 10:37:52.45ID:I0vZ6ZDJF
エクセル側からエクセルにあるデータをエクスポート

なら答えられるけど
309デフォルトの名無しさん (オイコラミネオ MM55-hkEz)
2021/07/28(水) 12:24:20.53ID:+C1a7ZjYM
>>289
属人化はダメだけど属人化の塊のマクロは使わせろってどういうことだ
矛盾してるだろ


ってアホに言ってみてくれよ
どうせ屁理屈と罵倒で誤魔化すタイプなんだろうけど
どう返答するか興味ある
310まあ俺が言うのもなんだがw (ワッチョイ 1301-wc+D)
2021/07/28(水) 21:46:44.12ID:DwPtwRV40
>>304
速度求めないならVBAからADODBとかでSQL-Serverに接続してひたすらデータをinsertすればいいかと
https://itsakura.com/excel-vba-sqlserver-insert
速度求められたらSQL-Serverがアクセスできる場所にcsvで保存してbulk insertかなぁ
https://docs.microsoft.com/ja-jp/sql/t-sql/statements/bulk-insert-transact-sql
311デフォルトの名無しさん (ワッチョイ fba4-NGUt)
2021/07/29(木) 00:37:05.63ID:5P0jxKPl0
プログラム経験もなく新しくvbaの勉強を始めたのですが学習にオススメのサイトはありますか?
今まではやりたい事を探してコピペして作ってたのですが、
自分で書こうとしたらシート名やインデックスやオブジェクト名やらが違うことに気づいて困惑しているレベルです
みなさんが使ったものやわかりやすい参考書やサイトがあれば教えてください
312デフォルトの名無しさん (ワッチョイ 118e-ogEw)
2021/07/29(木) 01:48:58.35ID:qJ9+RPMT0
>>311
君のレベルなら、「よいこ」とか「めばえ」かな
313デフォルトの名無しさん (ワッチョイ 1301-0QqW)
2021/07/29(木) 04:50:12.68ID:tInYj70a0
>>311
最初はでかい本屋行って立ち読みしてわかりやすそうなの選んで買ったわ
その後はアマゾンで適当に評判いいのを選んで買った
辞書代わりに調べるのはネットでいいけど
体系的にちゃんと理解するには本かな
おれは何冊か買って読んだ
VBAは学習者が多いから本も充実してて勉強しやすいよ
俺が始めたのは何年も前だから今出てる本買ったらいいと思うわ
314デフォルトの名無しさん (ワッチョイ 81da-qBdh)
2021/07/29(木) 08:28:17.88ID:qje0bdaJ0
>>311
ない
しいて言えばマイクロソフトのヘルプ
上級者はヘルプ見て解決している
315デフォルトの名無しさん (スフッ Sd33-XTwd)
2021/07/29(木) 08:58:17.59ID:1hQ5YU2Kd
>>311
基礎をyoutubeで見て覚えて
関数(vlookupとか)を自作してみるとかなり学べるよ
316デフォルトの名無しさん (ワッチョイ 7128-7Azn)
2021/07/29(木) 09:17:05.41ID:KHPuP3g90
まずは1枚のシート操作だけで完結するものから作ればいい
〇〇の集計とか〇〇の抽出とかね

でも大抵1枚のシート操作だけしかしないものって関数やピボットテーブルでもできたりするので、その感覚もわかっておくとExcel全般に強くなっていいよ
317デフォルトの名無しさん (ラクッペペ MMeb-iYJ6)
2021/07/29(木) 11:41:13.92ID:tRu2KZQaM
よくある、何がわからないのかが分からないと言う奴だね
318デフォルトの名無しさん (ブーイモ MMeb-7kQ6)
2021/07/29(木) 11:48:06.66ID:uh8iBAiRM
マクロの記録で作成されたコードを解読する
319デフォルトの名無しさん (アウアウウー Sa5d-qBdh)
2021/07/29(木) 11:59:17.77ID:tRfdKqE2a
自分に合ったサイトや本を自力で見つけられないようじゃ
そこまでの事しかできないでおわり
320デフォルトの名無しさん (アウアウアー Sa8b-NGUt)
2021/07/29(木) 13:38:20.23ID:e5dLz96Qa
>>319
迷ったら出来る人に聞いて即やってみる
学習の最適解だよ

基礎学習レベルに才能は関係ない
もし教材探しも勉強って言いたいなら効率悪いよ

>>311
エクセルの真髄100本ノック
コードもあるし参考になる
シートとワークシートの違いとか初心者が気になる事も書いて有る
細い疑問点が残るのは気持ち悪いけど、今は習うより慣れろ
321デフォルトの名無しさん (アウアウウー Sa5d-qBdh)
2021/07/29(木) 15:05:38.21ID:pwjhwPgXa
そうやって教えてもたぶん読まないよ
322デフォルトの名無しさん (ワッチョイ 13da-qBdh)
2021/07/29(木) 15:07:10.72ID:pbMKJSnE0
トレーナーは口を揃えて「ヘルプ見ろ」という
だからヘルプ最強
323デフォルトの名無しさん (エムゾネ FF33-Hgw+)
2021/07/29(木) 17:04:51.77ID:32nRf9uoF
>>318
最初はそれで良いかも知れないが
マクロが吐くコードって無駄が多過ぎて無理
324デフォルトの名無しさん (テテンテンテン MMeb-TIaQ)
2021/07/29(木) 17:33:28.86ID:yKiDVYkeM
マクロ記録だと分岐とかループが出ないよね
325デフォルトの名無しさん (オイコラミネオ MM55-hkEz)
2021/07/29(木) 18:53:26.13ID:5dr8dF92M
マクロはwithのせいでぐちゃぐちゃな上に
無駄なコードが死ぬほどついてくるから初心者の解読には向かない
326デフォルトの名無しさん (ワッチョイ 4901-bSA8)
2021/07/29(木) 19:47:25.20ID:2QmJme0a0
それ以前に、MS言語を避けるべき。
327デフォルトの名無しさん (スフッ Sd33-XTwd)
2021/07/29(木) 20:08:39.08ID:1hQ5YU2Kd
初めてピボットテーブルのマクロ記録を見た時は冷や汗をかいたな
マクロ記録から攻略するのはやめたほうがいい
328デフォルトの名無しさん (ワッチョイ 7b68-s8C+)
2021/07/29(木) 20:21:16.09ID:zVCmdr7a0
ピボットの自動記録は酷いな
一行で済むところが20行ぐらいになる
罫線もそんなだったような
329デフォルトの名無しさん (ワッチョイ b15f-1bXb)
2021/07/29(木) 20:36:06.86ID:ImacXrDI0
>>311
会社にあった参考書とエクセルの神髄で勉強した
困ったときはインストラクターのネタ帳
クラス使うようになったらthomのブログ
330デフォルトの名無しさん (ワッチョイ 7128-7Azn)
2021/07/29(木) 21:05:47.52ID:KHPuP3g90
マジでピボットの記録は正気の沙汰じゃないよな

あと、普通の記録だとSelectとSelectionが余分なのに初心者はそれを使うのが最適だと思っちゃうからダメ

さらに図形とかのObjectとかのTextRangeだとマクロ記録のSelection省略しただけじゃうまく動かなくて混乱するし

あとは他でも言われてるようにIfとかAndとかOrとかLoopとか変数とか学べないしね
331デフォルトの名無しさん (ワッチョイ 134f-JXZI)
2021/07/29(木) 21:14:45.50ID:ddohEedh0
>>326
そういう人はVBAスレから去るべき
332デフォルトの名無しさん (スッップ Sd33-ffzJ)
2021/07/29(木) 23:42:59.81ID:1PJWae7Yd
>>331
まじこれ
Excel使いながらベンダーロックとか騒いでるのが爆笑なんだがww
黙ってGoogleスプレッドシートでも使いながらGoogleにロックされてろよww
333デフォルトの名無しさん (ワッチョイ d901-EAvU)
2021/07/29(木) 23:51:41.95ID:p4SukJyH0
ExcelVBA MS言語
ACCESSVBA MS言語
Python MS言語
VB.NET MS言語
C# MS言語
C/C++ 準MS言語

Ruby 松本言語
PHP 公式な規格なし。事実上の私言語。Rubyと同格
Perl オワコン

JavaやGOはじめほかの言語もだいたいGoogleやその他企業の私物

ベンダーロックされない言語などあるのだろうか?
むしろ国際規格をきっちり定めているMS言語はもはやベンダーアンロックではないか?
334デフォルトの名無しさん (ワッチョイ 7b68-s8C+)
2021/07/29(木) 23:58:22.70ID:zVCmdr7a0
>>333
国際規格で草
その国際規格を制定するメンバーは大抵intelやmicrosoftなどの大手企業
html5に至っては消滅したわ
335デフォルトの名無しさん (ラクッペペ MMee-quiU)
2021/07/30(金) 00:35:30.86ID:4LnMwhZSM
国際標準ならECMAやISO、日本標準ならJIS
336デフォルトの名無しさん (ワッチョイ 5d01-By/s)
2021/07/30(金) 04:01:44.41ID:AGz2ssQM0
ヒキニートの言う事より、あわしろ氏を信じる。
337デフォルトの名無しさん (ワッチョイ fada-eGh2)
2021/07/30(金) 13:35:36.57ID:F+iyq/jq0
そりゃニートは潤沢に時間があるからいくらでも勉強し放題だしな
詳しいわけだな
338デフォルトの名無しさん (ワッチョイ 6501-tWs3)
2021/07/30(金) 13:55:06.34ID:egyKewAD0
>>334
そう、つまりMS言語は国際規格になっているのでベンダーロックインはあり得ないということ
逆にRubyは国際規格ではないし開発者が勝手に仕様を頻繁に変更する
これは今までに実績があるし本人が言ってる事
さらに言えばRubyはRailsがあってこそ初めて成り立つ開発言語
言語仕様からコンパイラ、エディタ、ドキュメント、サポートまで全て一社でサポートしているMSとは比べようもないリスクがある

Javaを見ただろうか?
MS言語ではないばかりにあんな事になっている
Rubyを見ただろうか?
バージョンアップごとに対応作業に追われている
しかもRubyの変更とRailsの変更で2倍の対応工数をとられる

MS言語はVB6(1991年発売)が今でも第一線で働いている
ExcelVBA(1993年)なんてここ数年でさらに盛り上がりを見せている
もっとさかのぼると1980年代にはBASICは今とかなり近い文法が完成されており
1985年のQuickBASICに至ってはほぼ今のVBと変わらぬ開発環境を整えており36年にわたって同じ開発環境が通用していることを示している

移り変わりの激しいIT業界で36年だ!それがMS言語の息の長さであり変わらぬことの強さなんだ

MS言語を信じなさい。MS言語に導かれよ!!
339デフォルトの名無しさん (ワッチョイ 7a4f-wpX5)
2021/07/30(金) 14:00:09.98ID:omgprq0F0
>>338
あー
だからRubyってあんなに年収やっすいんだね
340デフォルトの名無しさん (ブーイモ MMf1-uepD)
2021/07/30(金) 14:09:56.93ID:eptPeGDTM
国際規格じゃなくて
デファクトスタンダードな
341デフォルトの名無しさん (ワッチョイ 4ea4-qtbA)
2021/07/30(金) 19:01:26.28ID:L6BL7yno0
レンジ上で足し合わせて入力はできないのでしょうか?
range(c1:c2)=range(a1:a2)+range(b1:b2)
だとエラーになってしまいます

range(c1:c2)=range(a1:a2)
これはできますが…
342デフォルトの名無しさん (アウアウウー Sa09-iH1+)
2021/07/30(金) 19:49:10.10ID:XTDmAoXAa
Valueの概念をググッといて
343デフォルトの名無しさん (ワッチョイ d610-VZbZ)
2021/07/30(金) 21:11:34.63ID:qdQMd8Fb0
オフィススプリクト?だかに移行したいが
VBユーザーがどうにもならんのよ
344デフォルトの名無しさん (ワッチョイ 6501-+xNC)
2021/07/30(金) 21:13:59.49ID:4AGntX9d0
いや両方載せればいいだけじゃん
345デフォルトの名無しさん (ワッチョイ d128-iH1+)
2021/07/30(金) 21:25:29.88ID:CiBkTLYM0
>>341
もし会社とかでこんなこと訊かれたら頭抱えるわ…
346デフォルトの名無しさん (ワッチョイ a1fd-kuPr)
2021/07/30(金) 21:42:30.69ID:zYpnMfjf0
>>341
雑に説明するとね
Rangeは箱で入力されているデータは箱の中身なんだ
だからRange(B1:C1)=Range(B2:C2)みたいにA2:B2って箱をA1:B1に複製する事は出来る
でもあくまで箱そのものを操作するだけだから箱の中身をいじる事はできない
ならどうするかっていうと箱の中身を箱から出してやる必要がある
その為には値を1つ1つ指定してそれぞれで計算してあげなきゃいけないんだ
だからRange(″A1″).Value=Rang(″B1″).Value+Range(″C1″).Value
Range(″A2″).Value=Rang(″B2″).Value+Range(″C2″).Value
ってやるのが正しい
347デフォルトの名無しさん (ワッチョイ 79ad-4g3S)
2021/07/30(金) 21:42:52.63ID:91KFOglq0
なんで頭抱える必要があるんだよ
「できない」の一言で会話打ち切りゃ良いだけじゃん
348デフォルトの名無しさん (ワッチョイ 65ba-Gkqf)
2021/07/30(金) 22:24:06.27ID:lExP/Tyw0
>>333
CがMS言語って・・・
K&RがCを開発したのが1972年、マイクロソフト創業が1975年だぞ
349デフォルトの名無しさん (ワッチョイ 6501-+xNC)
2021/07/30(金) 22:24:33.76ID:4AGntX9d0
スピルでやれって感じ
350デフォルトの名無しさん (テテンテンテン MMee-YEAj)
2021/07/30(金) 22:40:24.48ID:6IY+PAJYM
>>341は別にそんなにおかしな発想ではないと思うけどな
Rangeに対する別のRangeが値のコピーになるのはRangeに対する代入操作が特別にそのように定義されているから(デフォルトプロパティ)で、>>346の言うような「箱」じゃ説明がつかない
=が特別扱いされるなら同様にRange同士の演算が定義されていたって何ら不自然なことはなくて、たまたまそういう仕様になっていないだけだ
351デフォルトの名無しさん (アウアウウー Sa09-iH1+)
2021/07/30(金) 22:53:33.06ID:GVWaTyU8a
SumなりUnionなりあるじゃん
それも「できます」ってのもできてないし
352デフォルトの名無しさん (ブーイモ MM69-YEAj)
2021/07/30(金) 23:00:06.71ID:xRZDPXU/M
もっともらしい説明をするとしたら、
Rangeはあくまでシート上の特定の範囲を指すものであって、必ずその値はシート上に実際に存在していなければならない。
z = x + y は x + y を先に演算してその結果を z に代入するわけだが、Range同士の加算を行った時点では結果の代入先がまだ決まっていない。
従って、必ずシート上に値が存在しなければならないというRangeの定義に矛盾する。
でも実際これは詭弁で、Range同士の加算がRangeではない行列みたいな値を表すオブジェクトを返し、それをRangeのデフォルトプロパティが受け容れればいい話なんだよね
353デフォルトの名無しさん (ワッチョイ d52f-QEAr)
2021/07/31(土) 00:35:02.17ID:/OoU0klK0
Rangeが箱みたいなものってのはまあ良いんだが
VBAではRangeのようなオブジェクトに対する演算とかはできなくて、その場合は箱の中身(デフォルトプロパティ)を演算する

Range("C1:C2") = Range("A1:A2") + Range("B1:B2")がエラーなのは、 Range("A1:A2")の中身が足し算できないものだから
結果の代入先が決まってないとかじゃなくて、結果を出せないからエラーなんだよ
354デフォルトの名無しさん (アウアウクー MMc5-qtbA)
2021/07/31(土) 00:42:26.77ID:mCBqZyxbM
>>341
少し違うけど似た事は毎回思う
表計算ならc列=a列×b列〜z列みたいな処理が普通だしそういった列ごとの記述はないの?
355デフォルトの名無しさん (ワッチョイ cd8e-Z1qT)
2021/07/31(土) 00:46:23.19ID:mBcGx4p70
>>341
馬鹿は足し算しかしないの?
356デフォルトの名無しさん (ワッチョイ 8e68-hLv5)
2021/07/31(土) 01:07:37.07ID:z2VXpram0
配列大好きなphpにも無いし諦めて
357デフォルトの名無しさん (ブーイモ MMbe-uepD)
2021/07/31(土) 02:01:59.82ID:zyTpcIefM
numpyじゃねーし
358デフォルトの名無しさん (ワッチョイ 4ea4-qtbA)
2021/07/31(土) 02:12:54.61ID:VZqzqhPL0
ありがとうございます
出来ないんですね
私の書き方が悪くてエラーになっているのかと思っていました

演算張り付けやスピルみたいなイメージで
似たようなことが出来るのかなあと考えていました

>>356.353.352.350.347.346
359デフォルトの名無しさん (ワッチョイ cd8e-Z1qT)
2021/07/31(土) 03:57:57.92ID:mBcGx4p70
>>358
単にお前が馬鹿なだけ
行列計算とか言ってたのならわからんでもないけど
360まあ俺が言うのもなんだがw (ワッチョイ 7a01-stwz)
2021/07/31(土) 07:18:03.75ID:m7lSxL/B0
>>341
Valueの概念とか謎の箱理論とかは無視していいw
>>350の言うように言語仕様としてできないだけ
RANGEじゃないけどFORTRANみたいに配列同士の演算ができる言語もある
361デフォルトの名無しさん (ワッチョイ f15f-55B1)
2021/07/31(土) 07:34:59.93ID:gz49wtMt0
rangeは範囲だから2セルの範囲に4セル分は入らない
362デフォルトの名無しさん (アウアウウー Sa09-4g3S)
2021/07/31(土) 09:51:11.76ID:BQeiJ/1Ba
念のため言っとくがイキって煽り散らしたいだけのハゲは無視しとけな
363デフォルトの名無しさん (ワッチョイ fada-eGh2)
2021/07/31(土) 13:09:56.95ID:54/p9ERo0
バカバカバカバカ言わないでよ
もっと平和的にやりとりできないの?
こんなに優れた無料の質問スレなんだから品位を保つべき
364デフォルトの名無しさん (ワッチョイ 1668-IKHw)
2021/07/31(土) 13:15:16.77ID:TRd8RGa80
ならまずは>>363がドレスコードを守ってくれ
365デフォルトの名無しさん (JP 0Hf1-IKHw)
2021/07/31(土) 13:26:23.66ID:r3PlISUvH
当スレは頭の寂しい方はお断りしておりますので
366デフォルトの名無しさん (ワッチョイ 8e68-hLv5)
2021/07/31(土) 13:26:59.26ID:z2VXpram0
>>363
なにか勘違いしているようだ
平和とか無料とか、どこかでコストがかかっている。それは誰かが負担している
「日本の平和」はアメリカの核の傘による米軍基地がコスト
掲示板の「無料」は広告。広告が実質ない5chなら、罵倒やマウンティング好きなアホが紛れる事がコストなんだ

君は
・「重火器が飛び交う戦場で無償で敵味方にその場で教えてもらう」
って事をしているんだ
もし平和的に回答がほしいなら、先に「おもしろ画像貼りますんでなんとか解決お願いします!」
みたいにすれば色々と有線して解決してもらえるんじゃないかな
367デフォルトの名無しさん (ササクッテロラ Sp05-wpX5)
2021/07/31(土) 15:03:38.39ID:yzAefFWlp
>>363
マウントじじいが貢ぎもの差し出せって。
でもこんな頭のおかしい連中ばかりじゃないから気にしなくていいよ。
368デフォルトの名無しさん (スフッ Sd9a-LW7E)
2021/07/31(土) 15:37:59.04ID:Opw93OJSd
power queryがなかなか覚えられない
みなさんLETは使ってる?
369デフォルトの名無しさん (ワッチョイ 16da-IKHw)
2021/08/01(日) 00:37:47.31ID:ayuPdfaZ0
スレ間違ってないか?
370デフォルトの名無しさん (ワッチョイ fada-eGh2)
2021/08/01(日) 16:26:51.08ID:12Gisk1n0
バカって言うヤツがバカなんだよ!
371デフォルトの名無しさん (ブーイモ MMf1-W6gZ)
2021/08/01(日) 18:09:12.14ID:xwQRbrXaM
と、バカが申しております。
372デフォルトの名無しさん (ワッチョイ 1628-Gkqf)
2021/08/01(日) 19:13:18.52ID:hqZEeiIx0
馬鹿ばっかりだな
373デフォルトの名無しさん (ワッチョイ 1668-IKHw)
2021/08/01(日) 19:46:33.48ID:RrQoAxKz0
むしろ寂しがり屋なのでは
374デフォルトの名無しさん (ブーイモ MMbe-j+NH)
2021/08/01(日) 20:59:52.11ID:SyCmN3PQM
ハゲばっかりやな
375デフォルトの名無しさん (ワッチョイ fada-eGh2)
2021/08/01(日) 21:21:35.58ID:12Gisk1n0
毛の話しろよ
376デフォルトの名無しさん (ワッチョイ fa42-CN3H)
2021/08/01(日) 22:28:03.58ID:PkMCEWYW0
不毛だな
377デフォルトの名無しさん (ブーイモ MMbe-j+NH)
2021/08/02(月) 01:09:21.06ID:H8/w6NZQM
そんなつもりは毛頭ないのですが
378デフォルトの名無しさん (スップ Sd9a-yrtv)
2021/08/02(月) 13:19:27.48ID:UEok/DKqd
お前は頭髪がない
379デフォルトの名無しさん (スフッ Sd9a-IKHw)
2021/08/02(月) 13:22:42.78ID:T+xK0N6pd
俺の芋頭がこんなに頭髪ないわけがない
380デフォルトの名無しさん (ワッチョイ fada-eGh2)
2021/08/02(月) 18:21:53.57ID:R1Xzu7pP0
でもおまいらは禿げてるんでしょ?
381デフォルトの名無しさん (ワッチョイ 257c-EItT)
2021/08/02(月) 23:15:41.33ID:x232xQhs0
>>358
クッソ亀だけどこれでいけない?
Range("C1:C2") = [A1:A2 + B1:B2]
382デフォルトの名無しさん (ワッチョイ ba32-i0sM)
2021/08/04(水) 00:57:35.42ID:0L18Nxkj0
>>370
バカって言うヤツがバカって言うヤツがバカなんだよ!
383デフォルトの名無しさん (ワッチョイ fada-eGh2)
2021/08/04(水) 14:28:57.13ID:lGrUtpF/0
うるせーバカ!
384デフォルトの名無しさん (ワッチョイ 8e68-hLv5)
2021/08/04(水) 15:03:01.69ID:09lFZjv40
相手を見下すというのはそれ相応の教育しかない方が行う所作であります故
385デフォルトの名無しさん (アウアウウー Sa09-eGh2)
2021/08/04(水) 15:54:39.96ID:jCZ4Eczla
アホだ
386デフォルトの名無しさん (ワッチョイ 8eba-By/s)
2021/08/04(水) 16:41:44.16ID:IdaynBO00
マウスで選択した範囲のハイパーリンクを自動で開きたいんですがどこを変更すればいいでしょうか?
Aにハイパーリンク A2からA4をマウスで選択 
A1 B1 C1
A2 B2 C2
A3
A4

A99 B99 C99

Sub Macro1()
' Keyboard Shortcut: Ctrl+Shift+P
Dim SelectionArea As Range
Set SelectionArea = Selection
Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
End Sub
A5
387デフォルトの名無しさん (アウアウウー Sa09-iH1+)
2021/08/04(水) 17:04:08.48ID:IZchSkQ4a
>>386
SelectionのRangeをFor Eachで回してひとつひとつ開いていく
のがVBAの一般的な回答になるかと
388デフォルトの名無しさん (ワッチョイ f15f-55B1)
2021/08/04(水) 17:16:32.22ID:5a+p99Z60
変数に入れてる意味なくて草
389デフォルトの名無しさん (ワッチョイ 8e68-hLv5)
2021/08/04(水) 17:19:31.98ID:09lFZjv40
>>388
変数に入れるかどうかは「わかりやすさ」が関係してくるよ
個人開発が大きいVBAでその度合いを嘲笑するのは良くないと思う

ただ、386は俺も何やってるかよくわからん
390デフォルトの名無しさん (アウアウウー Sa09-9imK)
2021/08/04(水) 18:15:11.64ID:Ww92yPFZa
テーブルで、フィルタしたあとの行削除をマクロの記録でやりたいけどうまくいかない。
フィルタして出たのが1行だとうまくいくけど、複数だとエラー。

テーブルがある。ある一つの列の、特定の文字をフィルタする。(その文字がないときはマクロ押さないつもり)
その列の上の下矢印で全選択、可視セルのみ選択。タブの行削除。フィルタ解除。
この流れってマクロの記録じゃムリ?
1行
で1004エラー?
391デフォルトの名無しさん (ブーイモ MMbe-kuPr)
2021/08/04(水) 18:44:53.04ID:bSPJ2kBBM
マクロで処理するならフィルター要らないかな
記録だけでコード書くのは無理がある処理かな
392デフォルトの名無しさん (ブーイモ MM9a-uepD)
2021/08/04(水) 18:51:01.89ID:7NmqzzLqM
ムリ
393デフォルトの名無しさん (ワッチョイ d610-VZbZ)
2021/08/04(水) 20:15:52.27ID:14yWBG2X0
マクロの記録だけで業務改善する職場って未来あるよな
394デフォルトの名無しさん (ワッチョイ fa42-CN3H)
2021/08/04(水) 20:43:15.85ID:b6iWr/iv0
未来は僕等の手の中
395デフォルトの名無しさん (アウアウウー Sa09-9imK)
2021/08/05(木) 14:48:49.27ID:+e5nazzCa
390ですがインストラクターのネタ帳ってとこの改造してみたらできるようになりました(毎回エラーでるけど成功してるので気にせず😌)。

p.s.
印刷時の見た目だけがいい、セル結合された表テンプレで作業を求められる同士が救済されますように…。。
396デフォルトの名無しさん (ワッチョイ 895f-mZ8Y)
2021/08/06(金) 16:13:36.56ID:T/jNWxQK0
ドの付く初心者です、というよりこういうのを作るのも初めてです

Findで任意の文字列が入ったセルを取得して、A1からそのセルまでを削除するマクロを作りたいのですが
Findの返り値がRangeなので削除するときの範囲指定がうまくいきません
たぶん基礎的なところを理解してないのでダメなんだとは思うんですが、とっかかりが欲しいです
お力をお貸しください

Dim rng As Range
Set rng = ThisWorkbook.Worksheets(1).Range("A1:A10000") _
.Find(What:="SUGOI", LookAt:=xlWhole, SearchOrder:=xlByRows)
これでrngに任意の文字列の座標を取得

この後ろでRange().Delete使って消したいです
397デフォルトの名無しさん (オイコラミネオ MMed-lHUs)
2021/08/06(金) 17:02:36.53ID:Oz5kLkmeM
.range(.cells(1,1),.range(適当な範囲)).delete
398デフォルトの名無しさん (ワッチョイ 6bda-Z6Ah)
2021/08/06(金) 20:18:49.98ID:8V+dHMZB0
削除して無くなったセルを詰めるのだろうか
399デフォルトの名無しさん (ブーイモ MM33-3gcB)
2021/08/06(金) 20:58:11.36ID:3pn6mo5YM
マクロの記録で、、、
400デフォルトの名無しさん (ワッチョイ 895f-jFcm)
2021/08/06(金) 20:58:32.58ID:ZjxmW7bq0
どういう範囲指定か分からんけど返り値のRange.Rowで行数も取れるよ
FindはExcel上のCtrl+Fにも影響するからForEachで検索するようになったな
401デフォルトの名無しさん (スプッッ Sd33-mZ8Y)
2021/08/07(土) 13:00:42.96ID:slTH9qD1d
>>397-400
皆様アドバイスありがとうございます

この土日はPCに触れられないため、助言をすぐ実践!とはいきませんが
いただいた助言、ありがたく試させていただきます
402デフォルトの名無しさん (ワッチョイ 1b8c-kp8q)
2021/08/07(土) 16:23:06.08ID:IR0XtVNG0
Range("A1",rng).clear
Deleteじゃなくてクリアしたいならこれ
403デフォルトの名無しさん (ワッチョイ 895f-jFcm)
2021/08/08(日) 08:21:09.95ID:ebb310K00
クラスでメインコードがすっきりとしていると機能追加も楽だね
404デフォルトの名無しさん (ワッチョイ 9b68-uW5m)
2021/08/08(日) 10:53:34.69ID:Yzbpuv/w0
コード書いてる時ってどんな気分ですか?
405デフォルトの名無しさん (ワッチョイ 6b68-Z6Ah)
2021/08/08(日) 10:59:34.31ID:5UdbG2j90
パズル解いてる気分
406デフォルトの名無しさん (スプッッ Sda3-Z6Ah)
2021/08/08(日) 11:24:54.00ID:XIbBz2idd
めんどくせー
結果だけ欲しい
407デフォルトの名無しさん (ワッチョイ 1342-v6jM)
2021/08/08(日) 11:53:06.78ID:/228TsvP0
外注すればいいんじゃね
408デフォルトの名無しさん (ワッチョイ 13ad-ARME)
2021/08/08(日) 15:58:39.73ID:wvip2OSH0
たしかにパズルだな
409デフォルトの名無しさん (ワッチョイ 9332-mBWR)
2021/08/08(日) 16:26:56.76ID:gGBnC+Z00
美少女パズルRPG「パズルガールズ」
Excel VBA 質問スレ Part72 YouTube動画>8本 ->画像>7枚
410デフォルトの名無しさん (ブーイモ MM85-hxGp)
2021/08/08(日) 16:30:40.54ID:N9yN2q6hM
VBAなんて所詮操作の
411デフォルトの名無しさん (ブーイモ MM85-hxGp)
2021/08/08(日) 16:31:53.22ID:N9yN2q6hM
失礼
VBAなんて所詮操作の自動化なんで、慣れたらパズルというより手順書書くようなもんだ
どっちかというとワークシート関数を使いこなすほうがパズル
412デフォルトの名無しさん (ワッチョイ eb63-Lto6)
2021/08/08(日) 23:30:31.22ID:jh5zCN5Z0
ActiveWorkbookが入っているフォルダの名前の先頭に
ActiveWorkbookのSheets(1).Range("A2").Valueを付けたいです。
しかしフォルダ名の取得に失敗しています。
ActiveWorkbook.Path(フルパス)を\で区切った最後の文字列だと思いますが
もっと手短に取得する方法があったら教えてください。
413デフォルトの名無しさん (ワッチョイ d101-lHUs)
2021/08/09(月) 00:14:13.54ID:9VfepREK0
名前分解=split(名前,"\")(ubound(split(名前,"\"))
414デフォルトの名無しさん (ワッチョイ d101-lHUs)
2021/08/09(月) 00:43:14.90ID:9VfepREK0
あっカッコが足りない
415デフォルトの名無しさん (ワッチョイ 6bda-Z6Ah)
2021/08/09(月) 17:35:43.32ID:gGnrAdRU0
ださっ
416デフォルトの名無しさん (ワッチョイ d1ba-yyuh)
2021/08/10(火) 18:56:58.22ID:9fiWluCI0
FileSystemObject使えばいいんじゃね?
ファイルそのものを操作しないならちょっと面倒に感じるかもだけど
417デフォルトの名無しさん (ワッチョイ 9b68-uW5m)
2021/08/10(火) 21:44:06.51ID:dMuyff760
やや冗長だけど、fsoは使って損は無いと思う。¥とsplitは頭が疲れる

Sub foo()

Set fso = CreateObject("Scripting.FileSystemObject")
Set mybook = fso.getfile(ThisWorkbook.FullName)

Set mybook_parent = mybook.parentfolder
Header = ActiveWorkbook.Sheets(1).Range("A2").Value
Debug.Print Header & mybook_parent.Name

End Sub
418デフォルトの名無しさん (ブーイモ MM95-3gcB)
2021/08/10(火) 23:53:30.63ID:Xm+HKu32M
splitが楽だと思うが、、、
419デフォルトの名無しさん (ワッチョイ 6b8f-+f9r)
2021/08/10(火) 23:57:50.14ID:plMJ/ypm0
>>404
締切のある「数独」
420デフォルトの名無しさん (ワッチョイ 0101-YN7O)
2021/08/11(水) 02:05:15.42ID:yV4dFjvN0
>>413
ubound(split は禁じ手って言われてる
421デフォルトの名無しさん (ブーイモ MM85-Z6Ah)
2021/08/11(水) 02:19:37.21ID:T0yXhT3EM
>>420
なんで?
同じ処理を2回やってるから配列変数に入れたくなるけど、禁止するほどの理由でもないし
422デフォルトの名無しさん (ワッチョイ 895f-jFcm)
2021/08/11(水) 04:35:09.41ID:KlHs/LBx0
InstrRevじゃだめなん?
423デフォルトの名無しさん (JP 0H73-tV31)
2021/08/11(水) 05:55:28.37ID:LQvUe8o6H
文字列として取得したいだけならまだしも、フォルダ名変えたいんでしょ?
普通にFileSystemObject使った方がいいよ
424デフォルトの名無しさん (ワッチョイ 312f-Lto6)
2021/08/11(水) 12:03:15.14ID:pcBI0cgA0
なんにしても、開いてるエクセルのあるフォルダの名前とか変えれんと思うのだがのう
425デフォルトの名無しさん (ブーイモ MM33-52IO)
2021/08/11(水) 12:29:18.95ID:oEEdpHhhM
フォルダ作って、開いてないファイルは移動して、開いてるファイルは新しいフォルダーに名前を付けて保存ってして、
最後に要らんフォルダとファイルを消せばリネームしたように見える(見えるだけ)
426デフォルトの名無しさん (ワッチョイ 9b68-uW5m)
2021/08/11(水) 12:30:50.00ID:N26Fs5+x0
20180811_フォルダ名
みたいにバックアップつくル目的かと思ってた
427デフォルトの名無しさん (ワッチョイ 312f-Lto6)
2021/08/11(水) 13:00:28.54ID:pcBI0cgA0
リネームすらできないのに、どうやって自分自身を含むフォルダを削除できるんだ?
428デフォルトの名無しさん (ラクッペペ MM8b-OMgf)
2021/08/11(水) 13:04:20.40ID:dnSnLDjMM
名前をつけて保存
429デフォルトの名無しさん (ブーイモ MM8b-3gcB)
2021/08/11(水) 13:08:03.81ID:jh4/giPJM
非同期でスクリプトを実行してから
自分を閉じる
スクリプトの動作は一定時間スリープしてからフォルダごと削除
で、できる?
430デフォルトの名無しさん (ワッチョイ 312f-Lto6)
2021/08/11(水) 13:19:34.76ID:pcBI0cgA0
基本的にはそれでできるだろうけど、
権限の問題とか、ファイルがルートに置かれてたりしたときとか、考慮点はいっぱいある
431デフォルトの名無しさん (アウアウウー Sa55-FoHg)
2021/08/11(水) 13:24:26.65ID:4Gud1KwJa
自分が書いたコードを公開すればいいのに、みなさんよくこの質問を答える気になるね
432デフォルトの名無しさん (ワッチョイ 6bda-Z6Ah)
2021/08/11(水) 15:19:39.84ID:BgXnPp0P0
そう思うなら自分が書いたコードを公開すればいいのに
433デフォルトの名無しさん (ワッチョイ b168-Z6Ah)
2021/08/11(水) 16:01:47.79ID:wST2jK7f0
的外れ
434デフォルトの名無しさん (ラクッペペ MM8b-OMgf)
2021/08/11(水) 18:18:12.44ID:6659knn7M
答える方もテキトーだから気にするな
435デフォルトの名無しさん (アウアウウー Sa55-zfXN)
2021/08/11(水) 22:13:22.02ID:0mcLwEZRa
的を得る?的を射る?
436デフォルトの名無しさん (ワッチョイ 9b68-uW5m)
2021/08/11(水) 22:20:07.30ID:N26Fs5+x0
今は両方正解とも言われてるな
437デフォルトの名無しさん (ワッチョイ 0101-NW/4)
2021/08/11(水) 23:18:26.09ID:/u/X/l7G0
射的場では、景品が的です。
射貫けば、ば的が得られるのです。
というムチャクチャな言い訳で、得るもOKになったらしいですぞ。
438デフォルトの名無しさん (ワッチョイ a15f-nI4z)
2021/08/11(水) 23:51:27.40ID:MV8X3c1h0
教養ないやつのせいで誤用が標準化されるのか
439デフォルトの名無しさん (ワッチョイ 9b68-uW5m)
2021/08/11(水) 23:57:08.62ID:N26Fs5+x0
「新しい:あたらしい」
も、
元々は「あらたしい」が正しい
今更これに対して教養がどうとか思わんでしょ。そのうち慣れる
440デフォルトの名無しさん (ブーイモ MMeb-Z6Ah)
2021/08/12(木) 00:28:12.75ID:AcVN/mcWM
「全然」の用法は一周して元に戻ったけどな
441デフォルトの名無しさん (ワッチョイ 0101-NW/4)
2021/08/12(木) 00:36:07.89ID:2S4isd+w0
>>439
新しいは、英語の不定冠詞が母音の前で変化するのと同じで、単純に言いにくいからですよ。
当然の成り行きなんです。
翻って的を得るは、小賢しい屁理屈じゃないですか。
442デフォルトの名無しさん (ワッチョイ 9b68-uW5m)
2021/08/12(木) 00:44:37.62ID:BTMS1DN70
>>441
さすがにあの言い訳は後付だろう
みんなが間違えてるけど意味が通じるからok
443デフォルトの名無しさん (ブーイモ MM8b-3gcB)
2021/08/12(木) 00:46:04.06ID:XfbSLdwiM
いや、それも
「をいる」
より
「をえる」
のほうが言いやすいからと解釈できますよ
「い」は口を横に広げないといけないかど
「え」ならそれほど広げる必要もなくその後の「る」にも移行しやすいからね
444デフォルトの名無しさん (スプッッ Sda3-Z6Ah)
2021/08/12(木) 01:26:40.50ID:YbO1i5Cqd
「こんにちは」と書いて「こんにちわ」と発音するのも、knifeをナイフと読むのも、言いやすいように変化しただけ
言葉ってのはそういうもん
445デフォルトの名無しさん (スプッッ Sda3-Z6Ah)
2021/08/12(木) 01:30:00.55ID:jC6xQX8qd
>>438
世界中の言語、習慣、伝統や文化のほとんどは、教養のないやつが作り上げた物なんだぜ
446デフォルトの名無しさん (JP 0H73-tV31)
2021/08/12(木) 02:58:07.28ID:aOGRiEATH
的もらえたとして、もらうやついるの?
447デフォルトの名無しさん (ワッチョイ 9b68-uW5m)
2021/08/12(木) 07:17:08.83ID:BTMS1DN70
>>446
縁日の射的
448デフォルトの名無しさん (オイコラミネオ MMed-lHUs)
2021/08/12(木) 08:25:03.59ID:F2ZBInFgM
じゃあknifeは昔
クゥナイフとか言われてたのか
449デフォルトの名無しさん (JP 0H85-NW/4)
2021/08/12(木) 09:03:50.69ID:KOJd5FjgH
>>448
そうだよ
発音しない子音は口を動かすのが面倒で言わなくなっただけで、間違いがどんどん定着してった
450デフォルトの名無しさん (スフッ Sd33-Lto6)
2021/08/12(木) 09:08:47.23ID:6jf0e9cQd
「延々と」を「永遠と」と書いたり言ったりする間違いが増えてて気になる
451デフォルトの名無しさん (アウアウウー Sa55-FoHg)
2021/08/12(木) 10:25:30.66ID:8wOIyJEba
スレと全く関係ない話で
452デフォルトの名無しさん (ワッチョイ b168-Z6Ah)
2021/08/12(木) 10:31:28.13ID:JfgsXMu40
fightとかどう読んでたんだよ
ファイグフトかよ

ハードルが敷居に変わりつつある
フンイキがフインキに変わりつつある
453デフォルトの名無しさん (ワッチョイ 9b68-uW5m)
2021/08/12(木) 11:06:43.36ID:BTMS1DN70
>>452
そのとおり。昔は全て表記通りの発音だった。
欧米圏内は色々な言語が複雑に混じり合った経緯があるので、「なんで?」と考えるとキリないぞ

更に言うとネットやテレビが台頭してからは言語は固定されるだろう、と学者は予想していたけどあんまりそうでもないようだ
454デフォルトの名無しさん (スフッ Sd33-Z6Ah)
2021/08/12(木) 11:29:35.78ID:cpovNsRqd
ネットで声の大きいバカが目立てるようになったおかげで、間違いの広がる速度がむしろ加速してる
ウィルスやワクチンの誤解もひどいもんだし
455デフォルトの名無しさん (アウアウウー Sa55-TjhZ)
2021/08/12(木) 11:32:55.00ID:stPdQEKya
あの…VBA…
456デフォルトの名無しさん (ブーイモ MMeb-NW/4)
2021/08/12(木) 11:37:28.29ID:3EGHE4wmM
言葉の変化を認めないやつはRight関数も500年前の発音でアルァイギーエッテー関数と読めよ
457デフォルトの名無しさん (JP 0H85-Z6Ah)
2021/08/12(木) 11:39:34.06ID:KOJd5FjgH
次の質問どうぞ
458デフォルトの名無しさん (ラクッペペ MM8b-IWqQ)
2021/08/12(木) 12:31:29.35ID:uGYsB1RKM
ファンクション(Function)

ファンスウ

ハンスウ(函数)

カンスウ(関数)
459デフォルトの名無しさん (JP 0H73-tV31)
2021/08/12(木) 14:58:41.40ID:wFbxLk6vH
万葉仮名も太古の昔はそのまま読んでたらしいしな
460デフォルトの名無しさん (ワッチョイ d101-lHUs)
2021/08/12(木) 15:14:57.51ID:4wn9NucC0
ナイフはそのうち
「ナイ」になるのかな
461デフォルトの名無しさん (ワッチョイ b168-Z6Ah)
2021/08/12(木) 15:16:18.65ID:JfgsXMu40
サイフはサイか
日本語やんけー
462デフォルトの名無しさん (ワッチョイ 9b68-uW5m)
2021/08/12(木) 15:21:53.11ID:BTMS1DN70
>>454
ネットは大分マシ。すぐにそれは変ですよって指摘できるからな
昔は大名が変な言い間違いをしていたらそれが臣下に広まって、地域一体のおかしな方言になった
ワクチンの誤情報もネットがなかったらもっとひどいことになっていただろう
463デフォルトの名無しさん (アウアウウー Sa55-FoHg)
2021/08/12(木) 17:42:00.13ID:Fj2kkZVUa
ひとのコードにケチをつけるつもりはまったくないけど
上にあった「名前分解=split(名前,"\")(ubound(split(名前,"\"))」ってのを実際に書きたい場合
自分は他人が見る見ないにかかわらず「a = split(名前,"\")」と「名前分解=a(ubound(a))」の
2行に分けるような感じで書いてるけど1行にする人がおおいのかね?
464デフォルトの名無しさん (オイコラミネオ MMed-lHUs)
2021/08/12(木) 17:53:53.44ID:XQI2fayvM
そっちのほうがいいね
465デフォルトの名無しさん (アウアウウー Sa55-TjhZ)
2021/08/12(木) 18:01:08.04ID:tY2of2ova
1ヵ月後の自分は他人なので…
丁寧に書けるなら絶対その方がいい
466289 (スフッ Sd33-RGvM)
2021/08/12(木) 18:29:35.92ID:FVU2afn4d
前スレ848です
最後の報告です
スレ汚しすいませんでした

その後
マクロ廃止後業務量が増えまくってあほがヒステリーを起こし
スラックで延々とケンカを売られ続けた
あまりにもブーメランを投げてくるので華麗に避けてたらあほ激怒
仕事を辞めると言い出した

課長はその言葉お嬉々として受け止めていた

結局のところ仕事が終わらず、マクロを使うことになったよ

あほが辞めるのは嬉しいけど、本当に自分が正しいのかよくわからなくなり
ちょっと鬱気味になっている

結論はマクロお人に共有すべきじゃなかったと思う
467デフォルトの名無しさん (アウアウウー Sa55-r06d)
2021/08/12(木) 18:58:40.91ID:Fj2kkZVUa
>>466
もうvbaと関係ないからこなくていいよ
そんなにリアルでかまってもらえないの?w
468デフォルトの名無しさん (ワッチョイ b168-Z6Ah)
2021/08/12(木) 19:09:35.66ID:JfgsXMu40
>>466
本当にお疲れ様
むしろそのあほを辞めるように持って行った功労者w

>>467
上の流れには突っ込まずそれかw
469デフォルトの名無しさん (ブーイモ MM33-52IO)
2021/08/12(木) 19:30:26.41ID:J6mXolxSM
>>466
お疲れ様
あんまり気にしすぎるなよ?
もっと肩の力抜いてこうぜ
470デフォルトの名無しさん (ワッチョイ 618e-effB)
2021/08/12(木) 19:36:16.05ID:Gdq8XFU10
>>466
死ねよ
471デフォルトの名無しさん (アウアウウー Sa55-FoHg)
2021/08/12(木) 19:43:55.65ID:Fj2kkZVUa
>>468
>>451は自分ですよ
472デフォルトの名無しさん (ワッチョイ 9b68-uW5m)
2021/08/12(木) 23:17:39.27ID:BTMS1DN70
>>466
いつもの流れだから気にすんな
473デフォルトの名無しさん (ワッチョイ 6eda-oCel)
2021/08/13(金) 02:15:07.67ID:fQVKfGt/0
>>466
まだ終わってない
474デフォルトの名無しさん (ワンミングク MM92-4yzW)
2021/08/13(金) 03:37:00.81ID:NVit/nDVM
>>466
こういう人ってたかがマクロを少し作れるだけで自分が会社を経営してると思い込む馬鹿ばっかだよ
475デフォルトの名無しさん (ワッチョイ 62f0-/m/d)
2021/08/13(金) 09:23:59.80ID:Dh6ZDsQC0
すみません
VBA初心者です
下記プログラムはB1とB2に任意の数値を入れると
A5〜A100に数値から数値の間の数字が打ちあがります
一度入力したら2回目はA5からA100の数値を手動で削除
しなければなりません
B1に数値を新たに入力したら自動でクリアされれば
手動で削除しなくていいのですがコードが書けないで困ってます
どなたか詳しい方いましたらご教授ください

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Address <> "$B$2" Then Exit Sub
If Range("B1").Value = "" Then

Exit Sub
End If
Range("A5:A100").Clear
Dim cnt As Long
Dim i As Long, j As Long
j = 0
cnt = Target.Value - Target.Offset(-1).Value
For i = 5 To cnt + 5
Cells(i, 1) = Target.Offset(-1).Value + j
Cells(i, 1).NumberFormatLocal = "@"
j = j + 1
Next i
End Sub
476デフォルトの名無しさん (オイコラミネオ MM49-AL+r)
2021/08/13(金) 09:29:56.69ID:7J82GjQPM
>>474
噂の同僚もこんなこと言ってそうだな
477デフォルトの名無しさん (ワッチョイ 9901-ic7f)
2021/08/13(金) 09:40:28.79ID:IVydqk9y0
VBAで数値計算をやらないといけないから、VBAの仕様を一通り学ぼうと思って書籍で勉強しているんだけど、
VBAで数値計算する意味がわからんわ

VBAで数値計算するメリットってファイルの入出力くらいしかないだろ・・・
478デフォルトの名無しさん (ワッチョイ 7168-NTPF)
2021/08/13(金) 09:57:08.98ID:lG5axGIx0
>>474
という思い込みを>>474がしてるってネタでしょ?w
479デフォルトの名無しさん (オイコラミネオ MM49-AL+r)
2021/08/13(金) 10:08:41.85ID:7J82GjQPM
>>477
逆に少し複雑になったら
並べ替えやvlookup用に変な数字が所狭しと並んだり
式もシートもぐちゃぐちゃになったり
行を増やすごとに式をいちいちコピペしないといけなかったり式のコピペ漏れの危険もある関数でやるメリットのほうがよくわからん
関数使っても問題ないのはマジで足し算掛け算レベルの簡単なものだけだろ
480デフォルトの名無しさん (ワッチョイ 0668-MFFZ)
2021/08/13(金) 10:09:11.78ID:zvWaH7NU0
>>475
b1かb2以外で終了、に変更
Excel入ってないPCだから試してないけど、多分動くと思う

If Target.Address <> "$B$2" Then Exit Sub

If not(Target.Address = "$B$2" or Target.Address = "$B$1") Then Exit Sub
481デフォルトの名無しさん (ブーイモ MM6d-H+bG)
2021/08/13(金) 10:14:40.50ID:/ejQKQyrM
>>477
自分で責任取れるんならPythonでも何でも使えばいい
それができるだけの度胸とコミュ力がないんならどこ行ったって同じだぞ
482デフォルトの名無しさん (ワッチョイ 0668-MFFZ)
2021/08/13(金) 10:23:05.89ID:zvWaH7NU0
>>477
vbaだと爆速、値で残せるなどのメリットもあるし、
要は使い分けだな
483デフォルトの名無しさん (アウアウウー Saa5-/KFf)
2021/08/13(金) 10:37:15.01ID:5J5GXzoka
テーブル機能は関数、VBAともに相性いいからとりあえずテーブルにするところから始めればいいんじゃないかな
484デフォルトの名無しさん (アウアウウー Saa5-++7W)
2021/08/13(金) 11:50:40.69ID:c6dMXYo0a
>>475
判定をなおしてみました。こんな感じはどうでしょう。
If Target.Address = "$B$1" Then
Range("A5:A100").Clear
Exit Sub
ElseIf Target.Address = "$B$2" Then
If Range("B1").Value = "" Then
Exit Sub
End If
Else
Exit Sub
End If
485デフォルトの名無しさん (ワッチョイ 9901-2/6I)
2021/08/13(金) 14:43:20.07ID:MQNa+Oeo0
>>475
「B1が変更」かつ「B2が入力済み」の場合にも処理されるようにするのはどうでしょうか。
後、B1B2が数値である保証がないのも気になりました。
冒頭(Early Returnの部分)を

If Target.Address <> "$B$2" and Target.Address <> "$B$1" Then Exit Sub
If (VarType(Range("B1").Value) <> vbDouble) Then Exit Sub
If (VarType(Range("B2").Value) <> vbDouble) Then Exit Sub

に修正し、

Target.Value - Target.Offset(-1).Value

等の部分を具体的にRange("B1")の様にしてみて下さい。
486デフォルトの名無しさん (ワッチョイ c2da-oCel)
2021/08/13(金) 16:54:07.44ID:HPpKMPwN0
いまだにテーブル機能を表のレイアウトの見栄えよくする機能だと思っている人いるんだなマジで。
興味ないとそんなもんだよね
487デフォルトの名無しさん (アウアウウー Saa5-/KFf)
2021/08/13(金) 17:27:51.79ID:Ko30HHoCa
Vlookupなんてテーブルありきの仕様(範囲可変対応、速度、列指定等…)だし、
VBA使う時はForで範囲の中の値をループ処理するのはテーブル使うのが1番完結かつ読み手に伝わりやすい(と思う)
興味ない人は触れることもないんだろうなぁと思うと寂しいね
488デフォルトの名無しさん (ワッチョイ 62f0-/m/d)
2021/08/13(金) 18:51:34.24ID:Dh6ZDsQC0
VBA達人の皆さんありがとうございます
早速試してみます

皆さんはどのように勉強されたのですか?
VBA2年目ですがまだまだ初心者から脱却できません
489デフォルトの名無しさん (ワッチョイ c2da-oCel)
2021/08/13(金) 18:51:53.98ID:HPpKMPwN0
まだ良いよ
見栄えよくすると思い込んでいて、何でもかんでもテーブルに変換する同僚がいるから
出力でそれやられると見辛い
490デフォルトの名無しさん (ワッチョイ 0668-MFFZ)
2021/08/13(金) 19:17:27.00ID:zvWaH7NU0
>>488
色々書きまくるしかない
あと、たまには違う言語を触ってみるのも良いと思う
簡単なゲーム作るとか
491デフォルトの名無しさん (ワッチョイ 8101-AL+r)
2021/08/13(金) 20:37:12.04ID:fD7XP3Na0
変数を日本語にすると頭に入りやすい
492デフォルトの名無しさん (ワッチョイ 62f0-/m/d)
2021/08/13(金) 20:55:03.16ID:Dh6ZDsQC0
>>490
> >>488
> 色々書きまくるしかない
> あと、たまには違う言語を触ってみるのも良いと思う
> 簡単なゲーム作るとか

色々簡単なことから挑戦していきます
493デフォルトの名無しさん (ワッチョイ 62f0-/m/d)
2021/08/13(金) 20:57:12.23ID:Dh6ZDsQC0
>>491

日本語に訳して覚えてみます
494デフォルトの名無しさん (ワッチョイ 9901-ic7f)
2021/08/13(金) 21:57:30.74ID:IVydqk9y0
>>479
やっぱりどう考えてもVBAで数値計算って無理がありそうですよね
数値計算自体も偏微分方程式の解を求めたり、モンテカルロで期待値を求めたりするので、結構重いです・・・
学生なんで確信を持って言えないのですが、恐らく就職希望している業界がVBAとc++がメインなのでVBAで数値計算をできるようになっておく必要があると思います。
とりあえずまだ時間があるので、一度自分でVBAで書いてみてからデメリットを実感して見ようかと思います
495デフォルトの名無しさん (ワッチョイ 9901-ic7f)
2021/08/13(金) 21:59:38.88ID:IVydqk9y0
>>481
確かにそうですね・・・
正直言語の違いなんて手段の違い程度しかないとは思うので結局責任を取れるくらい、周りと話をつけたり、しっかり計画を詰めるほうが重要ですよね
496デフォルトの名無しさん (ワッチョイ 71e4-gilQ)
2021/08/13(金) 22:15:24.05ID:al2VsHhL0
その分野には詳しくないんだが、不向きなのに何故VBAを数値計算に使うんだ?
エクセルならVBA使わずとも関数とかソルバーで出来るんじゃない?
497デフォルトの名無しさん (ワッチョイ 0668-MFFZ)
2021/08/13(金) 22:24:34.19ID:zvWaH7NU0
>>494
それ就職先に直接問い合わせた方が良いぞ
vbaとc++を使う業界って聞いたことない。なにかの間違いだろう
498デフォルトの名無しさん (オイコラミネオ MMd6-Lo6P)
2021/08/13(金) 23:20:47.22ID:WIfN9845M
賑わってるね
499デフォルトの名無しさん (ワッチョイ 8101-AL+r)
2021/08/14(土) 00:11:33.82ID:p2FjIi+P0
>>497
あっ…なるほど(察し
500デフォルトの名無しさん (ワッチョイ 8232-/m/d)
2021/08/14(土) 00:32:25.73ID:8xoU1q0D0
夏季休暇に突入したぜウェーイ!
501デフォルトの名無しさん (アウアウウー Saa5-5/Wf)
2021/08/14(土) 03:50:50.70ID:2+Zp3qYIa
c++とvbaを両方とも使うのありますよ
ターボファンの3次元ブレード図面の自動生成をする為に
autoCAD用APIをc++使ってdirectXのシェーダーでやり
流体計算はcudaの並列計算する一方で
ユーザーインターフェースはExcelVBAで寸法入力させるんですよ
502デフォルトの名無しさん (ワッチョイ 62f0-/m/d)
2021/08/14(土) 07:34:08.52ID:olTKpvXL0
何度も申し訳ありません

期間の日付をA5〜A100に自動で打ちあがるようにしたいのですが

例えばB1に整数3が入りB2に整数5が入った場合
A5〜A7に3、4、5
と自動で打ちあがるようにしたいです

B2に整数以外が文字などが入る場合は
例えばB1に3B2に英字のKが入った場合
A5に3A6にK
が打ち上がるようにしたいのですが

下記コードだと2回目以降はB1の値が変わっただけでは発火しないので
B2も変更しなければなりません
B1の値が変更されたら即発火させるにはどのようなコードで記述したらいいのでしょうか?

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Address <> "$B$2" And Target.Address <> "$B$1" Then Exit Sub
Range("A5:A100").Clear
Dim cnt As Long
Dim i As Long, j As Long
j = 0
cnt = Target.Value - Target.Offset(-1).Value
For i = 5 To cnt + 5
Cells(i, 1) = Target.Offset(-1).Value + j
Cells(i, 1).NumberFormatLocal = "@"
j = j + 1
Next i
End Sub
503デフォルトの名無しさん (ブーイモ MMb6-usf7)
2021/08/14(土) 07:41:00.78ID:X5b04eQGM
打ちあがるって何?
504デフォルトの名無しさん (ワッチョイ 0668-MFFZ)
2021/08/14(土) 07:49:40.96ID:WRC7pvXs0
>>502
「はじめの整数」と「終わりの整数」を指定し、
「その間の数字を個別に整数で出力」したい

・B1が最初、B2が最後。ここは手で入力
・B1かB2どちらかを更新すると以下が走る

・出力範囲はA5:A100
・出力範囲は無条件で毎回clear

・整数以外の場合は、B1とB2の内容がA5とA6にコピー

>>503
「出力」の意味だろう
505デフォルトの名無しさん (ワッチョイ 62f0-/m/d)
2021/08/14(土) 08:01:31.03ID:olTKpvXL0
>>503
> 打ちあがるって何?

すいません
出力です!
506デフォルトの名無しさん (ワッチョイ 62f0-/m/d)
2021/08/14(土) 08:04:36.53ID:olTKpvXL0
>>504

その通りでございます。
B2には整数以外が入る場合もありますので
その場合はB1の整数だけが出力されればいいです
507デフォルトの名無しさん (ブーイモ MM62-GUjw)
2021/08/14(土) 08:16:43.15ID:FeW4uPBDM
IsNumericでB2を判定してTrueならFor文を走らせて、FalseならB2をA6へ
508デフォルトの名無しさん (ワッチョイ 0668-MFFZ)
2021/08/14(土) 08:16:49.28ID:WRC7pvXs0
>>502
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo err

'B1B2じゃなければ終了
If Intersect(Target, Range("B1:b2")) Is Nothing Then Exit Sub

'とりあえずクリア
Range("A5:A100").Clear

'メイン。整数じゃなければerrに飛んでコピーして終わり。trycacheみたいな事がしたかった
最初 = Cells(1, 2)
最後 = Cells(2, 2)
'
If (Int(最初) = 最初 And Int(最後) = 最後) Then

行 = 5
For i = 最初 To 最後
Cells(行, 1) = i
行 = 行 + 1
Next

Exit Sub
End If

'整数以外
err:
Range("a5:a6").Value = Range("B1:b2").Value

End Sub
509デフォルトの名無しさん (ワッチョイ 0668-MFFZ)
2021/08/14(土) 08:17:31.92ID:WRC7pvXs0
>>507
numericだと小数のときにめんどくさくなるよ
エラーで飛ばしたほうが早い
510デフォルトの名無しさん (ワッチョイ 62f0-/m/d)
2021/08/14(土) 08:32:21.96ID:olTKpvXL0
>>508
ありがとうございます!
まじすごい
半年ぐらい考えて調べてやってみて
全然できなかったのに
一瞬でできるなんて…

プロの方ですか?
511デフォルトの名無しさん (ブーイモ MM62-GUjw)
2021/08/14(土) 08:34:31.28ID:FeW4uPBDM
あぁそうか整数の時だけなのか
でもOnErrorResumeNextはバグを見逃しやすくなるから個人的にはあんまり使いたくねぇなぁ
lsNumenic(B2)の後にB2=CLng(B2)で整数判定かけるのってどう?……見辛くなるか
512デフォルトの名無しさん (アウアウウー Saa5-++7W)
2021/08/14(土) 09:09:38.05ID:LMRL1zmta
>>502がそもそも何で質問の様な動作になるかがわかってないとこれからも簡単なことでつまずくと思うよ
当初と違って最初のif分に「Target.Address <> "$B$1"」が含まれたことでB1でも下のロジックが動くようになったけど
「cnt = Target.Value - Target.Offset(-1).Value」これがB1がTargetだと右のOffsetが存在しないから以降のコードが正しく動作しない状態になってる
B2→Target.ValueはB2、Target.Offset(-1)はB1
B1→Target.ValueはB1、Target.Offset(-1)は存在しないセルなのでエラー
ここをB1でもB2でも正しくセルの値を参照できるようにすればいいのでは
ちなみに「On Error Resume Next」のせいでエラーになっているのを無視して動作するようになってるので外したほうがいいのでは
513デフォルトの名無しさん (ワッチョイ 0668-MFFZ)
2021/08/14(土) 09:17:38.32ID:WRC7pvXs0
>>510
ただの事務だよ。15年ぐらい色々書いてるから、これぐらいならまぁ
あと、読みづらいコードは最初から書き直した方が早い事も多い
514デフォルトの名無しさん (ワッチョイ 62f0-/m/d)
2021/08/14(土) 09:25:22.77ID:olTKpvXL0
>>512
> >>502がそもそも何で質問の様な動作になるかがわかってないとこれからも簡単なことでつまずくと思うよ
> 当初と違って最初のif分に「Target.Address <> "$B$1"」が含まれたことでB1でも下のロジックが動くようになったけど
> 「cnt = Target.Value - Target.Offset(-1).Value」これがB1がTargetだと右のOffsetが存在しないから以降のコードが正しく動作しない状態になってる
> B2→Target.ValueはB2、Target.Offset(-1)はB1
> B1→Target.ValueはB1、Target.Offset(-1)は存在しないセルなのでエラー
> ここをB1でもB2でも正しくセルの値を参照できるようにすればいいのでは
> ちなみに「On Error Resume Next」のせいでエラーになっているのを無視して動作するようになってるので外したほうがいいのでは

ネットで拾ったコードにOn Error Resume Nextを
加えたりして動くように自分なりにやってみたのですが
cnt = Target.Value - Target.Offset(-1).Value
の意味が理解できなくて・・・

少々自分にはレベルの高いコードでした
仕事でどうしてもエクセル使わないといけなかったので無理しましたw

ご教授ありがとうございます!
515デフォルトの名無しさん (ワッチョイ 62f0-/m/d)
2021/08/14(土) 09:28:14.25ID:olTKpvXL0
>>513
> >>510
> ただの事務だよ。15年ぐらい色々書いてるから、これぐらいならまぁ
> あと、読みづらいコードは最初から書き直した方が早い事も多い

私はVBA歴2年なのに簡単なコードしか書けなくて
いつになったら皆さんのように書けるようになるのかと思いまして

自分も15年ぐらい頑張れば書けるようになるのかな
516デフォルトの名無しさん (ワッチョイ c2da-oCel)
2021/08/14(土) 10:58:30.72ID:UIvxBUgE0
Excelの関数とか覚える必要ないでしょ
全部マクロでやれば済むはずだし。
全部マクロで処理している人が職場にいる。
517デフォルトの名無しさん (ワッチョイ 7168-NTPF)
2021/08/14(土) 11:02:58.83ID:WZYuRp6L0
適材適所
518デフォルトの名無しさん (ワッチョイ 9901-ic7f)
2021/08/14(土) 11:11:37.37ID:Wd8wuOU/0
>>496
使う理由は確かにわからないんですよね・・・
ただ、日本語以外の本でもその業界の数値計算のコード例がC++かVBAかMATLABなので恐らく業界のデファクトスタンダード
になっているんだと思います。
VBA以外にも使えそうなエクセルの機能があるなら使っていこうかと思います
519デフォルトの名無しさん (ワッチョイ 9901-ic7f)
2021/08/14(土) 11:13:11.03ID:Wd8wuOU/0
>>497
分野は金融系専門職ですね・・・
実際に働いたことある人から聞いたので恐らく実際に使うのだと思います
520デフォルトの名無しさん (ワッチョイ 0668-MFFZ)
2021/08/14(土) 11:22:28.35ID:WRC7pvXs0
>>501
そういう事か、それならどこにでもあったわ、スマン
入出力部分だけExcel vbaやaccessってのはたまによく見る

>>518-519
c++・MATLABをメインで勉強した方が良い
その場合のvbaは補助的に使う物なので、ほとんどの機能を使わない。
521デフォルトの名無しさん (アウアウウー Saa5-oCel)
2021/08/14(土) 11:37:23.70ID:WNZYUSqEa
たまになのによくみる?
522デフォルトの名無しさん (エムゾネ FF62-BgPC)
2021/08/14(土) 12:03:40.37ID:MjnqNUAdF
>>515
5ちゃんを観るのを止めると綺麗なコード描けるようになる
523デフォルトの名無しさん (ブーイモ MMb6-aBRF)
2021/08/14(土) 12:21:33.89ID:r4eiaXelM
>>521
「そんな業界あるかよっっ」
「こんな使い方するらしいです」
「あーそれなら知ってる」
の流れw
524デフォルトの名無しさん (ワッチョイ 3d28-/KFf)
2021/08/14(土) 12:31:49.92ID:egxXCzK30
if,and,orと変数の使い方を覚える

Functionの使い方を覚える(Byval,ByRef)

Range(”A2”)みたいな書き方から、Worksheet.Cells(2,1)の様な書き方に変える

配列、Dictionary,Collectionの使い方を覚える

ユーザーフォームを作れるようになる

(クラスの使い方を覚える)

こんな流れで順々にやれることを増やしていくといいよ
525デフォルトの名無しさん (ワッチョイ 7168-NTPF)
2021/08/14(土) 12:35:39.31ID:WZYuRp6L0
>>523
ブロント語の事を言ってるのでは
まれによくみる
526デフォルトの名無しさん (ワッチョイ 498e-JtI+)
2021/08/14(土) 16:05:31.07ID:9rufdIX60
ID:olTKpvXL0

いつものあいつ
527デフォルトの名無しさん (ブーイモ MM62-GUjw)
2021/08/14(土) 16:13:08.42ID:FeW4uPBDM
いつものあいつって言いたいだけの例の人
528デフォルトの名無しさん (ワッチョイ 7168-NTPF)
2021/08/14(土) 16:13:36.00ID:WZYuRp6L0
いつものあいつに粘着してるやつ
529デフォルトの名無しさん (ワッチョイ 8101-AL+r)
2021/08/14(土) 16:16:12.93ID:p2FjIi+P0
Rubyの人だっけ
530デフォルトの名無しさん (ワントンキン MM92-4yzW)
2021/08/14(土) 19:17:04.70ID:QQrfTJ+jM
またも引っ掛かる間抜けな人達
531デフォルトの名無しさん (ワッチョイ 9901-pBez)
2021/08/14(土) 23:40:30.92ID:0AEpqYcN0
VBAはビジネスソフト板でやれ。
ム板でVBAの話する奴は全員荒らし。
532デフォルトの名無しさん (ワッチョイ 42ad-NTPF)
2021/08/15(日) 01:41:34.07ID:Ab4oMS/u0
ListBoxAに複数行の内容を表示し、その行数をラベルに表示させている。
RemoveItemで行を削除した後、ラベルの表示内容を更新したい。

といった場合に、
RemoveItemの後でラベルの数字を1マイナスする、という手動処理ではなくて、
ListBoxAの内容が変更されたことをトリガーとして行数を再計算する、という自動処理にしたいんですが、
どのイベントプロシージャを使えばいいですか?
533デフォルトの名無しさん (ワッチョイ 8101-AL+r)
2021/08/15(日) 09:02:47.73ID:Vp1mNkx00
またでたー
534デフォルトの名無しさん (ワッチョイ 0668-MFFZ)
2021/08/15(日) 10:47:47.12ID:FNsj8xWN0
>>532
無いっぽい

>RemoveItemの後でラベルの数字を1マイナスする
例えばcommandbuttonでRemoveItemしてるなら、
以下のようにするしか

Private Sub CommandButton1_Click()
'removeitemの処理がここに
Debug.Print ListBox1.ListCount
End Sub
535デフォルトの名無しさん (ワッチョイ 0668-MFFZ)
2021/08/15(日) 10:48:11.05ID:FNsj8xWN0
RemoveItemにevent追加するほうが綺麗だけどねぇ
vbaじゃ無理だねぇ
536デフォルトの名無しさん (ワッチョイ c242-rA07)
2021/08/15(日) 11:06:26.14ID:47f+T2dk0
仮にイベントがあったとしてもremoveitemのあとに再計算の処理を書いたほうがスッキリしていいと思うが
537デフォルトの名無しさん (ワッチョイ 4201-VYeI)
2021/08/15(日) 11:24:14.03ID:U+FsjVqC0
>>536
RemoveItemしてるのが1箇所ならいいかも知れんが複数あったら面倒だろ
538デフォルトの名無しさん (アウアウウー Saa5-oCel)
2021/08/15(日) 11:44:01.29ID:PuWX92Pra
一ヶ所にまとめればいいだけだし
539デフォルトの名無しさん (ワッチョイ 4201-VYeI)
2021/08/15(日) 11:48:45.57ID:U+FsjVqC0
イベントに書ければ1箇所にまとめる手間もないし1年後に改修した時に1箇所にまとめたのを忘れてRemoveItem単体で使ってバグることもないし…
まあVBAでは夢物語なんだけどね
540532 (ワッチョイ 42ad-NTPF)
2021/08/15(日) 12:12:51.35ID:Ab4oMS/u0
ありがとうございます。

その後、試してみたこととして、
ListBoxのChangeイベントに再計算の処理を書いておき、
RemoveItemの後で.listIndex=0の処理を入れたところ、
一発目のRemoveItem後は、期待どおりChangeイベントが発生してくれましたが、
二発目以降は、.listIndexが0→0と変化なしのせいか、イベントは発生しませんでした。

行数を再計算したい、と書きましたが、
単純に全体の行数であれば、RemoveItemの後で.listCountをラベルに代入するだけの一行で済みますが、
実際は、リストの1カラム目(ID欄として使用)が100未満の場合と100以上の場合で分けてカウントしており、
FOR文で、ID100未満までの間でヒットするIDがあるたびに対象のカウントをインクリメントし、
2つ目のFOR文で、ID100以上について同様の処理を行う、
という風にしようとした時に、これが冗長に思えました。

もし、使えるイベントがあれば、
そのイベントプロシージャの中で、
それぞれのカウンタラベルのうち対象となる方のみマイナスした値に変更する、
という処理を入れるだけでOKになりそう、と考えました。

結論としては、
イベントに頼らず、
指定したIDの行を.RemoveItemする処理のところで、
そのIDが100未満か100以上かで分岐させて、
その分岐の中で、対象となるカウンタをマイナスする、
という処理にしました。
541デフォルトの名無しさん (ワッチョイ 62f0-/m/d)
2021/08/15(日) 14:06:03.01ID:Q1u7LxQ80
>>526
> ID:olTKpvXL0
>
> いつものあいつ

前も言われましたがいつものあいつとは?
荒らしがいるんですか?
自分はまだここ見始めたの1年ぐらいなので
知りませんが
542デフォルトの名無しさん (アウアウウー Saa5-++7W)
2021/08/15(日) 14:16:20.36ID:044XE2rOa
そういうの知っても意味ないから放置でいいのでは
質問されたら答えるだけで無理に関係ない話題でレスを進める必要はないのでは
543デフォルトの名無しさん (ワッチョイ 0668-MFFZ)
2021/08/15(日) 14:35:34.20ID:FNsj8xWN0
>>540
カウンタのマイナスは怖いな。数え直した方が良いと思う

>>541
>>526が荒らしだから放置していて良いよ
「いつものあいつ」ってのは元々存在しない
544デフォルトの名無しさん (ワッチョイ 6e68-NTPF)
2021/08/15(日) 15:32:30.69ID:mzIErmSO0
>>543
> 「いつものあいつ」ってのは元々存在しない
世にも奇妙な物語みたいな不気味さがw
545デフォルトの名無しさん (ワッチョイ c242-rA07)
2021/08/15(日) 22:31:41.12ID:47f+T2dk0
>>539
そもそもまとめたことを忘れるようなやつはイベントの存在も忘れてる
つーかVBAじゃなくても標準でそんなイベント発生する言語はないと思うぞ
546デフォルトの名無しさん (ワッチョイ 0668-MFFZ)
2021/08/15(日) 22:49:28.66ID:FNsj8xWN0
>>545
そりゃ標準ではない
classを継承してメソッドにイベントハンドラを追加できるようにできる言語はいくらでもあるよ
vb.netでも可能
547デフォルトの名無しさん (ワッチョイ 4201-VYeI)
2021/08/15(日) 23:03:09.52ID:U+FsjVqC0
>>545
> そもそもまとめたことを忘れるようなやつはイベントの存在も忘れてる
だから忘れてもいいって話

> つーかVBAじゃなくても標準でそんなイベント発生する言語はないと思うぞ
C#とかなら標準にはなくても派生して作れるってこと
548デフォルトの名無しさん (ワッチョイ 2e10-YTvb)
2021/08/15(日) 23:33:36.15ID:HzefVCWR0
フォームのチェンジイベントをイチイチ回避させないといけないのマジで面倒くさい
フラグ作ってif からのexit subとかマジで面倒くさい
549デフォルトの名無しさん (ワッチョイ 6eda-NTPF)
2021/08/16(月) 05:14:26.01ID:XafigDS10
EXCEL以外の言語なら簡単にできるとかいう人っていつもの人ですか?
550デフォルトの名無しさん (ワッチョイ 8101-AL+r)
2021/08/16(月) 20:23:33.18ID:pkWTpyDW0
少なくとも一番ムキになってるアレがそうなんでしょうね
551デフォルトの名無しさん (ワッチョイ c2da-oCel)
2021/08/17(火) 02:14:38.57ID:XfCCEtxD0
昔はこのスレまともだったのに、変な荒らしが現れてからおかしくなっただけ
552デフォルトの名無しさん (アウアウウー Saa5-oCel)
2021/08/17(火) 14:49:45.30ID:n4WKWZLba
昔?あ、俺生まれてないや
553デフォルトの名無しさん (ブーイモ MMb6-aBRF)
2021/08/17(火) 15:23:12.86ID:2f/o9RsTM
>>552
いつ生まれたの?w
554デフォルトの名無しさん (ブーイモ MM6d-usf7)
2021/08/17(火) 20:35:18.63ID:4IURpNomM
>>552
5chは年寄りの巣窟ですよ。
子供は他所で遊んだ方が良いですよ。
555デフォルトの名無しさん (ワッチョイ e292-/m/d)
2021/08/19(木) 01:46:41.56ID:GJSA9V5J0
す、巣窟?
556デフォルトの名無しさん (ワッチョイ 468c-nLcX)
2021/08/19(木) 12:48:42.55ID:gPE31PeS0
そ う だ よ
557デフォルトの名無しさん (ワッチョイ ff63-RUy2)
2021/08/20(金) 00:11:44.24ID:YzPl1p2A0
Dim mysubfiles As Files
Dim mysubfile As File

For Each mysubfile In mysubfiles
 中略
Next

このループ中で作成したファイルも
このループ内の処理を通したいのですが
どうしたらよいでしょうか。
具体的な状況は以下のとおりです。
・ループ内では拡張子xlsxのファイルを加工したい。
・しかしxlsmで保存されている場合もある。
・ループの最初にxlsmを開いてxlsxとして保存する処理を入れたものの
 そのxlsxが加工されない
558デフォルトの名無しさん (ワッチョイ 1f5f-N+XL)
2021/08/20(金) 00:21:12.76ID:EM+6hHZh0
>>557
xlsmがあればフラグをTrueにして、最後までループしたらもう一度その処理をするとか?
それなら「元々xlsmだったもの のみ」の処理はできないが、中略の中身によってはOKでしょう

「元々xlsmだったもの のみ」処理するのであれば、xlsm処理時点でDictionaryにファイル名をAddして、ループ終わった後に再度ループさせ、Dictionaryにあるファイルのみ処理する

になるかな
読みづらくはなると思うけど仕方ない
559デフォルトの名無しさん (ワッチョイ 9f01-AxjU)
2021/08/20(金) 03:30:46.68ID:fkNLvzJY0
>>557
ループ中で新たに作成したxlsxファイルも、
元々xlsxだっとファイルと同じ処理を行いたいって事でいいでしょうか。

編集するファイル用の変数(例えばTargetFile)を新たに用意して、
中略部分は mysubfile ではなく TargetFile を処理するというコードにしておきます。

冒頭にその TargetFile を何に割り当てるかを決定するコードを書きます。
・mysubfileがxlsxである場合は、mysubfileの参照をTargetFileへそのまま代入
・そうでない場合はxlsxとして保存しなおして、保存したxlsxを取得してTargetFileへ代入

条件によって反復子から取得した値がそのまま扱えない場合はこういう書き方をするのが一般的かと思います。
中略部分を関数にして引数に渡す値を変えるといった表現方法でもいいでしょう。
560デフォルトの名無しさん (ワッチョイ 7f01-9KvQ)
2021/08/20(金) 06:44:10.09ID:O2iQQ7aA0
>>557
情況よくわからん
> ・ループの最初にxlsmを開いてxlsxとして保存する処理を入れたものの
保存してるんならファイル名わかってるんだしそのまま処理すればいいと思うんだが…
561デフォルトの名無しさん (ワッチョイ 9f2f-RUy2)
2021/08/20(金) 07:35:23.32ID:+liSrGPN0
自分で配列なりコレクションなり用意してDoでループ回せよ
562デフォルトの名無しさん (ワッチョイ ff68-RJcP)
2021/08/20(金) 07:43:25.84ID:6SYvdNEC0
ループの中で処理するんじゃなく、サブルーチンにして呼び出す方がいいな
563デフォルトの名無しさん (ワッチョイ 9f2f-RUy2)
2021/08/20(金) 14:52:28.33ID:+liSrGPN0
そのサブルーチンを呼び出すのにどうやってループさせるの?
もしくは
そのサブルーチンのなかでどうやって列挙させるの?
って話だと思うんだが
564デフォルトの名無しさん (ブーイモ MM4f-7Mq8)
2021/08/20(金) 14:57:01.36ID:01P72Y3qM
xlsmだったらxlsxにしてそのファイルを引数にして渡す
xlsxだったらそのまま渡す

それだけのこと
565デフォルトの名無しさん (ワッチョイ 9f01-AxjU)
2021/08/20(金) 15:39:01.41ID:fkNLvzJY0
前々から思ってたんだけど、抽象的に質問書く人多いね
あと謎用語作ったり(この前も「打ちあがる」とか何とか)

テンプレ作った方がいいんじゃないか?
566デフォルトの名無しさん (アウアウウー Sa63-FcIJ)
2021/08/20(金) 15:48:44.06ID:XV1yMITLa
別に適当に質問してくるなら適当に返せばいいでしょ
それなりの回答を求めるならそれなりに質問するのが常識では
567デフォルトの名無しさん (ワッチョイ 1f5f-H9yk)
2021/08/20(金) 18:27:44.18ID:pH4dbDdN0
>>565
そういうのはいつもの奴だと思ってスルーで良いかと
抽象的に書くのはコードだけにしてほしいね
568デフォルトの名無しさん (ワッチョイ ffb0-+zBM)
2021/08/20(金) 19:51:09.61ID:qaJDzmMG0
質問スレなのに質問しにくい雰囲気を作っていくぅ〜
569デフォルトの名無しさん (ワッチョイ ffda-FcIJ)
2021/08/20(金) 22:28:26.67ID:tsSDUWXI0
問題ない
570デフォルトの名無しさん (ワッチョイ 7f92-Awm0)
2021/08/21(土) 00:15:10.89ID:fb/04mNm0
>>568
質問しにくい雰囲気の中であっても質問できる力を身につけて欲しい
というこのスレの思いやりがわからんのかね。
571デフォルトの名無しさん (ワッチョイ 7f4f-cvdf)
2021/08/21(土) 03:34:48.94ID:ezVaAvb40
>>557
んだよコレクションにFileオブジェクト積み立ててFor Eachの最中にコレクションにFile追加したら追加した分だけループしねーのかと思っちまったじゃねーか。
普通に回るわ。

コレクションに積み立てたFileがxlsmのときはxlsxでセーブしてコレクションの中身の参照をそっちに置き換えて開いて加工してセーブすりゃいいだけじゃねーか。

ループし切らないと思ったから、ファイル情報を抱えるエンティティクラス作って、そんなかに加工済みフラグとか設けて、ファイル追加したときにループ処理再帰してもう加工済みだったら処理飛ばすとかしなきゃいけないとか思ったから実は結構骨のある質問じゃないのか?とか思ってバカ見たわ。

いや、単に俺の知識不足だな。すまんかったな。もう寝るわ。
572デフォルトの名無しさん (ワッチョイ ff68-RJcP)
2021/08/21(土) 11:04:58.97ID:zxg8KyYK0
For Eachの順序はファイル名か何かだから、
既にforeachの処理が過ぎたファイル名だと実行されないぞ
573デフォルトの名無しさん (ワッチョイ 7fad-FcIJ)
2021/08/21(土) 17:09:47.50ID:aaIGTne20
>>557
ループ内で.xlsm→.xlsxに変換したファイル名を配列に追加しておき、
ループを抜けた後で、その配列に格納されたファイルに対して加工処理を行えばいいのでは?
574デフォルトの名無しさん (JP 0Hc3-FcIJ)
2021/08/21(土) 20:04:21.12ID:NaiRsfJYH
最初のループは一覧を2セット作るだけにして次のループで処理したら?
575デフォルトの名無しさん (ワッチョイ ff02-VfHF)
2021/08/21(土) 20:35:14.71ID:7GAoG1Iq0
Rustのメモリ安全性はボローチェッカーによって担保されているが、
Nimと比較してRustはタイプ量が多い事により限りなく低い生産性と
C++のような高い難読性、超巨大なバイナリ生成性能を兼ね備えています

Nimはバージョン1.5.1でRustのボローチェッカーに似た「View types」が実装されれば、
GC無しでView types参照の有効性を検証することによってメモリ安全性を保証しつつ
限りなく抑え込まれたタイプ量で高速化したCのソースコードを吐き出せます

Nimソースコード ==nimコンパイラ==> Cソースコード ==Cコンパイラ==> バイナリ

なので、nimコンパイラが通った時点でメモリ安全性が担保されませんか?

Nimの実験的特徴
著者: アンドレアス・ルンプ
バージョン: 1.5.1
http://nim-lang.github.io/Nim/manual_experimental.html


Nimは限りなく抑え込まれたタイプ量で高い生産性とPythonのような高い可読性を実現し
ているにもかかわらず、Cのソースコードを吐き出せるのでC言語でリモートワークされ
ている方は割り振られた仕事が早く終わっても終わってないふりをして怠けることができる

「怠け者とはこうあるべきだ!」と言うとても大事な事を Nim は我々に教えてくれます
576デフォルトの名無しさん (ワッチョイ 7f4f-cvdf)
2021/08/21(土) 23:03:58.45ID:ezVaAvb40
>>572
んなこたぁない。
実際やってみてコレクションに追加されたもんは頭から順にファイル名に関係なくFor Eachで拾えるのは確認済み。

ソース展開してもいいけどどっかにソース張り付けて展開出来るサイトない?

そこそこ大きくなったのと5chに貼り付けると連続した半角スペースが1個になるから見づらいもんね。
577デフォルトの名無しさん (ワッチョイ 7f4f-cvdf)
2021/08/21(土) 23:17:33.77ID:ezVaAvb40
>>575
ぶっちゃけ始めるのにいい言語スレの誤爆だろうが、Rustは新し過ぎて本とかも殆ど出てないから初心者には向かないよ。
て言うかVisual Studio Codeで開発環境構築しようとしたけど動かん。
手順教えてくれるとありがたいんだがのう。
ま、スレ違いになるからそっちのスレ行くか。
578デフォルトの名無しさん (ワッチョイ ff68-RJcP)
2021/08/22(日) 00:09:36.86ID:3/Qg+sLj0
>>576
foreachは順序の保証は無いから途中で追加したり削除するとどうなるか分からない。
言語によってはエラー出るぐらいの変な挙動
試しにworksheetsでやってみたけど、途中で追加したものは処理されない

Sub foo()
flg = True
For Each x In Worksheets
'1周目の時だけworksheetを追加する
If flg Then
Worksheets.Add
flg = False
End If
Debug.Print x.Name
Next
End Sub
579デフォルトの名無しさん (ワッチョイ ff68-RJcP)
2021/08/22(日) 00:11:00.32ID:3/Qg+sLj0
>>578の続き

追加したものに対してもforeach内の処理かましたければ、
サブルーチンとして外に出して個別に実行した方が良い
※arrayに入れてから別のfoeachループにしたほうが良いかもしれない

Sub foo()
flg = True
For Each x In Worksheets
'各シートの処理
Call print_worksheets_name(x)
If flg Then
Set 新シート = Worksheets.Add
'新シートの処理
Call print_worksheets_name(新シート)
flg = False
End If
Next
End Sub

'メインの処理はここ
Function print_worksheets_name(x)
Debug.Print x.Name
End Function
580デフォルトの名無しさん (アウアウウー Sa63-FcIJ)
2021/08/22(日) 00:39:14.99ID:vfl1uW7oa
ググったらサンプルがあったから試してみた。コードはこれ
Sub Sample_Files()
Dim FSO As Object
Set FSO = CreateObject("Scripting.FileSystemObject")
Dim myFiles As Object
Dim myFile As Object
Dim strFiles As String
Set myFiles = FSO.GetFolder("D:\test\").Files
strFiles = "ファイル数:" & myFiles.Count & vbCrLf
For Each myFile In myFiles
strFiles = strFiles & myFile.Name & vbCrLf '★
Next
MsgBox strFiles
End Sub
対象のフォルダに「新しいテキスト ドキュメント2.txt」「新しいテキスト ドキュメント4.txt」の2ファイルを格納
★にブレークポイントを設定して止まった時点で
対象のフォルダに「新しいテキスト ドキュメント1.txt」「新しいテキスト ドキュメント3.txt」の2ファイルを格納
この結果はMsgBoxは最初に格納されていたファイルのみが表示された
これを踏まえたらファイルを新たに保存しても保存したファイルはループ中は参照されないのでは
581デフォルトの名無しさん (ワッチョイ 7f4f-AI8d)
2021/08/22(日) 04:22:11.55ID:HSx9B6Zm0
>>578-580
なるほど言いたいことは分かった。
確かにFor Eachの取得順が保証されないのは正しい。
だがその話には続きがある。

For Each の取得順序が保証されていないのは、
取得元のObjectに依存するから。
https://thom.hateblo.jp/entry/2018/08/11/194900

そしてくだすれでソース展開用サイト教えてもらったから
ソース貼っといた。
https://pastebin.com/RBXU7SyT

Test3.xlsmとTest4.xlsx作って先にコレクションに登録。
ループ途中でTest1.xlsmとTest2.xlsxを作成して追加しているが、
挙動がおかしいようであれば言ってくれ。
582デフォルトの名無しさん (ワッチョイ 7f01-9KvQ)
2021/08/22(日) 08:13:33.74ID:bz4GO5A/0
FileSystemObjectのFilesの話だけどCollectionで問題ないから俺の勝ちー
ってか?w
583デフォルトの名無しさん (ワッチョイ 7f4f-cvdf)
2021/08/22(日) 08:38:21.01ID:HSx9B6Zm0
>>582
そもそもループしてる最中の母数を弄るようなことをするのってどうなのよ?っていうのはあるが、
気に食わなければ>>571で言ったような方法をとればいい。多分少し考えれば他にも色々方法はあるだろうが、
他の人にはともかく、その凄く悔しそうなレス見るとどうやら君は知らない内に勝手に負けてしまったのだろう。
584デフォルトの名無しさん (ワッチョイ 7f01-9KvQ)
2021/08/22(日) 09:40:51.11ID:bz4GO5A/0
>>576の話な
>>572はFilesの話だからコレクションでそんなことないとか言われても困るってこと
コレクションにしろ保証されてる動作じゃないからうまく行った事例があってもあまり意味はない
585デフォルトの名無しさん (ワッチョイ ffda-FcIJ)
2021/08/22(日) 09:49:45.02ID:AgYnuzAe0
いつもの質問に相手した時点で負け
586デフォルトの名無しさん (ワッチョイ 7f4f-cvdf)
2021/08/22(日) 10:04:31.73ID:HSx9B6Zm0
>>584
別にコレクションじゃなくても配列だろうがディクショナリだろうが何でもいいよ。Filesの中身を最初に積み立て直してループしてやればいいこと。
詰め込み対象のループの動作保証が欲しいなら>571で言った通りエンティティクラス用意して何かに詰め込んで一度加工したかどうかのフラグ持って、追加したらエンティティクラスも追加しといて、ファイル追加したらループ再帰して加工したフラグが立っていれば処理飛ばせばいいこと。
まぁ何故Filesを持ち回ることにそんなに執着しているのか知らんけど、そうでなければこの方法で実現出来るのは確か。
そんなにFiles持ち回ることに拘るなら人の作ったもんに文句ばかり言ってないでそれで実現出来るコード晒せばいい。
587デフォルトの名無しさん (アウアウウー Sa63-FcIJ)
2021/08/22(日) 10:46:11.18ID:vfl1uW7oa
こうすればいいよって回答してあげるのはかまわないけど
そもそもなぜそれがダメなのかを指摘してあげたるのも大事では
当初の質問であれば
>・ループの最初にxlsmを開いてxlsxとして保存する処理を入れたものの
> そのxlsxが加工されない
「ループの中で新たなファイルを作ってもFilesではそのファイルが取得できないようだ」という問題点を教えて
そのうえで中略のコードをSub化してループで取得したファイルもループの中で作成したファイルも
そのSubを呼び出すようにするとか解決策を提示したほうがいいんじゃないかねえ
588デフォルトの名無しさん (ワッチョイ 7f01-9KvQ)
2021/08/22(日) 11:08:18.32ID:bz4GO5A/0
>>586
何をカリカリしてんのか知らんけどFilesの話にコレクション持ち出して「んなこたぁない。」とか言うのが頓珍漢だって言うだけの話

あと>>571は積み立てるとかの謎用語使われてて読み飛ばしてるので悪しからず
589デフォルトの名無しさん (ワッチョイ 7f4f-cvdf)
2021/08/22(日) 11:11:26.73ID:HSx9B6Zm0
>>588
なんだソース晒さないのか。
ならこの会話はここで終わりだな。
590デフォルトの名無しさん (ワッチョイ 7f01-9KvQ)
2021/08/22(日) 11:39:16.64ID:bz4GO5A/0
はじめから頓珍漢だっていう指摘だから誰かさんにまともな理解力あれば既に終わってた話なんだけどねw
591デフォルトの名無しさん (ササクッテロ Sp73-cvdf)
2021/08/22(日) 11:51:49.66ID:w9I0Mw1ep
>>589
バカはほっといてFilesのループだけで何とかする方法ない?
592デフォルトの名無しさん (ブーイモ MM0f-FcIJ)
2021/08/22(日) 12:02:21.45ID:tt5sChhUM
別の配列を用意して、追加と処理を別々にすればいいだけ
593デフォルトの名無しさん (アウアウウー Sa63-FcIJ)
2021/08/22(日) 12:08:29.70ID:vfl1uW7oa
>>591
中略で何をしてるか不明だからそこの話題の解決は難しいのでは
ループでどんなファイルをFilesに含めているかわからないがループのファイルには拡張子xlsmとxlsxが対象になっているなら
・xlsm→加工してxlsxに変換して保存(元のxlsmは何もしない)
・xlsx→加工してxlsxのまま保存
・それ以外→何もしない
これだけの話にも見えるよね
594デフォルトの名無しさん (ワッチョイ 7f01-9KvQ)
2021/08/22(日) 12:35:51.87ID:bz4GO5A/0
>>591
> バカはほっといてFilesのループだけで何とかする方法ない?
.xlsm ⇒ .xlsx にした時点でFilesの内容がどうなるかはわからんから一旦Filesの内容を配列なりコレクションなりに取り込んでおくしかないと思う
595デフォルトの名無しさん (ワッチョイ ff68-FcIJ)
2021/08/22(日) 12:37:07.40ID:fq28dqqO0
リスト構造みたいなのは?
596デフォルトの名無しさん (JP 0Hc3-FcIJ)
2021/08/22(日) 13:02:31.83ID:HhgXzLK4H
配列だろうがリストだろうがそこは自由
とにかくループ中で母集団をいじらなければいいだけの話だから
597デフォルトの名無しさん (ワッチョイ ff02-VfHF)
2021/08/22(日) 13:03:46.65ID:0Cz6ueFz0
Rustのメモリ安全性はボローチェッカーによって担保されているが、
Nimと比較してRustはタイプ量が多い事により限りなく低い生産性と
C++のような高い難読性、超巨大なバイナリ生成性能を兼ね備えています

Nimはバージョン1.5.1でRustのボローチェッカーに似た「View types」が実装されれば、
GC無しのView typesで参照の有効性を検証することによってメモリ安全性を保証しつつ
限りなく抑え込まれたタイプ量で高速化したCのソースコードを吐き出せます

Nimソースコード ==nimコンパイラ==> Cソースコード ==Cコンパイラ==> バイナリ

なので、nimコンパイラが通った時点でメモリ安全性が担保されませんか?

Nimの実験的特徴 バージョン1.5.1
http://nim-lang.github.io/Nim/manual_experimental.html

第二プログラミング言語として Rust はオススメしません Nim をやるのです
https://wolfbash.hateblo.jp/entry/2017/07/30/193412


Nimは限りなく抑え込まれたタイプ量で高い生産性とPythonのような高い可読性を実現し
ているにもかかわらず、高速なCのソースコードを吐き出せるのでC言語でリモートワーク
されている方は割り振られた仕事が早く終わっても終わってないふりをして怠けることができる

「怠け者とはこうあるべきだ!」と言うとても大事な事を Nim は我々に教えてくれます
598デフォルトの名無しさん (ワッチョイ 7f01-9KvQ)
2021/08/22(日) 13:08:21.86ID:bz4GO5A/0
>>595
リストでもいいけどVBAで簡単に扱えるものある?
599デフォルトの名無しさん (ワッチョイ 7f4f-AI8d)
2021/08/22(日) 19:40:10.48ID:HSx9B6Zm0
>>591
遅くなってすまない。
そうだな、バカはほっといて
Filesのループだけで何とかする方法か。
Filesのループだけで何とかすることは出来ないことはないが、
綺麗に一重のループという方法は今すぐには思いつかないな。

だが、フォルダから直でやり取りしたいからというのであれば、
方法としては>>571で書いた方法とほぼ一緒だが、
Filesのループであればエンティティクラスは使えない。
ではどうするか、といったところで、ループで加工を終了したxlsxのパス名、
または加工する際に使ったxlsmのパス名を何等かの形で保持して、
後はファイルを作った際にループを再帰して加工が終わった
ファイルの処理は飛ばしてしまえばいい。
そうすれファイルを追加した後のファイルの順序やどこからループするか、
どこまでループするかをあまり気にする必要はない。
ただ、その分ループの回数は増える。が、もし現在の
Collectionの仕様が変わったとしても使うことが出来るだろう。

前回作ったソースを少し弄ってそんな感じにしたので、
展開しておこう。
https://pastebin.com/9QVrJDjF
600デフォルトの名無しさん (ワッチョイ 9f2f-YC+D)
2021/08/22(日) 19:51:55.58ID:QHUWYA/B0
いちおうVBAにCollectionってあるけどな

.Net FrameworkのArrayListとかQueueとかつかえばいいんじゃね
601デフォルトの名無しさん (ワッチョイ 9f2f-YC+D)
2021/08/22(日) 20:00:01.46ID:QHUWYA/B0
まずFilesってのが何なのかはっきりしとけ
まあFileSystemObjectのやつだろうけど
あれは、位置指定で取り出したり出来なかったりする、かなり特殊な列挙だった気がする

つか、追加処理でディレクトリ舐めて、そのあともう1回ディレクトリ舐めて処理すればいいだけじゃないのか?
再帰とか意味不明なんだが
たんに2回ループ回すことを再帰と言ってる?
602デフォルトの名無しさん (ワッチョイ 9f2f-YC+D)
2021/08/22(日) 20:18:32.39ID:QHUWYA/B0
>>596
For Eachでのループ中に、な

Filesの列挙が実質For Eachでしかできないのがまあ困ったところなんだが
603デフォルトの名無しさん (ワッチョイ ff68-RJcP)
2021/08/22(日) 20:44:15.61ID:3/Qg+sLj0
>>579
あかんのかねぇ
xlsmをxlsxにするだけなら再帰処理は不要なはず
604デフォルトの名無しさん (ワッチョイ 7f2c-YC+D)
2021/08/22(日) 21:49:43.11ID:aqCRpfAk0
配列をループ中に、要素を追加・削除するのは、
すべての言語で、バグるから禁止

要素の追加・削除で、要素がずれるから、どうなるか分からない
605デフォルトの名無しさん (ワッチョイ 1f5f-N+XL)
2021/08/22(日) 21:56:43.26ID:Dh2ra7Yx0
最終手段はGoToでループ抜けることになるけど、xlsmの時の処理とxlsxの時の処理を分岐させればいいだけよね
606デフォルトの名無しさん (アウアウウー Sa63-jkpn)
2021/08/22(日) 22:19:55.50ID:xquIY43qa
好きなように作れよ
607デフォルトの名無しさん (ワッチョイ 7f42-WoPw)
2021/08/22(日) 22:29:56.81ID:fZZZNArf0
>>605
だよね
そもそもループに拡張子を変えたファイルを追加しようって考えがズレてるだけだよな
608604 (ワッチョイ 7f2c-YC+D)
2021/08/22(日) 23:15:55.98ID:aqCRpfAk0
完全に、処理を分けて作る

まず、拡張子だけを変える。
これで処理対象のファイルを確定させる

その後、処理対象のファイルだけを処理すればよい。
この手順なら、処理中に処理対象のファイル数が増減することはない

とにかく、バグらないような手順を作ることが大事
609デフォルトの名無しさん (ワッチョイ 7f4f-cvdf)
2021/08/23(月) 08:26:55.69ID:LGNn5NAE0
>>605
Goto文使うのはエラーのときと
エラーとエラーじゃないときの
同じ後始末の部分以外は使うなって
死んだばあちゃんが言ってた
610デフォルトの名無しさん (ワッチョイ 1f5f-N+XL)
2021/08/23(月) 08:53:51.78ID:cXrkxB5+0
>>609
初心者にはそれしか解法がわからない場合もあるかなと思って
プロシージャ分割とかも理解できない場合は、とりあえず動くプログラム作れたらなと
611デフォルトの名無しさん (ワッチョイ ff68-FcIJ)
2021/08/23(月) 10:54:22.12ID:FgZeCk1s0
goto finaly
612デフォルトの名無しさん (ワッチョイ ff30-/WcA)
2021/08/23(月) 23:10:58.58ID:JXgHy/i50
ちょっとスレ違いで恐縮ですが知ってる方がいたら教えてください 3D CAD(catia v5、ソリッドワークス、NXなど)のVBAについて話題にしてるスレとかご存知の方いれば教えてください
613デフォルトの名無しさん (ワッチョイ 7f42-WoPw)
2021/08/24(火) 01:04:28.30ID:O47VPk1P0
そんなものはない
614デフォルトの名無しさん (ブーイモ MMc3-zYVw)
2021/08/24(火) 01:15:14.20ID:F5g8S0IPM
>>612
これらの3D CADにVBAが載ってるの?
615デフォルトの名無しさん (JP 0Hc3-FcIJ)
2021/08/24(火) 04:11:27.55ID:daNQErAcH
エスパーするとマクロのことだろ
616デフォルトの名無しさん (ワッチョイ 9f8e-ma+S)
2021/08/24(火) 05:20:46.31ID:TjlSba9p0
>>612
馬鹿は死ね
617デフォルトの名無しさん (ワッチョイ 7f4f-cvdf)
2021/08/24(火) 08:13:34.81ID:klPKE9MS0
>>612
そんなスレは存在しないし立てたとしても誰もレスしないだろう。
質問があるならこっちで聞けばひょっとすると誰か答えてくれるかもな

スレ立てるまでもない質問はここで 157匹目
http://2chb.net/r/tech/1624024239/
618デフォルトの名無しさん (ブーイモ MMc3-zYVw)
2021/08/24(火) 08:30:12.55ID:g24P+U87M
調べたら、SolidWorksはAPIでVBAとかC(++)とかから呼び出せるみたいだから、Excel VBA で呼ぶ範囲ならこのスレでも良いんじゃない?
CAD ソフト側の特有の動作は答えられる人少ないか居ないだろうけど
619デフォルトの名無しさん (ワッチョイ ffda-jkpn)
2021/08/24(火) 09:09:24.64ID:4r51bMHN0
>>618
そんな質問してないだろ
620デフォルトの名無しさん (テテンテンテン MM4f-9KvQ)
2021/08/24(火) 12:58:36.89ID:v4BujoFfM
SolidWorksのAPI呼んでなにかしようとするような奴がこんfなスレでVBAの質問なんてしないだろw
621デフォルトの名無しさん (ブーイモ MMc3-ACe6)
2021/08/24(火) 13:07:40.15ID:Ggt7zoavM
でも、3D CADのVBAって言っちゃうレベルの質問者さんだし...
622デフォルトの名無しさん (エムゾネ FF9f-tXhk)
2021/08/24(火) 15:14:02.93ID:WZMj7UxVF
馬鹿には無理
623デフォルトの名無しさん (オイコラミネオ MM23-PhLg)
2021/08/24(火) 18:59:28.08ID:Tulkbq4hM
最悪go toもありだろ
624デフォルトの名無しさん (ブーイモ MMc3-7Mq8)
2021/08/24(火) 20:36:36.02ID:DkRvLF/FM
おまいら、質問者を馬鹿にするのやめろよ
625デフォルトの名無しさん (ブーイモ MM9f-UIif)
2021/08/24(火) 21:11:06.89ID:4FqDVhnYM
「貴方には無理」と言ってあげるのも親切
馬鹿が諦めず無理してるおかげで周囲は迷惑してる
626デフォルトの名無しさん (ワッチョイ ff68-RJcP)
2021/08/24(火) 21:17:10.14ID:PotHtuTn0
dllやAPIアリならもうなんでもvbaのような
627デフォルトの名無しさん (ワッチョイ ff68-RJcP)
2021/08/24(火) 21:17:46.98ID:PotHtuTn0
知ってたら答えるけど、あまりにも知ってる人が少なすぎる
メーカーに聞いた方が早いとおもう
628デフォルトの名無しさん (アウアウウー Sa63-LN3e)
2021/08/24(火) 22:24:25.02ID:EnLftN4na
>>612
話題になってませんが聞くならこっちのスレかな?

VBAなんでも質問スレ Part2 [転載禁止]©2ch.net

http://2chb.net/r/tech/1432173164

0001 デフォルトの名無しさん 2015/05/21 10:52:44
VBAを使った質問ならなんでもござれ
本来の対象であるオフィスアプリを操作する以外の話もOK

ゲーム作り、Webアクセス、外部アプリの操作
COM(ActiveX)、Win32API、.NET Framework、DirectXなどなど
VBAで実行するものであればなんでも質問してください
629デフォルトの名無しさん (ワッチョイ 7fad-FcIJ)
2021/08/25(水) 00:31:39.65ID:1unhm7rk0
VBEの入力支援で「WorksheetFunction」って邪魔ですよね。
「Worksheets」が第一候補に表示されればいいのに。
630デフォルトの名無しさん (アウアウウー Sa63-wElo)
2021/08/25(水) 01:55:37.60ID:7J8MKXIfa
辞書順だから仕方がないよね
631デフォルトの名無しさん (ブーイモ MM0f-kXDh)
2021/08/25(水) 07:25:33.24ID:SRu++D3OM
客先のお偉いさんにコンテンツの有効化を行わずにマクロを動かせと無茶振りされるなどした

決してデジタル署名云々をなどという話ではなく
既存のツールのコードをいじらずにWorkbook_Openのイベントを回避せよとのご指示を頂いたのだ
どうしたものか
632デフォルトの名無しさん (ワッチョイ ff68-RJcP)
2021/08/25(水) 07:35:04.03ID:ltkpDR880
>>631
他のブックにマクロを書いて
・イベント停止
・ブックopen

Sub foo()
Application.EnableEvents = False
Workbooks.Open (ThisWorkbook.Path & "\book1.xlsm")
Application.EnableEvents = True
End Sub
633デフォルトの名無しさん (ブーイモ MM0f-kXDh)
2021/08/25(水) 07:39:39.81ID:SRu++D3OM
あ、他ファイルの新規作成も一切ダメだそうです
634デフォルトの名無しさん (ワッチョイ ff68-RJcP)
2021/08/25(水) 07:50:37.91ID:ltkpDR880
じゃあ基本イベント停止にしてマクロを動かしたい時だけ
Application.EnableEvents = True
だな
635デフォルトの名無しさん (ブーイモ MM0f-kXDh)
2021/08/25(水) 08:12:30.95ID:SRu++D3OM
既存のツールのコードに手を加えるのはNG、別のファイルを作成するのもNG、数百人ほどいる作業員に配布してるツールだからExcelの設定を変更して回るのも現実的ではない
要するに作業工数を発生させずにイレギュラーに対応出来る特殊仕様用のツールを作れって事みたい
636デフォルトの名無しさん (ワッチョイ 7f42-WoPw)
2021/08/25(水) 09:17:10.78ID:ZSU75DCm0
なんか話おかしくね
そのイレギュラー対応ツールはどこに置いて誰が使うことを想定してんだ
637デフォルトの名無しさん (テテンテンテン MM4f-9KvQ)
2021/08/25(水) 09:40:43.13ID:ZqZAJ3QxM
相手すんなよ偉いさんに振られた内容を盛って語ってるだけだろ
そもそも客先からの要請なら普通にできないって断ればいいだけだし
638デフォルトの名無しさん (ブーイモ MM0f-kXDh)
2021/08/25(水) 10:21:16.42ID:SRu++D3OM
いやまぁ断るんだけどさ
逐一ネットワークドライブのファイルとやりとりをしてるツールを社外の下請け業者にも使わせたいんだと
まぁ当然ながら下請け業者からはネットワークドライブに接続はできないんよ
だから何するにしてもエラーが出ます。なんならファイルを開いた時にコンテンツの有効化を押した時点でエラー出ますよ。って言ったらコンテンツの有効化を押さずにマクロを動かせば良いじゃないかって怒鳴りながら台パンされたのが昨日の話
639デフォルトの名無しさん (ワッチョイ ff24-jkpn)
2021/08/25(水) 10:33:09.92ID:PF+Wtj1u0
それで金もらうんでしょ
640デフォルトの名無しさん (ワッチョイ 7f4f-cvdf)
2021/08/25(水) 13:39:00.29ID:9wT7W/qy0
>>638
断るという方針を決めているなら解決だな
641デフォルトの名無しさん (ワッチョイ 1fcc-zH/y)
2021/08/25(水) 14:41:15.54ID:j973WKJq0
ユーザーフォームのコンボボックスでドロップボタンをおすと実行され、リストができるのですが、項目を選択しても反映されず空欄になってしまいます。
反映されるにはどうしたらいいでしょうか

Private Sub ComboBox3_DropButtonClick()
Dim LastDay As Long, MyYear As Long, MyMonth As Long, r As Long

With UserForm1

.ComboBox3.Clear
MyYear = Val(Replace(ComboBox1.Value, "年", ""))
MyMonth = Val(Replace(ComboBox2.Value, "月", ""))

'来月1日の1日前から今月の対象月の終了日を算出する
LastDay = Day(DateSerial(MyYear, MyMonth + 1, 0))
'リストボックス3に今日の日付リストを入れる
For r = 1 To LastDay
.ComboBox3.AddItem r & "日"
Next r

End With
End Sub
642デフォルトの名無しさん (ラクッペペ MM4f-U159)
2021/08/25(水) 14:45:50.68ID:vgh3MVy/M
しらんけど
月の変更時にやるもんじゃね?
643デフォルトの名無しさん (ワッチョイ 7f4f-cvdf)
2021/08/25(水) 15:11:25.13ID:9wT7W/qy0
知らんけど変数の頭によくMyとかmyとか付ける人いるけど私の年とか私の月なの?
644デフォルトの名無しさん (ブーイモ MMe3-7Mq8)
2021/08/25(水) 15:32:21.08ID:KYWpPte7M
mousedown でやるとか?
645デフォルトの名無しさん (ワッチョイ 7f42-WoPw)
2021/08/25(水) 15:50:44.79ID:ZSU75DCm0
ComboBox3のイベントでやることじゃないんじゃね
646デフォルトの名無しさん (アウアウウー Sa63-N+XL)
2021/08/25(水) 17:16:17.54ID:92U/3Tama
DropButtonClickが発火していない可能性をまず見る

Combobox1とCombobox2の頭に「.」が付いていないことが原因か調べる

来月1日の1日前から今月の対象月の終了日…の日本語がよくわからんが、仮にMyMonthが12ならどうなるの?というのは気になる

そもそもDay関数で0日を指定しているんだから、どうやってもLastDayって0になるんでは?

最後のが原因かとは思うが、とりあえず気になったところを
647デフォルトの名無しさん (アウアウウー Sa63-N+XL)
2021/08/25(水) 17:19:41.69ID:92U/3Tama
>>646
どうやら0日を指定すると前月末になる仕様なのね
誤った理解で申し訳ない
https://vbabeginner.net/find-number-of-days-in-month/
648デフォルトの名無しさん (ワッチョイ ff56-nscA)
2021/08/25(水) 18:17:55.62ID:7AvRhiNY0
>>419

「100点取らなきゃいけない数学のテストが延々と続く」って
表現したことあるけど、あんたの表現は簡にして要を得てるな。
649デフォルトの名無しさん (ワッチョイ 7f01-/QDj)
2021/08/26(木) 01:04:55.66ID:3Wwx5xcw0
>>641
まぁなんでもいいんだけどこういうテストしてみる
TextBox1を設置してプロパティのmultilineをtrueにしておく
んでコンボボックスのイベントの下の方にちょい付け加えてこうする

Private Sub ComboBox3_DropButtonClick()
Dim MyYear As Integer
Dim MyMonth As Integer
Dim LastDay As Integer
With UserForm1
.ComboBox3.Clear
MyYear = Val(Replace(ComboBox1.Value, "年", ""))
MyMonth = Val(Replace(ComboBox2.Value, "月", ""))
'来月1日の1日前から今月の対象月の終了日を算出する
LastDay = Day(DateSerial(MyYear, MyMonth + 1, 0))
'リストボックス3に今日の日付リストを入れる
Dim r As Integer
For r = 1 To LastDay
.ComboBox3.AddItem r & "日"
Next r
End With
TextBox1.Text = TextBox1.Text & Now & vbNewLine'←これ
End Sub

すると、combobox3でリスト開いた時だけじゃなくて、アイテム選択したときもイベントが発生していることがわかる
650デフォルトの名無しさん (ワッチョイ 7f01-/QDj)
2021/08/26(木) 01:06:07.22ID:3Wwx5xcw0
そもそもcombobox3は結果表示のコントロールだから、ここに余計なもの置くべきじゃないわ

Option Explicit
Private Sub ComboBox1_Change()
If ComboBox1.Value <> "" And ComboBox2.Value <> "" Then
AddItemToComboBox3
End If
End Sub
Private Sub ComboBox2_Change()
If ComboBox1.Value <> "" And ComboBox2.Value <> "" Then
AddItemToComboBox3
End If
End Sub
Sub AddItemToComboBox3()
Dim MyYear As Integer
Dim MyMonth As Integer
Dim LastDay As Integer
With UserForm1
.ComboBox3.Clear
MyYear = Val(Replace(ComboBox1.Value, "年", ""))
MyMonth = Val(Replace(ComboBox2.Value, "月", ""))
'来月1日の1日前から今月の対象月の終了日を算出する
LastDay = Day(DateSerial(MyYear, MyMonth + 1, 0))
'リストボックス3に今日の日付リストを入れる
Dim r As Integer
For r = 1 To LastDay
.ComboBox3.AddItem r & "日"
Next r
End With
End Sub
651デフォルトの名無しさん (ワッチョイ 7f01-/QDj)
2021/08/26(木) 01:06:23.79ID:3Wwx5xcw0
>>650続き

Private Sub ComboBox3_DropButtonClick()
'空にする
End Sub
Private Sub UserForm_Initialize()
ComboBox1.AddItem "2021年"
ComboBox2.AddItem "8月"
End Sub
652デフォルトの名無しさん (ワッチョイ 7f01-/QDj)
2021/08/26(木) 01:08:23.20ID:3Wwx5xcw0
Option Explicitつけないのがはやりなんかね
宣言しねぇのがはやりなんかね
653デフォルトの名無しさん (ラクッペペ MM4f-U159)
2021/08/26(木) 10:50:03.92ID:3EUdzNHVM
質問には必要だが
回答には不要
654デフォルトの名無しさん (ワッチョイ 7f28-T33Q)
2021/08/26(木) 14:29:16.05ID:/k4Lkr6/0
VBAのコードを書くウインドウが何かのタイミングで個別ウインドウ表示に切り替わり、バラバラになって元に戻らなくなってしまったのですが、
プロジェクト一覧などが左側にある初期状態に戻すにはどうすれば良いのでしょうか?
655デフォルトの名無しさん (JP 0Hc3-FcIJ)
2021/08/26(木) 14:59:17.57ID:2GwscEzmH
>>654
KYCU\SOFTWARE\Microsoft\VBA\7.1\Common\Dockを削除
完全な初期状態だと使いにくいから、自分流にカスタマイズした後Common以下を保存しとくといい
656641 (ワッチョイ 1fcc-zH/y)
2021/08/26(木) 17:19:31.21ID:eaDIsBK00
皆様ありがとうございます。年と月の変更時に組み替えてできるようになりました

>>642
それに変更しました

>>644
試しましたが、リストの表示すらされませんでした

>>645
その通りでした

>>650
ありがとうございます。
657デフォルトの名無しさん (ワッチョイ 7f28-T33Q)
2021/08/26(木) 19:24:12.66ID:/k4Lkr6/0
>>655
ありがとうございます!リセット機能が無いのですねぇ
658デフォルトの名無しさん (ワッチョイ 8605-GwXH)
2021/08/28(土) 02:17:56.45ID:XzPbf7xa0
請求書つくってて1行ごとに仕切り線を挿れたいです
入力があるセルのセルの下に、オートシェイプ(0.75ptなどの線)を引くことはできませんか?

規定の線では太すぎて表がごちゃごちゃになってしまいます(細線では複数のプリンターでかすれて出ませんでした)

Excelでは線の種類が少ないので望みの書類をつくれない、力技でオートシェイプで引きたいけど手作業では大変
請求書データをコピペしてボタンおしたらオートシェイプの線がセルに沿ってしかれる、としたいです
659デフォルトの名無しさん (スフッ Sd22-U7Lh)
2021/08/28(土) 02:53:29.63ID:K563/rxVd
>>658
できます
660デフォルトの名無しさん (ブーイモ MMf6-hkn+)
2021/08/28(土) 02:57:38.41ID:K97Q7PgmM
条件付き書式で罫線を引いて
線の太さは色をグレーにしてごまかす

VBA使わないなw
661デフォルトの名無しさん (JP 0H4d-U7Lh)
2021/08/28(土) 03:20:48.79ID:k0s+jeSJH
>>658
'何か入力済のセルにオートシェイプで下線を引く
Sub Macro1()
  For Each c In ActiveSheet.UsedRange
    If c.Text <> "" Then Call セルに下線(c.Row, c.Column)
  Next
End Sub

Sub セルに下線(r, c)
  x1 = Cells(1, c).Left
  x2 = Cells(1, c + 1).Left
  y1 = Cells(r + 1, 1).Top
  y2 = y1
  ActiveSheet.Shapes.AddConnector(msoConnectorStraight, x1, y1, x2, y2).Select
  With Selection.ShapeRange.Line
    .ForeColor.RGB = RGB(0, 0, 0)  '黒
    .Weight = 0.75  '太さpt
  End With
End Sub
662デフォルトの名無しさん (ワッチョイ 8605-GwXH)
2021/08/28(土) 03:32:32.93ID:XzPbf7xa0
>>660
それだとモノクロプリンタに対応できません
あと太いのは太いのでやぼったいですよね
>>661
休み明けに頑張ってみます
オートシェイプで選択できる太さはすべて指定出来ますよね?
663デフォルトの名無しさん (ワッチョイ 0201-cpbU)
2021/08/28(土) 03:44:32.68ID:3njcewBU0
Shape系って使うのはいいんだけど削除してもオブジェクトが残るバグってない?
以前苦しんだ記憶が
664デフォルトの名無しさん (ブーイモ MMf6-U7Lh)
2021/08/28(土) 05:22:31.37ID:1cfI7qZ1M
モノクロプリンタでもグレーぐらい印刷できるやろ
665デフォルトの名無しさん (ワッチョイ aeda-HBgv)
2021/08/28(土) 11:23:58.24ID:wL/wcpIq0
グレーはやめとけ
666デフォルトの名無しさん (ブーイモ MM4d-EMao)
2021/08/28(土) 11:34:50.96ID:O3Ip+Qo9M
なんで?
667デフォルトの名無しさん (アウアウウー Sa85-0BKB)
2021/08/28(土) 12:05:27.22ID:ZUCCF//La
目がアーモンドになる
668デフォルトの名無しさん (ワッチョイ 8605-GwXH)
2021/08/28(土) 12:37:46.09ID:XzPbf7xa0
>>664
一般的ではないですよね
669デフォルトの名無しさん (ワッチョイ 298e-CEQY)
2021/08/28(土) 13:21:54.79ID:GacscTPG0
今時エクセルで請求書を作る会社って
670デフォルトの名無しさん (ワッチョイ 8605-GwXH)
2021/08/28(土) 13:26:28.47ID:XzPbf7xa0
>>669
なにでつくるの?
Accessは古すぎたしファイルメーカーは高すぎであきらめた
売上額月に600万程度だからExcelでも十分なんだよね
671デフォルトの名無しさん (ワッチョイ ae68-U7Lh)
2021/08/28(土) 13:29:02.28ID:Wn50/Mou0
今時〇〇ってとか言うアホはスルーでいいよ
672デフォルトの名無しさん (ワントンキン MM52-jtj7)
2021/08/28(土) 13:34:29.23ID:d2Jh3olLM
>>671
こういう馬鹿こそスルーだろ
請求書発行ソフトとか販売管理とか沢山あるだろ
673デフォルトの名無しさん (ブーイモ MMf6-EMao)
2021/08/28(土) 13:41:02.22ID:y1FEzj5CM
と、馬鹿が申しております。
674デフォルトの名無しさん (スフッ Sd22-GwXH)
2021/08/28(土) 13:41:56.34ID:YRitmpAVd
>>672
市販のあわないだろ
675デフォルトの名無しさん (ワッチョイ 4668-bRsM)
2021/08/28(土) 13:50:09.98ID:+T8TIHFV0
なんでそこで経理ソフトって出てこないんだろう・・・
676デフォルトの名無しさん (ワッチョイ ae68-U7Lh)
2021/08/28(土) 14:11:22.66ID:Wn50/Mou0
>>672
Excelで間に合ってるならそれでええやん
外野が何言ってんだかって感じ
677デフォルトの名無しさん (ワッチョイ 112f-q8ax)
2021/08/28(土) 14:15:33.19ID:OUVKMoF10
まあ間に合ってるってならエクセルでいいけど
シェイプで線引くような帳票が間に合ってるといえるのか

俺なら罫線で間に合わせるけどな
678デフォルトの名無しさん (ワッチョイ 3d5f-jtj7)
2021/08/28(土) 14:39:40.62ID:nfIYqgR90
EXCEL帳票って多いよね
請求書に限らず
679デフォルトの名無しさん (スップ Sd22-U7Lh)
2021/08/28(土) 14:43:17.47ID:EKyvlYlFd
うちみたいな零細は帳票の枚数も少ないしExcelに罫線で十分なんだワ
専用ソフトは従業員が2桁人数になってからだな
680デフォルトの名無しさん (ワッチョイ 4668-bRsM)
2021/08/28(土) 14:50:21.30ID:+T8TIHFV0
請求書の罫線にこだわるって何の意味があるんだろうと思う
681デフォルトの名無しさん (ワッチョイ 8605-GwXH)
2021/08/28(土) 16:39:25.21ID:XzPbf7xa0
>>680
ぶっといの気にならない?
単なる美的センス的なこだわりだからとくに意味はないんだけどね
ぶっとい枠線だらけの表とかみるとデザインセンスというか旧時代的な印象うけてしまう
682デフォルトの名無しさん (ワッチョイ 8605-GwXH)
2021/08/28(土) 16:40:04.12ID:XzPbf7xa0
>>677
Excelで0.75とかひければ問題ないんですけどね
683デフォルトの名無しさん (テテンテンテン MM66-iMcn)
2021/08/28(土) 16:49:11.38ID:clAN9KQWM
そもそも罫線レイアウトが旧時代的だよ
684デフォルトの名無しさん (ワッチョイ ae68-U7Lh)
2021/08/28(土) 17:01:08.85ID:Wn50/Mou0
>>681
さすがに旧時代的な印象だからって理由だったなら
なぜExcelで?ってなるぞw
685デフォルトの名無しさん (ワッチョイ 8605-GwXH)
2021/08/28(土) 17:03:13.47ID:XzPbf7xa0
>>683
でも印刷だと最低限は必要じゃない?
数十行ならんでるととくに

交互に色変えるのはモノクロやプリンタによって大きくかわるからねえ
686デフォルトの名無しさん (ワッチョイ 8605-GwXH)
2021/08/28(土) 17:04:05.90ID:XzPbf7xa0
>>684
線以外は不満ない
Accessも線選べないから細い四角をかいてならべてる
687デフォルトの名無しさん (テテンテンテン MM66-q9XR)
2021/08/28(土) 17:15:47.71ID:6AjG+XmcM
そこまで帳票にこだわるならCrystal Reportsとか使えばいいのに
https://www.sap.com/japan/products/crystal-visual-studio.html
688デフォルトの名無しさん (ワッチョイ 024f-I0lI)
2021/08/28(土) 17:21:15.10ID:W6iJhC5F0
>>687
クリスタルレポート、アクティブレポート、PDFも別言語では使うけどEXCEL使う場合も多いからやっぱり抑えておくべきだよ。
特にここ、EXCEL VBAのスレだし。
689デフォルトの名無しさん (ワッチョイ 8605-GwXH)
2021/08/28(土) 17:23:01.48ID:XzPbf7xa0
>>687
>>688
はじめて聞きましたが世界標準なんですね
日本語ではあまり情報がないみたいですね
690デフォルトの名無しさん (ワッチョイ 024f-I0lI)
2021/08/28(土) 17:27:11.56ID:W6iJhC5F0
>>689
今は特に気にしなくていいよ。
そもそもVBAから使ったことないから
VBAから使えるか分からんし。
691デフォルトの名無しさん (アウアウウー Sa85-U7Lh)
2021/08/28(土) 19:16:34.16ID:6UyriYnia
VBA使って作るぐらいだから大げさなものではないと思うから正直なところ明細の罫線はなくてもかまわないのではと思う
罫線信仰については日本は細かいと思うわ
それなら偶数行の背景に薄いグレーの背景色をつけたほうがきれいに見えるかと
692デフォルトの名無しさん (ワッチョイ 4563-iMcn)
2021/08/28(土) 19:21:46.63ID:P0+dXebs0
帳票とかでも罫線レイアウトしてるのはただ単に四角く収まってるだけで別に使いやすくともなんともないんだよな
項目の意味より見た目の収まりでレイアウトしてるから意味不明だし書き込むスペースが足りなかったりするし
693デフォルトの名無しさん (ワッチョイ 8605-GwXH)
2021/08/28(土) 19:22:16.12ID:XzPbf7xa0
>>691
モノクロレーザーだと濃淡でないのでスクリーントーンみたいになるんですよね

これみてたけど線があったりなかったり色付きだったり
なんか世界的な基準とかあるんですかね?
Excel VBA 質問スレ Part72 YouTube動画>8本 ->画像>7枚
694デフォルトの名無しさん (アウアウウー Sa85-U7Lh)
2021/08/28(土) 19:51:56.00ID:6UyriYnia
どんなプリンタ使ってるか不明だけど印刷品質とかでモノクロレーザーでもそれなりな背景色つけられると思うから
プリンタ側の設定みなおしてみたほうがよいのでは

基準なんて別にないでしょ作り手(提供者)のセンスだけかと
695デフォルトの名無しさん (アウアウウー Sa85-HBgv)
2021/08/28(土) 20:04:28.62ID:qSiuLs4Ta
濃いグレーと薄いグレーがどう印刷されるかな
696デフォルトの名無しさん (JP 0H4d-U7Lh)
2021/08/28(土) 20:16:48.82ID:k0s+jeSJH
Excelの設定でも解像度が指定できるしモノクロレーザーの設定でも濃度や網点の細かさぐらい変更できるのに
697デフォルトの名無しさん (ワッチョイ 8605-GwXH)
2021/08/28(土) 20:45:50.31ID:XzPbf7xa0
>>696
300dpiだと文字がガタガタ
600dpiだと一番細いとされる点線が印刷されませんね
698デフォルトの名無しさん (ワッチョイ c95f-K0XX)
2021/08/29(日) 10:34:22.30ID:7BYV+8iF0
任意のセルを選択(飛び地あり)→数式の入っているセル全て値貼り付けしたくて作成しました
動くのですが100万を超えるデータで動かすと1分以上かかってしまいます
2次元配列?を使えば高速化できますか
配列は使ったことがなく説明を読んでも難しく混乱していしまいました
よろしくお願いします

Dim Sc As Range

Application.Calculation = xlManual
 
Selection.SpecialCells(xlCellTypeFormulas, 23).Select
 
For Each Sc In Selection
    Sc.Value = Sc.Value
Next Sc
699デフォルトの名無しさん (ワッチョイ 4668-bRsM)
2021/08/29(日) 10:45:24.11ID:lED3Ocwo0
>>698
selectionしなければ早くなるかも

Sub Macro2()
Application.Calculation = xlManual
For Each Sc In Selection.SpecialCells(xlCellTypeConstants, 23)
Sc.Value = 5
Next Sc
End Sub
700デフォルトの名無しさん (アウアウウー Sa85-RMdL)
2021/08/29(日) 10:45:44.98ID:HK4nM9G2a
>>698
Selectionは極力使わない方がいい

数式の入ったCellsをUnionしていって、最後にUnion範囲に対して値貼り付けすれば?
701デフォルトの名無しさん (ワッチョイ 4668-bRsM)
2021/08/29(日) 10:46:46.41ID:lED3Ocwo0
違った、こうか

Sub Macro2()
Application.Calculation = xlManual
For Each Sc In Selection.SpecialCells(xlCellTypeConstants, 23)
Sc.Value = Sc.Value
Next Sc
End Sub

しかし選択してるのは定数なのに、valueをvalueにするの?
あんまり意味ない気がするんだけど
702デフォルトの名無しさん (ワッチョイ c95f-K0XX)
2021/08/29(日) 11:23:08.03ID:7BYV+8iF0
>>701
ありがとうございます
試してみます

コピペを繰り返すより代入した方が早い、と出たので上記のようになりました
Range一辺倒だったのでUnionも調べてみます
703デフォルトの名無しさん (テテンテンテン MM66-q9XR)
2021/08/29(日) 11:34:43.22ID:IYYa0ToFM
>>698
> Selection.SpecialCells(xlCellTypeFormulas, 23).Select

>>701
> For Each Sc In Selection.SpecialCells(xlCellTypeConstants, 23)
> しかし選択してるのは定数なのに、valueをvalueにするの?
> あんまり意味ない気がするんだけど

704デフォルトの名無しさん (ワッチョイ 868c-ylpg)
2021/08/29(日) 12:40:07.80ID:TcEoTH9E0
>>698
数式セルだけに限定しないで
全部貼り付けちゃえばいいんじゃないの

Sub Macro3()
Dim temp()
temp = Selection
Selection = temp
End Sub
705デフォルトの名無しさん (ワッチョイ 868c-ylpg)
2021/08/29(日) 13:20:16.41ID:TcEoTH9E0
>>698
あー選択が飛び地か 
飛び地のRangeを順に取得する関数ってあったっけ 
思いつかないので以下のように修正版。
splecialcellsを使う必要がない気がするが尊重して入れておいた
//
Sub Macro4()
Application.Calculation = xlManual
Application.ScreenUpdating = False
myAddress = Split(Selection.SpecialCells(xlCellTypeFormulas, 23).Address, ",")
Dim temp()
For Each EE In myAddress
temp = Range(EE)
Range(EE) = temp
Next
End Sub
706デフォルトの名無しさん (ワッチョイ 3d5f-9Am5)
2021/08/29(日) 13:22:53.01ID:FZqboG1a0
>>704
ひとつずつ処理するよりもこういう考え方が正しい
707698 (ワッチョイ c95f-K0XX)
2021/08/29(日) 13:24:14.88ID:7BYV+8iF0
698です
色々と案をありがとうございます

>>701は構文エラーとなってしまいました
たしかにSelectionを使わなければ早くなりそうではあるのですが…

またUnionでまとめる方法は飛び地がなければ良さそうですが、左に詰めて貼り付けされてしまい欲しい結果が得られませんでした

>>704
こちらも隣接セルのみであれば問題なさそうなのですが複数セルだと1番左の列は問題ないものの他のセルが元データとは異なるデータがペーストされてしまいました

私の理解不足であれば申し訳ありません

ちなみに列選択をした際に少しでもループを減らしたかったため数式セルに限定してみただけなので選択部分まとめてでも問題ありません
708698 (ワッチョイ c95f-K0XX)
2021/08/29(日) 13:25:52.00ID:7BYV+8iF0
>>705
更新せず書き込みすみません
試してみます
709デフォルトの名無しさん (ワッチョイ 4668-bRsM)
2021/08/29(日) 13:34:12.51ID:lED3Ocwo0
>>701だけどスマン、間違えてた上にすげーアホなことやってたわ

>>698
>任意のセルを選択(飛び地あり)→数式の入っているセル全て値貼り付けしたくて作成しました

Sub tgggMacro2()
Range("a1:z100").Value = Range("a1:z100").Value
End Sub

これでアカンのか
※cells.valueだとメモリ不足になる
710698 (ワッチョイ c95f-K0XX)
2021/08/29(日) 18:40:28.03ID:7BYV+8iF0
>>705
試してみました
成功する時と途中でオブジェクトの型が一致しない、とエラーになる場合があるようです
配列を理解できておらず、なぜエラーになるのか解決策にたどり着けていません
単独セルを選択している箇所でエラーになるように思います
実際に使用する際は1セルだけを選択することはまずないとは思うのですが…

>>709
せっかく書いていただいたのですが求めている内容ではなさそうです
全て代入していいならほんとラクなんですけどね
711デフォルトの名無しさん (ワッチョイ 3d5f-9Am5)
2021/08/29(日) 19:03:27.49ID:FZqboG1a0
>>710
数式セルを値貼り付けするならなんで709じゃだめなん?
712698 (ワッチョイ c95f-K0XX)
2021/08/29(日) 19:06:25.69ID:7BYV+8iF0
>>711
対象のセルはファイルによって異なりますが数式をあえて残すセルもあります
シート内の計算結果を全て値にしたい訳ではないのです
713デフォルトの名無しさん (ワッチョイ ae68-U7Lh)
2021/08/29(日) 19:29:10.08ID:sPGAkNt40
後だしぃ
714デフォルトの名無しさん (ブーイモ MMf6-hkn+)
2021/08/29(日) 19:29:59.26ID:sl9xswiTM
rangeを配列に格納
配列内で特定セルに該当する部分を値に書き換えて
一気に貼り付ける
715698 (ワッチョイ c95f-K0XX)
2021/08/29(日) 19:35:54.89ID:7BYV+8iF0
え…始めから飛び地ありの任意セルを選択した状態って書いてあるのに後出しと言われましても…
716デフォルトの名無しさん (ワッチョイ 4668-bRsM)
2021/08/29(日) 19:50:08.61ID:lED3Ocwo0
>>698
恐らくこれが一番早いと思います
飛び地で値でコピーペーストはできないし、
配列はしんどい

Sub Macro2()

Application.Calculation = xlCalculationManual ' 手動計算にする
Application.ScreenUpdating = False ' 描画を停止する

For Each Sc In Selection.SpecialCells(xlCellTypeFormulas, 23)
Sc.Value = Sc.Value
Next Sc

Application.Calculation = xlCalculationAutomatic ' 自動計算にする
Application.ScreenUpdating = True ' 描画を再開する

End Sub

>>711
要は
・選択部分を値にするマクロが欲しい
・値にする部分はフォーマットによって変わる
※社内で様々なフォーマットがあり、今はそれぞれを作り込む暇がないので「選択+値化」で逃がしている

という事なのだろう


>>714
飛び地ありで配列にうまく入れる方法ってあるのかな
717デフォルトの名無しさん (JP 0H4d-U7Lh)
2021/08/29(日) 19:58:18.50ID:1aCvHSMxH
ワークシート→配列は無関係なセルも一気に読み込んで、書き戻す時は1個ずつにしてもそこそこスピードアップできそうな気がする
718705 (ワッチョイ 868c-ylpg)
2021/08/29(日) 21:48:01.74ID:TcEoTH9E0
>>710
もう手間のかかる子だなぁw
Sub Macro5()
Application.Calculation = xlManual
Application.ScreenUpdating = False
myAddress = Split(Selection.SpecialCells(xlCellTypeFormulas, 23).Address, ",")
Dim temp()
For Each EE In myAddress
If Range(EE).Count = 1 Then
Range(EE).Value = Range(EE).Value
Else
temp = Range(EE)
Range(EE) = temp
End If
Next
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub

100万を超えるデータで動かすと何秒で終わるか教えてね
719デフォルトの名無しさん (ワッチョイ 4668-bRsM)
2021/08/29(日) 22:34:44.25ID:lED3Ocwo0
>>718
横だけど
Dim temp()
temp = Range(EE)
Range(EE) = temp

これは
Range(EE).value =Range(EE).value
じゃダメなの?
720デフォルトの名無しさん (ワッチョイ 8242-vQ3w)
2021/08/29(日) 22:40:30.11ID:zuaG9uH70
最後にそもそも値貼付けする理由がないとかいうオチが待ってそうだな
721705 (ワッチョイ 868c-ylpg)
2021/08/29(日) 23:13:06.85ID:TcEoTH9E0
>>719
あ!ほんとだ
配列という言葉にこだわっちゃって無駄なことをしてたねw
Sub Macro6()
Application.Calculation = xlManual
Application.ScreenUpdating = False
myAddress = Split(Selection.SpecialCells(xlCellTypeFormulas, 23).Address, ",")
For Each EE In myAddress
Range(EE).Value = Range(EE).Value
Next
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub
722705 (ワッチョイ 868c-ylpg)
2021/08/29(日) 23:18:37.19ID:TcEoTH9E0
そのそもrelaxtoolsとかになかったっけw
確認してないけど
723デフォルトの名無しさん (ワッチョイ ae56-Y/PZ)
2021/08/29(日) 23:53:07.29ID:V4lHBgfX0
エクセルVBAが、現在最も重宝される言語だってのはわかるし
自分も随分それで助けられてるんだけど、その次に学ぶべきなのは
なんなんだろう。

VBA自体が終わった言語なのは明らかだし・・・。

JavaScript ? Rust? その他?
724デフォルトの名無しさん (JP 0H4d-U7Lh)
2021/08/30(月) 00:31:07.88ID:ckBh8waKH
>>723
言語は手段、重要なのは目的
何をやりたいかで選べ
たとえばスマホアプリを作りたいならJava
725デフォルトの名無しさん (ワッチョイ 6e10-7kKc)
2021/08/30(月) 00:36:33.71ID:HHMxmKKh0
VBAが必要な理由てさ、元データがExcelだから
これ以上でもこれ以下でもないよね
そしてそれはこれからも変わらないもの
726デフォルトの名無しさん (ワッチョイ 4668-bRsM)
2021/08/30(月) 07:18:10.56ID:lQLq+TuC0
>>723
js:
ブラウザのコンソールに入力or拡張機能が非常に強力
web関連では大体なんでも出来る
ただ言語の仕様が色々と特殊

php:
webサーバー作りたいならこれ
本格運用しようとすると、覚える事は非常に多い
特にセキュリティが鬼門

rust:
新機能てんこもりの革新的な言語!は大体廃れる
727デフォルトの名無しさん (ワッチョイ 024f-I0lI)
2021/08/30(月) 08:10:18.19ID:g9J4xp5m0
>>723
VBAを学んだのなら
VBA → VB.Net → C# が楽だろう。
VB.Netは文法的にはほぼVBAと一緒だから
.Netの構成を覚えることに専念出来る。
VB.Netを覚えてしまえば次はC#だな。
逆に構成がVB.Netと殆ど一緒なので
VBA → VB.Net を覚えるときより楽に
覚えることが出来るだろう。

もしWeb系をやりたいなら
VBA → ASP.Net(VB) → ASP.Net(C#)と
言ったところか。

自信があるならVBA → C#でも構わないが、
折角だから寄り道してついでにVB.Net覚えて
おいても損はないだろう。
728デフォルトの名無しさん (ワッチョイ 024f-I0lI)
2021/08/30(月) 08:17:51.42ID:g9J4xp5m0
JavaScriptはWeb系やるのであれば必須言語だが、これはWebやるときに必要に迫られて変な話だけどやらざるを得なくなって勝手に身につく。
DB扱うのにSQLが必須になるのと同じ。
Rustはまだ扱っている書籍やサイトが少ないのでもう少し待ってからでも良いと思う。
729デフォルトの名無しさん (ワッチョイ aeda-U7Lh)
2021/08/30(月) 12:20:59.93ID:a1GphOXp0
>>723
もしかしてVBAしかできない人?
興味があるなら全部やればいいじゃん
730デフォルトの名無しさん (アウアウウー Sa85-7Bq0)
2021/08/30(月) 12:52:53.22ID:4aBvuqYpa
次にって言葉を汲んであげてもいいと思うな
サラダ食ったあと次にカレーとデザートどっち食べるべきか聞かれても「興味あるなら全部食え」ってレス付ける?
731デフォルトの名無しさん (ワッチョイ aeda-U7Lh)
2021/08/30(月) 13:18:03.24ID:a1GphOXp0
食いたいもん食えよ
俺なら食いたいもん全部食うけどな
732デフォルトの名無しさん (ワッチョイ aeda-U7Lh)
2021/08/30(月) 13:19:04.91ID:a1GphOXp0
そもそも興味があるのにやらないでいるこ理由がわからない
733デフォルトの名無しさん (ブーイモ MMf6-hkn+)
2021/08/30(月) 13:29:28.16ID:qdrPJ241M
ズラがずれてるぞ
734デフォルトの名無しさん (JP 0H4d-U7Lh)
2021/08/30(月) 13:37:49.06ID:ckBh8waKH
今は個別の言語の文法よりも、大量のライブラリにどんな機能があるかを知る方が重要
クラスやAPIをどれだけ知ってるかで作れる物が決まるんで
735デフォルトの名無しさん (ワッチョイ aeda-U7Lh)
2021/08/30(月) 13:40:48.19ID:a1GphOXp0
結局やらないでしょう
736デフォルトの名無しさん (ブーイモ MM65-1qBX)
2021/08/30(月) 13:43:40.08ID:txgJXV1kM
>>723
GASとかPowerFXとかSalesforceとか
VBA上がりなら本格的なプログラミングよりローコードに行ったほうがすぐ役立てられてコスパいいよ
737デフォルトの名無しさん (アウアウウー Sa85-U7Lh)
2021/08/30(月) 17:19:00.03ID:KZUgc5l+a
スレチなんでそろそろプログラマ板いってやればいいのでは
738デフォルトの名無しさん (アウアウウー Sa85-0BKB)
2021/08/30(月) 18:03:03.80ID:SLXKrFaKa
HTAのVBScriptでExcel操作って出来ましたっけ?
739デフォルトの名無しさん (ワッチョイ 6e2c-7zb5)
2021/08/30(月) 20:36:23.51ID:AiTAdVKh0
2年くらい前にここでお世話になって、会社でもかなりVBA触るポジションができて、かなり成長した
(皆さんありがとう)
クラスモジュールを触ったことがないんだけど、経験のため触っておいた方がいい?
理解が深まるなら触りたい
740デフォルトの名無しさん (ワッチョイ 6101-odzt)
2021/08/30(月) 21:34:10.98ID:PPAHi4pc0
エクセルでフィルターがかけられないんですが、
誰か助けてください
1列を指定して並び替えとフィルターを開いてフィルター(F)を押せません。
ちなみに空白業はないのですが、、、
741デフォルトの名無しさん (ワッチョイ 6101-odzt)
2021/08/30(月) 21:41:22.45ID:PPAHi4pc0
解決しました
742デフォルトの名無しさん (テテンテンテン MM66-q9XR)
2021/08/30(月) 21:43:52.41ID:zNy1vYFAM
>>738
昔はできた記憶があるけどセキュリティとか厳しくなってるから今でもできるかはよくわからん
743デフォルトの名無しさん (テテンテンテン MM66-1qBX)
2021/08/30(月) 22:40:05.22ID:mO4hpp7AM
>>739
たかがVBAにクラスなんか要らんよ
並のスキルのVBAerにメンテできなくなるから害悪ですらある
744デフォルトの名無しさん (ワッチョイ 024f-I0lI)
2021/08/30(月) 23:22:00.02ID:g9J4xp5m0
>>739
VBAのクラスは継承が使えないから敬遠されがちではあるが、逆に他言語では委譲の知識を疎かにしがちだからやっておいても損はないな。
メソッド名を文字列で指定して呼び出すCallByNameのような命令もクラスでないと使えない気がしたしな。
745デフォルトの名無しさん (ワッチョイ 4668-bRsM)
2021/08/30(月) 23:24:06.07ID:lQLq+TuC0
>>739
vbaのクラスはコンストラクタも継承もない
どうせやるなら別言語を勉強するか、
sheetやcellsオブジェクトのメンバやメソッドでも眺めてる方が有意義と思う
746デフォルトの名無しさん (ワッチョイ 024f-I0lI)
2021/08/30(月) 23:52:32.26ID:g9J4xp5m0
>>745
引数が渡せないだけでコンストラクタやデストラクタはあるのでは?
747デフォルトの名無しさん (ワッチョイ aeda-U7Lh)
2021/08/31(火) 01:57:49.48ID:ihx26wcM0
>>739
経験の為に触るのなら自宅の個人PCで作るだけにしとけ
まず職場で見ることができる全てのExcelVBAのコード眺めてみて、
全てを理解できるようになるのが先
748デフォルトの名無しさん (ワッチョイ 024f-I0lI)
2021/08/31(火) 03:43:06.41ID:JZqVSHwg0
>>739
何でもそうだけど使い処というものがあって、ひょっとしたらその機能を使えばもっと簡潔にコードが書けたり後でテストがし易くなったり、改修がし易くなるかも知れない。

けど、それがどういったものか分からなければ本当に使うべきか、どういった使い方をすべきかも分からない。だからまずそれがどういったものであるかを調べる必要がある。

調べた上で使うべきかどうかは自分で判断すること。
「結局使う必要がないなら無駄足じゃん!!」という結論に行き着くかも知れない。けど調べてついた知識は無駄にはならない。
興味があるのなら何でも調べてみればいい。
749デフォルトの名無しさん (ワッチョイ 3d5f-uZV+)
2021/08/31(火) 05:26:47.90ID:Bq4JJtE70
Googleスプレッドシートに置き換えが進んでいるのにExcelをできるだけ残させるような発想がよくわからない。

マイクロソフト内でも切るべき機能とされているのに。
750デフォルトの名無しさん (テテンテンテン MM66-q9XR)
2021/08/31(火) 06:03:59.14ID:Ns860ecPM
>>749
> Googleスプレッドシートに置き換えが進んでいる
> マイクロソフト内でも切るべき機能とされている
妄想でないならソースよろしく
751デフォルトの名無しさん (スッップ Sd22-/hF1)
2021/08/31(火) 06:42:25.04ID:yu36xbaqd
>>749
新しい部署や若い会社とかならそうなのかもしれないけど、長続きして規模の大きい会社は大人数がずっとExcel使ってきてる訳だし、今更急にスプレッドシートに切り替えとか出来ないよ

マクロなら尚更
VBAからGASに書き換えるのも面倒だし、スクリプトを編集するにもアカウントの権限が必要なせいで他部署へ許諾が必要な職場もあって面倒だったよ
752デフォルトの名無しさん (スッップ Sd22-/hF1)
2021/08/31(火) 07:10:44.50ID:yu36xbaqd
>>739
もう運用しているブックについてはクラスモジュールに書き換えなくていいよ
引き継ぎの際にクラスモジュール扱える人が担当になるとは限らないしね

ただ、自衛策として1度は扱っておいた方がいいよ
自分が引き継いだブックにクラスモジュールあったりしたら大変だしね。それに折角学ぼうとしてる所だし
753デフォルトの名無しさん (ワッチョイ 92bd-K4sG)
2021/08/31(火) 07:11:08.63ID:i7ARXDZV0
VBAやマクロゴリゴリのExcelが社内にない状態が想像できないのだが

スプレッドシートって代替できるの?
754デフォルトの名無しさん (スッップ Sd22-/hF1)
2021/08/31(火) 07:25:24.78ID:yu36xbaqd
>>753
シート上の編集とかブック内の処理で済むようなマクロならば、スプレッドシートへ移動可能

ただ、サーバからCSVが送られてきて、マクロによってそのCSVを開いてから処理する、とかならば移動が出来てないのが実情かなあ

なにせ、Excelで何ら問題なく業務できてるってなら、わざわざサーバやらブックやら仕様を変更してまでスプレッドシートに移すメリットは無いしね。仕様書作り直し、単体、結合テストやり直しとか無駄に工数かかるし。

社全体がスプレッドシートに切り替えるってなら知らん
755デフォルトの名無しさん (ワッチョイ 024f-I0lI)
2021/08/31(火) 08:07:31.43ID:JZqVSHwg0
変な話だな
EXCELをWebで扱うなら
余程金の無い中小企業でも無い限り
Office365の企業用ライセンス取得して
Web版EXCELに移行するのが
自然な流れだと思うのだが。

もっとも通常はEXCELそのものを
Web上でツールとして扱うのも考え辛い。
何故ならEXCELなどよりもっと
Wrbでツール作るのに向いた言語が
幾らでもあるからだ。
そういう場合はEXCELはダウンロードされる
1ファイルという立ち位置になるからな。
756デフォルトの名無しさん (ワッチョイ 45da-Qyc7)
2021/08/31(火) 10:03:50.16ID:Kb4xw5qb0
With Worksheets("Sheet1")

.Columns("1"). Copy Destination_
= ThisWorkbook.Worksheets("Sheet2").Columns("1")

Sheet1のA列をSheet2にコピーするマクロを書いたのですが
1004エラーが出てしまいます。
どう直せばいいでしょうか?
757デフォルトの名無しさん (アウアウウー Sa85-U7Lh)
2021/08/31(火) 10:11:41.55ID:7DaXmsNEa
>>756
こんな感じでは
With Worksheets("Sheet1")

.Columns("A:A").Copy Destination:=ThisWorkbook.Worksheets("Sheet2").Columns("A:A")
End With
758デフォルトの名無しさん (ワッチョイ 6101-4DG9)
2021/08/31(火) 10:17:59.90ID:rtPimGdF0
Sub TEST1()
'「1つ目」のグラフの「1つ目」の系列の「名前」
Debug.Print ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1).Name
End Sub

基本的な質問ですみません
グラフに折れ線グラフが10本あって、その内1本をグラフ上で選択している時に
選択している系列名をVBAで取得するにはどう書けばいいでしょうか?
あるいはSeriesCollection(1)の1という数字の部分が何なのか取得できますか?
759デフォルトの名無しさん (アウウィフ FF85-4thN)
2021/08/31(火) 10:34:44.96ID:RXuTL+ZfF
forでまわしてselectedで見る
とか
760デフォルトの名無しさん (ワッチョイ 6101-4DG9)
2021/08/31(火) 10:44:19.53ID:rtPimGdF0
>>759
すみませんもう少し詳しく
selectedというのはどういう使い方をするんでしょう?
761デフォルトの名無しさん (ブーイモ MM22-hkn+)
2021/08/31(火) 11:03:21.16ID:0ik848aIM
マクロの記録で見れ
762デフォルトの名無しさん (ワッチョイ 6101-4DG9)
2021/08/31(火) 11:13:09.09ID:rtPimGdF0
これでは以下のエラーが出るのですが
どこが間違ってますでしょうか?よろしくお願いします

for i = 1 to ActiveChart.SeriesCollection.Count
If ActiveChart.SeriesCollection(i).Selected Then
beep
endif
next


実行時エラー'438':
オブジェクトは、このプロパティまたはメソッドをサポートしていません。
763デフォルトの名無しさん (ワッチョイ 6e63-RMdL)
2021/08/31(火) 11:30:45.05ID:NESsP7iO0
>>762
まず、ActiveなChartがあるかを確認

そして、ChartObjectはマクロの記録どおりに動かないことが多いので、ActiveChartの後に.Chartを挿入して試してみる

参考
http://officetanaka.net/excel/vba/graph/09.htm
764デフォルトの名無しさん (アウアウウー Sa85-U7Lh)
2021/08/31(火) 12:01:04.19ID:7DaXmsNEa
>>762
こういうのはどう?
Private Sub Chart_Select(ByVal ElementID As Long, ByVal Arg1 As Long, ByVal Arg2 As Long)
If ElementID = xlSeries Then
Debug.Print ActiveChart.SeriesCollection(Arg1).Name
End If
End Sub
765デフォルトの名無しさん (ワッチョイ 6101-4DG9)
2021/08/31(火) 13:36:21.23ID:rtPimGdF0
>>763
for 文の直後に
ActiveChart.SeriesCollection(i).select
とすると折れ線グラフは次々と選択されるのでChartはあると思うのですが
if文入れるとエラーが出ます・・・
的外れなこと言ってたらゴメンなさい

>>764
検索するとアドイン?のイベントプロシージャになるんでしょうか?
かなり調べてみないと自分には理解できないかもしれません・・・

もう少し頑張ってみます
766デフォルトの名無しさん (ブーイモ MM4d-hkn+)
2021/08/31(火) 13:40:47.87ID:bSK5W0WOM
>>765
if文中の
selected

select
煮汁
767デフォルトの名無しさん (ブーイモ MMf6-hkn+)
2021/08/31(火) 13:44:13.64ID:1uDof6e+M
ごめんちがう
selectedはなさそう
768デフォルトの名無しさん (アウアウウー Sa85-U7Lh)
2021/08/31(火) 13:58:00.53ID:7DaXmsNEa
>>765
ブックにグラフのシートがあるならそのシートのChratのSelectってイベントをクリックすると
Private Sub Chart_Select(ByVal ElementID As Long, ByVal Arg1 As Long, ByVal Arg2 As Long)
End sub
が生成されるかと
それともグラフはワークシートにあるのかな?
769デフォルトの名無しさん (ワッチョイ 6101-4DG9)
2021/08/31(火) 14:04:57.78ID:rtPimGdF0
>>768
そうです、グラフはワークシートにあります
770デフォルトの名無しさん (テテンテンテン MM66-q9XR)
2021/08/31(火) 14:59:11.50ID:l9psb/TLM
>>758
グラフが選択されてるのが確実なら
Application.Selection.Name
確実じゃないなら
If TypeName(Application.Selection) = "Series" Then ...
でガードすればいい
771デフォルトの名無しさん (ワッチョイ 6101-4DG9)
2021/08/31(火) 15:12:15.10ID:rtPimGdF0
>>770
有難うございます、取得できました!
これで行きたいと思います。ありがとうございました
772デフォルトの名無しさん (アウアウウー Sa85-U7Lh)
2021/08/31(火) 15:17:16.32ID:7DaXmsNEa
>>769
最小限しか書いてないので自分で手直ししてほしいけどこんなのはどうでしょう
1.クラスモジュールを追加する
2.クラスモジュールに下記を実装する(チャートのイベントを実装)
Public WithEvents myChart As Chart

Private Sub myChart_Select(ByVal ElementID As Long, ByVal Arg1 As Long, ByVal Arg2 As Long)
If ElementID = xlSeries Then
Debug.Print myChart.SeriesCollection(Arg1).Name
End If
End Sub
3.ThisWorkbookに下記を実装する(クラスにチャートを紐づける)
Private myClass1 As New Class1

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If ActiveSheet Is Nothing Then

Exit Sub
End If
If ActiveSheet.ChartObjects.Count = 0 Then

Exit Sub
End If
Set myClass1.myChart = ActiveSheet.ChartObjects(1).Chart
End Sub
773デフォルトの名無しさん (ワッチョイ 6101-4DG9)
2021/08/31(火) 15:43:05.57ID:rtPimGdF0
>>772
有難うございます!クラスモジュール最近勉強したばかりなので
是非使いこなして活用させて頂きます!ありがとうございました
774デフォルトの名無しさん (ワッチョイ fe02-jtj7)
2021/08/31(火) 15:48:49.52ID:xY3Kg19k0
どうしても分からないので教えて下さい

以下
http://excel-ubara.com/excelvba4/EXCEL299.html
より引用

Option Explicit

Public mOnTime As Date

Sub TimerProc()
 Range("A1") = Now()
End Sub

Sub OnTimeStart()
  Call TimerProc
  mOnTime = Now() + TimeSerial(0, 0, 1)
  Call Application.OnTime(mOnTime, "OnTimeStart")
End Sub

Sub OnTimeStop()
  '同一のProcedureとEarliestTimeがないとエラーになる
  On Error Resume Next
  Call Application.OnTime(mOnTime, "OnTimeStart", , False)
End Sub

これを丸ごとコピーして標準モジュールに貼り付けて実行しようとすると
「変数が定義されていません」というコンパイルエラーが出ます
どうやら「mOnTime」という変数が反応していないようです

何が原因として考えられるのでしょうか
775デフォルトの名無しさん (ワッチョイ 6eb0-hkn+)
2021/08/31(火) 16:45:55.34ID:qfiRyurv0
一番上の
option explicit
をコメントアウト
776デフォルトの名無しさん (ワッチョイ ae56-Y/PZ)
2021/08/31(火) 17:08:05.95ID:0UudHHzs0
悪い方向にいざなってないか。それw
777デフォルトの名無しさん (ワッチョイ fe02-jtj7)
2021/08/31(火) 17:16:59.73ID:xY3Kg19k0
流石に程度の低い釣りには引っかかりません
(自己解決しました)
778デフォルトの名無しさん (アウアウウー Sa85-7Bq0)
2021/08/31(火) 19:12:54.95ID:XB01+IxZa
程度の低いだってさ
こんなド素人ちゃんにまで小馬鹿にされるオプション付けない派には流石に同情しちゃうね
779デフォルトの名無しさん (ワッチョイ fe02-jtj7)
2021/08/31(火) 20:04:02.76ID:xY3Kg19k0
ひねくれすぎててワロタ
元々オプションありで書かれているのに
オプション外して解決するのは根本的に違うでしょって話

もしかして疲れて病んでる人だったのかな
お疲れ様です
780デフォルトの名無しさん (ワッチョイ 45da-Qyc7)
2021/09/01(水) 00:14:30.58ID:LgfjpVVJ0
>>757
ありがとうございます。解決しました。
イコールの前にコロンがいるんですね。
781デフォルトの名無しさん (ワッチョイ 22f0-Ctl7)
2021/09/01(水) 04:40:05.79ID:vx5cHFWE0
ユーザーフォームから
A1に数字が入力され
B1からB7まで同じく数字が入力され
A1が月で、B1からB7を日として
C1〜に
782デフォルトの名無しさん (ワッチョイ 22f0-Ctl7)
2021/09/01(水) 04:48:15.65ID:vx5cHFWE0
ユーザーフォームから
A1に数字が入力され
B1からB7まで同じく数字が入力され
A1が月で、B1〜B7を日として
C1〜C7に月日として表示したいのですが

  A  B  C  D  E ・ ・ ・
1 8 12 8/12
2   13 8/13
3   14 8/14






上記、票のようにA1とB列に分割された月日を
C列に日付にできるでしょうか?

いつも質問ばかりで恐縮ですが
ご教授おねがいします
783デフォルトの名無しさん (ワッチョイ 4668-bRsM)
2021/09/01(水) 07:48:40.08ID:QyYX1GEf0
>>782
それぐらいなら関数でいいんじゃねーの
=DATE(YEAR(TODAY()),$A$1,B1)

年も入力しないとおかしくなる
「今年」を基準にすると、来年開いたときにデータ変わる
784デフォルトの名無しさん (ブーイモ MM65-dU6Z)
2021/09/01(水) 09:23:39.06ID:Uj8mUWALM
12月ぐらいに来年の1月のデータを入力しようとして日付だけ入力して今年の1月になっちゃってたってのは割りとあるある
785デフォルトの名無しさん (スプッッ Sd82-0q/m)
2021/09/01(水) 10:18:49.87ID:uNhFH8V1d
>>783

> >>782
> それぐらいなら関数でいいんじゃねーの
> =DATE(YEAR(TODAY()),$A$1,B1)
>
> 年も入力しないとおかしくなる
> 「今年」を基準にすると、来年開いたときにデータ変わる

ご教授ありがとうございます
上記でやってみたのです
セルに前の値が残ってしまいます
1回目は9/10、9/11、9/12と表示され
うまくいくのですが
2回目に空白になったセル例えば9/10だけ
表示してほしいのですが他のセルもデータが残ってしまいます
クリアしたいのですが方法が分からず
VBAで制御したほうがいいのでしょうか?
何かいい方法はないかと思案してます
786デフォルトの名無しさん (ワッチョイ ae68-U7Lh)
2021/09/01(水) 10:20:20.08ID:ufGoj8xi0
年には言及無いし
C1に「= A$1 & "/" & B1」これ入力して下へずらっとでいいんじゃないの
787デフォルトの名無しさん (ワッチョイ ae68-U7Lh)
2021/09/01(水) 10:22:29.22ID:ufGoj8xi0
>>785
どこが空白か
何が残るか
788デフォルトの名無しさん (アウアウウー Sa85-7Bq0)
2021/09/01(水) 10:56:06.92ID:RCZPpxX+a
月かわるんかい
じゃ新しい月になった時にどういう処理してるかも書かにゃ答えようがないぞ
789デフォルトの名無しさん (スプッッ Sd82-0q/m)
2021/09/01(水) 12:13:19.29ID:uNhFH8V1d
月をまたぐ事はないので
790デフォルトの名無しさん (スプッッ Sd82-0q/m)
2021/09/01(水) 12:15:18.01ID:uNhFH8V1d
今出先なので家に帰ったら皆さんが
わかりやすいようにご説明したいと思います
言葉足らずなご説明で大変申し訳ありません
791デフォルトの名無しさん (ワッチョイ 112f-q8ax)
2021/09/01(水) 13:29:51.12ID:MIZAw2OB0
なにがやりたいかよくわからんが、日付として取り扱わないほうがいい気がするなぁ
単純に文字列として連結しといたほうがいいかもしれん
792698 (ワッチョイ c95f-K0XX)
2021/09/01(水) 16:29:17.25ID:zi3lAKaz0
698です お礼が遅くなってすみません
>>718さんの内容でほぼほぼ実現出来ました
その節はありがとうございました


Selectionを使っていた時に比べスピードもかなり上がりました
データ数100万程で5秒くらいです

ただ一部のファイルで元々設定していた表示形式が数値へ置き換わってしまい悩んでいます
例えば0010→10など
浅知恵でTextやCStrを使えばどうにかなるかと思いましたがダメでした
793デフォルトの名無しさん (テテンテンテン MM66-xCK4)
2021/09/01(水) 17:31:57.00ID:xpLasvJBM
VBAからIEを操作するプログラムが
Windows11にしたら動きません

というのは周知の事実ですか?
794デフォルトの名無しさん (テテンテンテン MM66-xCK4)
2021/09/01(水) 17:40:04.10ID:xpLasvJBM
ひとまずNavigateでURLを開くのはイケますが
Document.readyStateを上手く拾えないので操作しようがないですね
795デフォルトの名無しさん (ワッチョイ aeda-HBgv)
2021/09/01(水) 17:43:07.67ID:AF6jYwWs0
>>793
セキュリティーを考えればそれが普通じゃね
796デフォルトの名無しさん (スップ Sd82-Hm2x)
2021/09/01(水) 17:43:57.36ID:oM9EKr7Vd
>>782
お前、ここは何のスレだと思ってんの?
馬鹿すぎる奴は書き込むな
797デフォルトの名無しさん (テテンテンテン MM66-xCK4)
2021/09/01(水) 17:46:56.00ID:xpLasvJBM
>>795
互換モードをedgeは載せているのだから動くものかと
798デフォルトの名無しさん (ワッチョイ 22f0-Ctl7)
2021/09/01(水) 18:08:06.29ID:vx5cHFWE0
下記のように反映された後
  A  B  C  D  E ・ ・ ・
1 8 12 8/12
2   13 8/13
3   14 8/14






2回目以降、B2〜B3を消去して出力すると
  A  B  C  D  E ・ ・ ・
1 8 12 8/12
2      4/30
3      4/30
4 




4/30と出力されます
4/30を自動でクリアして空白にしたいのですが
いい方法が思いつきません
ご教授おねがいします
799デフォルトの名無しさん (ワッチョイ 4510-jtj7)
2021/09/01(水) 18:09:47.36ID:kYWyELeA0
>>798
いい加減にしろ
800デフォルトの名無しさん (ブーイモ MMf6-dU6Z)
2021/09/01(水) 18:34:36.51ID:rcR5Gl32M
>>798
クリアしたあとDoループでB列が空白の場合はループを抜けるとかじゃダメかい?
801デフォルトの名無しさん (テテンテンテン MM66-xCK4)
2021/09/01(水) 18:59:14.96ID:sD7Rqgd1M
じゃあ現実的な代替案はどうですか?
ユーザー様にSeleniumドライバーのインストールと逐次更新をお願いするのは避けたいです
802デフォルトの名無しさん (テテンテンテン MM66-q9XR)
2021/09/01(水) 19:08:28.99ID:n24W6MuYM
>>798
C1: = IF(B1 = "", "", A$1 & "/" & B1)
これ入力して下へずらっとでいいんじゃないの
803デフォルトの名無しさん (ブーイモ MM4d-hkn+)
2021/09/01(水) 19:09:36.61ID:V21gvc28M
B列が空ならC列も空にする
804デフォルトの名無しさん (ワッチョイ 4668-bRsM)
2021/09/01(水) 19:36:37.25ID:QyYX1GEf0
>>792
>>721を改造

Sub Macro6()
Application.Calculation = xlManual
Application.ScreenUpdating = False
myAddress = Split(Selection.SpecialCells(xlCellTypeFormulas, 23).Address, ",")
For Each EE In myAddress
Range(EE) = Range(EE)
Next
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub


変えたのは
Range(EE) = Range(EE)
だけ。これで多分いけるとおもうけど、どうだろう
805デフォルトの名無しさん (ワッチョイ 4668-bRsM)
2021/09/01(水) 19:38:47.95ID:QyYX1GEf0
cells(1,1)=cells(1,1)
って暗黙の型変換で
cells(1,1).value=cells(1,1).value
になっているとおもったけど違うのね
806698 (ワッチョイ c95f-K0XX)
2021/09/01(水) 19:56:12.78ID:zi3lAKaz0
>>804
実行すると対象セルが全て空白になってしまいましたw
807デフォルトの名無しさん (ワッチョイ 4668-bRsM)
2021/09/01(水) 20:21:01.01ID:QyYX1GEf0
>>806
どういうセルがあるの?

例えば、
="0"&1
だと
01
という文字列が残るんだけど
俺は365だけど、バージョンによって挙動が変わるのかもしれない。あんまりナイキはするけど
808デフォルトの名無しさん (ワッチョイ 22f0-0q/m)
2021/09/01(水) 20:25:24.16ID:vx5cHFWE0
>>802

> >>798
> C1: = IF(B1 = "", "", A$1 & "/" & B1)
> これ入力して下へずらっとでいいんじゃないの

ありがとうございますm(_ _)m
早速試してみます
809デフォルトの名無しさん (ワッチョイ 22f0-Ctl7)
2021/09/01(水) 20:53:46.87ID:vx5cHFWE0
C1: = IF(B1 = "", "", A$1 & "/" & B1)

B列に文字が入力された場合
文字がそのままC列に表示されれば
完璧なんですが
難しいでしょうか?
810デフォルトの名無しさん (ワッチョイ 4668-bRsM)
2021/09/01(水) 20:56:51.38ID:QyYX1GEf0
>>809
C1: = IF(B1 = "", "", B1)

811698 (ワッチョイ c95f-K0XX)
2021/09/01(水) 20:58:57.68ID:zi3lAKaz0
>>807
別のシートからマスタのコードをTEXT関数、表示形式指定(例えば"00000")で表示させてるような状態です
計算結果→02010に>>721を実行すると2010(数値)、>>804を実行すると空白になってしまいます
今使っているのは2016ですが365環境もあるので後ほど試してみます

.Copyと.PasteSpecial xlPasteValuesで高速化できる方法があったりするのでしょうか
こちらに書き込む前に
For Each SC In Selection
SC.Copy.
SC.PasteSpecial xlPasteValues
で試した際は自力コピペしたほうがよっぽど早くてどうしようもありませんでした
812698 (ワッチョイ c95f-K0XX)
2021/09/01(水) 21:28:52.21ID:zi3lAKaz0
>>807>>811

例えば、
="0"&1
だと
01

別シートに打ち込んで実行したところたしかに空白にならず文字列で表示されました
ただ
="0"&1
="0"&2
="0"&3
の3行で実行すると全て消えて空白です…
813デフォルトの名無しさん (ワッチョイ 3d5f-9Am5)
2021/09/01(水) 21:42:45.23ID:WLDLOoPA0
>>806
>>805
valueプロパティの値がコピーされた感じかw
814698 (ワッチョイ c95f-K0XX)
2021/09/01(水) 21:44:13.89ID:zi3lAKaz0
>>812
連投すみません

3セルのうち
="0"&1

="0"&3
を選択すると文字列表示になりました

="0"&1
="0"&2

="0"&4を選択すると1と2は消えて4だけ文字列で残ります…
815デフォルトの名無しさん (テテンテンテン MM66-q9XR)
2021/09/01(水) 21:45:19.70ID:RPMibrUxM
>>809
C1: = IF(ISTEXT(B1), B1, A$1 & "/" & B1)
816デフォルトの名無しさん (ワッチョイ 4668-bRsM)
2021/09/01(水) 22:25:27.20ID:QyYX1GEf0
>>812>>814

Sub foo2()

Application.Calculation = xlCalculationManual ' 手動計算にする
Application.ScreenUpdating = False ' 描画を停止する

For Each sc In Selection.SpecialCells(xlCellTypeFormulas, 23)
sc.Value = sc
Next sc

Application.Calculation = xlCalculationManual ' 手動計算にする
Application.ScreenUpdating = False ' 描画を停止する

End Sub

これの
sc.Value = sc
の部分を
sc.Value = sc.value

sc=sc
など色々試したが、上記がうまくいった
なお一体どういう型変換が行われているのかまるでわからない模様
817デフォルトの名無しさん (ワッチョイ 3d5f-RMdL)
2021/09/01(水) 22:52:06.46ID:h29OAeAi0
>>816
型指定宣言していないため、Forで指定するSCがVariant型
なので、SCはVariant(Rangeとは限らない…配列の1要素目みたいなイメージ)
ただ、SC.ValueとするとSCはRangeと明示されるのでそういう動きになる

んじゃないかなぁ
818デフォルトの名無しさん (ワッチョイ c170-hbzi)
2021/09/01(水) 23:29:26.76ID:2gcT+4EJ0
IE問題どうするかなぁ
819デフォルトの名無しさん (ワッチョイ 7901-xepr)
2021/09/01(水) 23:36:24.86ID:zknSVFy00
VBA止めるいいきっかけじゃん
820デフォルトの名無しさん (スフッ Sd22-U7Lh)
2021/09/01(水) 23:42:06.70ID:KwKwZOB6d
>>818
なくなるのはアプリ
コンポーネントは残ると明言されてる
でもコンポーネントをウィンドウに貼り付ければ簡単にアプリが完成してしまう
821デフォルトの名無しさん (ワッチョイ 4668-bRsM)
2021/09/01(水) 23:55:13.89ID:QyYX1GEf0
>>818
まあlそのうち誰かがなんとかするやろ
822デフォルトの名無しさん (ワッチョイ b1ac-e5Hg)
2021/09/01(水) 23:58:40.93ID:lmopnPTl0
ちゃんとしたシステム入れればいいだけ
823デフォルトの名無しさん (ワッチョイ 4668-bRsM)
2021/09/02(木) 00:17:40.36ID:vUCj94gS0
ちゃんとしたシステム(爆笑)
824705 (ワッチョイ 868c-ylpg)
2021/09/02(木) 00:50:02.40ID:PlnEFAD30
>>814
まとめるとこういうこと?
Sub Macro7()
Application.Calculation = xlManual
Application.ScreenUpdating = False
myAddress = Split(Selection.SpecialCells(xlCellTypeFormulas, 23).Address, ",")
For Each EE In myAddress
Range(EE).Copy
Range(EE).PasteSpecial xlPasteValues
Next
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub
825デフォルトの名無しさん (ワッチョイ 22f0-Ctl7)
2021/09/02(木) 06:01:59.22ID:pGyB2U1O0
>>815
> >>809
> = IF(ISTEXT(B1), B1, A$1 & "/" & B1)

C列に無事、日付が表示されB1が文字列ならば
文字が表示されたのですが
2回目以降
例えば1回目の入力でB列に
 B
9/2
9/3
9/4
9/5

上記のように表示した後に2回目にB2に終了日の文字列を入力し再表示したら
 B
9/2
終了日
9/
9/

上記のようにB3以降にA1の値が反映されてしまいます
2回目以降B列が空白であれば空白にしたいのですがむずかしいでしょうか
826デフォルトの名無しさん (ワッチョイ 2dfd-dU6Z)
2021/09/02(木) 06:17:15.44ID:8TUhFQ840
>>825
「○○であれば○○としたい」って言語化出来ているのであればあとはIf文で判定するだけでどうにかなるはずだよ
一回自分がやりたい事を頭からケツまでしっかり書いてフローチャートを作ってみた方がいい
○○であれば○○としたいの時には当てはまらない場合はどうするかもしっかり書くことを忘れずにね
827デフォルトの名無しさん (ワッチョイ 22f0-Ctl7)
2021/09/02(木) 06:20:57.63ID:pGyB2U1O0
連投で申し訳ありません!
言葉たらづですいません。結局わたしがやりたいと思ってるのは
A1に数字を入力
B1〜B2に数字を入力するとC列に結合た日付を表示しされる下記のような表です

  A  B  C
1 9  2 9/2

2    5 9/3

3      9/4

4      9/5

ただB2に文字列が入力されたらC2に文字列が表示され
C3以降は空白になってくれればいいのですが
828デフォルトの名無しさん (ワッチョイ 22f0-Ctl7)
2021/09/02(木) 06:25:01.18ID:pGyB2U1O0
下記コードをここでお教えいただきもう少しで出来そうなのですがわたしにはむずかしすぎて

Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo err

'B1B2じゃなければ終了
If Intersect(Target, Range("B1:b2")) Is Nothing Then Exit Sub

'とりあえずクリア
Range("C1:C100").Clear

'メイン。整数じゃなければerrに飛んでコピーして終わり。trycacheみたいな事がしたかった
最初 = Cells(1, 2)
最後 = Cells(2, 2)
'
If (Int(最初) = 最初 And Int(最後) = 最後) Then

行 = 1
For i = 最初 To 最後
Cells(行, 3) = i
行 = 行 + 1
Next

Exit Sub
End If

'整数以外
err:
Range("C1:C7").Value = Range("B1:b2").Value

End Sub
829デフォルトの名無しさん (ワッチョイ 22f0-Ctl7)
2021/09/02(木) 06:57:24.18ID:pGyB2U1O0
間違いました!
A1に数字を入力
B1〜B2に数字を入力するとD列に結合た日付を表示しされる下記のような表です

  A  B  C    D
1 9  2  2   9/2

2    5  3   9/3

3       4   9/4

4       5   9/5

ただB2に文字列が入力されたらC2に文字列が表示され
C3とD3以降は空白になってくれればいいのですが
830デフォルトの名無しさん (テテンテンテン MM66-xCK4)
2021/09/02(木) 07:37:19.92ID:O3nuwBcWM
>>818
何か面白いことがわかったら教えて
831デフォルトの名無しさん (ワッチョイ 2dfd-dU6Z)
2021/09/02(木) 07:53:36.77ID:8TUhFQ840
>>829
(クリア処理)
If IsNumeric(Range(″B1”).Value) And IsNumeric(Range(“B2″).Value) Then
Dim TgtAry() As String
ReDim TgtAry(0 to Range(”B2”).Value - Range(”B1”).Value, 3 to 4)

Dim AryCnt As Long
For AryCnt = 0 to Ubound(TgtAry, 1)

TgtAry(AryCnt, 3) = CLng(Range(”B1”).Value) + AryCnt
TgtAry(AryCnt, 4) = Range(”A1”).Value & ″/″ & TgtAry(AryCnt, 3)

Next

Range(Cells(1, 3), Cells(1 + Ubound(TgtAry, 1), 4).Value = TgtAry

End If
832デフォルトの名無しさん (アウアウウー Sa85-HBgv)
2021/09/02(木) 09:40:00.71ID:lpxNteAka
もうあきた
833デフォルトの名無しさん (スプッッ Sdc1-0q/m)
2021/09/02(木) 09:50:07.01ID:S+z0tXCPd
>>831
ありがとうございますm(_ _)m
家に帰ったら早速試してみます
834デフォルトの名無しさん (ワッチョイ ae68-U7Lh)
2021/09/02(木) 10:17:54.51ID:61uHr+ZW0
>>829
どんどん条件追加してんじゃねーよw

一旦最初から最後まで説明する感じで整理してみて
835デフォルトの名無しさん (ワッチョイ ae68-U7Lh)
2021/09/02(木) 10:23:41.27ID:61uHr+ZW0
とりあえず>>827の条件
C1に入力して下にずらっとしてみて
= IF(ISTEXT(B6), B6, IF(B6 = "", "", A$1 & "/" & B6))

ただしBのセルを空白にするのは手動

>>829のC列は何やねん?
836デフォルトの名無しさん (スプッッ Sdc1-0q/m)
2021/09/02(木) 11:39:09.52ID:S+z0tXCPd
>>835
すいません!
コードの基本的なところを教えてもらえれば
あとは自力で何とかしようと思ったのですか
思ったより難しくて(泣
837デフォルトの名無しさん (アウアウウー Sa85-7Bq0)
2021/09/02(木) 12:26:07.30ID:Lpp+cK/ya
もおお面倒くせええ
最初ユーザーフォームがどうとか言ってたろ? そっちの管理者に言うのが手っ取り早いんじゃないの、まさか自作じゃあるまいし
838デフォルトの名無しさん (スッップ Sd22-U7Lh)
2021/09/02(木) 12:47:54.81ID:jQ7od4vmd
月と日の範囲らしき値をいれるようだが日だけチェックするとかが意味わからないんだよね
それと今まで教えてもらったコードが実際に何ができるかわかならければ今後も同じような質問ずっとするのかな
839名無し募集中。。。 (ワッチョイ 868c-ylpg)
2021/09/02(木) 13:06:30.53ID:PlnEFAD30
質問者は分散して書き込まれたわけのわからん条件を再度まとめて書いてくれないかな
文章力がないようだから番号を振って箇条書きがいいと思うよ
そこから仕切り直し
840デフォルトの名無しさん (スプッッ Sdc1-0q/m)
2021/09/02(木) 13:44:53.64ID:S+z0tXCPd
わかりました!
すみません
841デフォルトの名無しさん (スッップ Sd22-U7Lh)
2021/09/02(木) 14:04:46.60ID:jQ7od4vmd
>>840
今までの経緯を見た感じだと単純な要件は
・A1には月、B1には開始日、B2には終了日が設定される
・C列には設定された開始日と終了日を使って開始日〜終了日の値が列挙される
・D列には設定された月とC列の値を使って日付が列挙される ※単純に月/日の文字列でよいのか(年を考慮した日付でなくてよいのか)
まずこれだけの要件であれば
>>828で関数などを使わずにD列の設定を追加すればよい(Cells(行, 4) = CStr(Cells(1, 1))&"/"&Cells(行, 3))
初期化の検討も関数がなくなれば「とりあえずクリア」の範囲をC1:D100にでもすればよい
エラーについては関数がなくなれば今のままでも要件を満たすのでは
842デフォルトの名無しさん (ワッチョイ 6e8e-CEQY)
2021/09/02(木) 16:20:28.02ID:tb5mIgdu0
>>840
お前、いい加減にしろや
843デフォルトの名無しさん (ワッチョイ ae68-U7Lh)
2021/09/02(木) 16:37:31.01ID:61uHr+ZW0
>>829
B2に文字列が入力された時D2がどうなるかが無い
844デフォルトの名無しさん (ワッチョイ ae68-U7Lh)
2021/09/02(木) 16:56:20.51ID:61uHr+ZW0
>>840
A1 月
B1 開始日
B2 終了日 (文字列の時もある)
C列 B1からB2の連番 C1は常にB1 (B2が文字列ならそれをC2へ、以降空白)
D列 月/日 D1は常に開始月/日 (C2が文字列ならそれをD2へ?、以降空白)

でいいなら

C1 = B1
C2 = IF(ISTEXT(B2), B2, IF(ISTEXT(C1), "", IF(C1 + 1 <= B$2, C1 + 1, "")))
D1 = A1 & "/" & C1
D2 = IF(ISTEXT(C2), C2, A$1 & "/" & C2)

C2とD2は下にずらっとね
845デフォルトの名無しさん (ワッチョイ 22f0-Ctl7)
2021/09/02(木) 17:33:27.50ID:pGyB2U1O0
>>831
自分のコードとどう組み合わせていいのかわかりませんでした
エラーになってしまい自分には無理そうです
もう少し勉強して出直したいとおもいます
本当にありがとうございます
846デフォルトの名無しさん (ワッチョイ 22f0-Ctl7)
2021/09/02(木) 17:40:30.06ID:pGyB2U1O0
>>841
明瞭な説明ありがとうございます
とりあえず業務上で必要なところは日付問題だけなので
それさえ解決できれば今後はなんとかなりそうです
847デフォルトの名無しさん (スッップ Sd22-U7Lh)
2021/09/02(木) 18:06:17.19ID:jQ7od4vmd
>>846
こんな感じでいいんじゃないの?
Private Sub Worksheet_Change(ByVal Target As Range)
'B1B2以外は終了
If Intersect(Target, Range("B1:B2")) Is Nothing Then
Exit Sub
End If
'クリア
Range("C1:D100").Clear
'開始日のチェック
If CheckValue(Cells(1, 2)) = False Then
Cells(1, 3) = Cells(1, 2)
Cells(2, 3) = Cells(2, 2)
Exit Sub
End If
'終了日のチェック
If CheckValue(Cells(2, 2)) = False Then
Cells(1, 3) = Cells(1, 2)
Cells(2, 3) = Cells(2, 2)
Exit Sub
End If
'開始日から終了日を設定
nRow = 1
For nValue = Cells(1, 2) To Cells(2, 2)
Cells(nRow, 3) = nValue
Cells(nRow, 4) = Cells(1, 1) & "/" & nValue
nRow = nRow + 1
Next
End Sub
848デフォルトの名無しさん (スッップ Sd22-U7Lh)
2021/09/02(木) 18:06:38.29ID:jQ7od4vmd
Private Function CheckValue(ByVal aValue As String) As Boolean
For nLoc = 1 To Len(aValue)
If InStr("0123456789", Mid(aValue, nLoc, 1)) = 0 Then
CheckValue = False
Exit Function
End If
Next
CheckValue = True
End Function
849デフォルトの名無しさん (ワッチョイ aeda-U7Lh)
2021/09/02(木) 18:06:56.77ID:1Fx06KPw0
まじでこんな仕様を業務で使ってんの?
850デフォルトの名無しさん (ワッチョイ 3d5f-RMdL)
2021/09/02(木) 18:13:18.91ID:24Y/Debo0
Range型に入れられるものを変数に入れず処理するのほんと嫌い
Cells(1,1)=2 とか
せめて行と列をLong型の変数にしてやってあげて
851デフォルトの名無しさん (ラクッペペ MM66-sNgg)
2021/09/02(木) 18:40:44.69ID:95p8ZRX9M
>>849
日付の列だけあればいいよな
見た目は書式でどうとでもなるし
852デフォルトの名無しさん (ワッチョイ 4668-bRsM)
2021/09/02(木) 19:39:27.31ID:vUCj94gS0
>>849
ここは日本やぞ
853デフォルトの名無しさん (ワッチョイ eebb-74/o)
2021/09/02(木) 20:22:46.11ID:JA6Fm57Z0
散布図において、点と点を結ぶ直線の色を、その系列の系列名参照先セルの背景色と同じ色に一括で変えるコードを教えてください。
背景色が設定されてない場合は色は変更しなくて良いです。

例えば下記画像のデータと散布図があるとします。
B1:E1セルの背景色を赤色に塗って、F1:G1セルの背景色を青色に塗ってマクロを実行すると、散布図の直線のうち、#1から#4が赤色に変わり、#5、#6が青色に変わり、#7以降はそのままの色を維持するようにしたいです。

Excel VBA 質問スレ Part72 YouTube動画>8本 ->画像>7枚
Excel VBA 質問スレ Part72 YouTube動画>8本 ->画像>7枚

系列が莫大な数のグラフだと設定から一つずつ色を変えるのは大変なので自動化したいです。
よろしくお願いします。
854デフォルトの名無しさん (ワッチョイ 3d5f-9Am5)
2021/09/02(木) 21:07:03.00ID:pxeaKQvs0
質問スレなのにコード全てを教えてもらおうとするのはいかがなものかね
ある程度自分コード書いてここが分からないとかならわかるが
855デフォルトの名無しさん (ワッチョイ 8242-vQ3w)
2021/09/02(木) 21:24:04.85ID:DFz3pANA0
でも>>1で作成依頼もOKって書いてるしなあ
856デフォルトの名無しさん (JP 0H4d-U7Lh)
2021/09/02(木) 21:26:06.23ID:LsFuz3WEH
>>853
ほい
ワークシートの中にグラフが1つしかないこと、全データがグラフに使われていることが条件

Sub Macro1()
  ActiveSheet.ChartObjects("グラフ 1").Activate
  For k = 1 To Cells(1, Columns.Count).End(xlToLeft).Column - 1
    c = Cells(1, k + 1).Interior.Color
    If c <> &HFFFFFF Then ActiveChart.FullSeriesCollection(k).Format.Line.ForeColor.RGB = _
               RGB(c Mod 256, Int(c / 256) Mod 256, Int(c / 65536))
  Next
End Sub
857デフォルトの名無しさん (ワッチョイ 3d5f-9Am5)
2021/09/02(木) 21:38:11.49ID:pxeaKQvs0
>>855
それはすまない
858デフォルトの名無しさん (ワッチョイ eebb-74/o)
2021/09/02(木) 23:50:56.62ID:JA6Fm57Z0
>>856
ありがとうございます。
頂いたコードをちょっと改造したら出来そうです。
859デフォルトの名無しさん (ワッチョイ bf8c-4O+w)
2021/09/03(金) 00:34:19.18ID:7VSa3gcD0
FullSeriesCollectionってなんだよ
動かねーw
860デフォルトの名無しさん (ワッチョイ dfbd-EdY5)
2021/09/03(金) 04:25:34.03ID:kuvugUtS0
>>858
>>859
おめー、すごい本音と建前だな
そのギャップ、埋める必要はない
吐露したいときはあるからな
861デフォルトの名無しさん (ワッチョイ 5ff0-/op0)
2021/09/03(金) 06:02:06.71ID:1mYCibIj0
>>844
試してみたら、なんとかなりそうです!
何度もご助言いただき
ありがとうございます
862デフォルトの名無しさん (ワッチョイ bf68-vUzR)
2021/09/03(金) 07:17:18.60ID:staQfXFI0
>859
検索した方が早いぞ
俺も知らないけど検索したら内容は秒で理解できた
https://docs.microsoft.com/ja-jp/office/vba/api/excel.fullseriescollection
863デフォルトの名無しさん (ワッチョイ 5f28-KrGZ)
2021/09/03(金) 13:32:27.55ID:LfmEXbOQ0
Bookを別名保存して配布用データを作成する場合に、.xlsx にしてそのファイルにVBAコードは存在しない状態にする方法はあるのでしょうか?
864698 (ワッチョイ 875f-LnQh)
2021/09/03(金) 14:03:11.01ID:XbDGKeUz0
>>816>>824
どちらも求めている結果になりました
824は自分でも試してもエラーになっていたので助かりました
型変換でこんなにつまづくは思わなかった(未だに原理は理解出来ていない…)
ありがとうございました!
865デフォルトの名無しさん (ワッチョイ 878e-m4tS)
2021/09/03(金) 15:55:21.72ID:yaNRzQx30
>>863
全角文字の拡張子だからテキストファイルか何かにするのか?それとも単なる馬鹿か?
866デフォルトの名無しさん (ワッチョイ 7f68-nTGN)
2021/09/03(金) 15:59:38.52ID:FrRqokaz0
>>865
寂しいの?
867デフォルトの名無しさん (ワッチョイ 471d-FHff)
2021/09/03(金) 16:58:35.16ID:w5919iNp0
フリーランスエンジニアになってからの年収推移を公開【現在年収1000万】
https://dev-memo.net/fleelance_1000/
【実体験】仕事ができない新卒エンジニアでも月収70万フリーランスになれる理由
https://off.tokyo/blog/shinsotu-engineer-free-lancer/
フリーランスエンジニアは年収900万円までは余裕!現役フリーランスエンジニアが徹底解説
https://flytech.work/blog/8142/
フリーエンジニアの平均年収!未経験が年収1000万円を超える方法とは?
https://shikin-pro.com/guide/18633
【コラム】フリーランスは本当に自由なのだろうか?
https://zenn.dev/cat2pgm/articles/42bb40bf121342
「月100万円」稼ぐ猛者も、副業を始めるIT人材が急増している真の理由
https://xtech.nikkei.com/atcl/nxt/column/18/01572/021900001/
フリーランスエンジニアになって月100万稼いだ話
https://comblog.net/2020/07/06/freelance-100/
素人からでも「まずは月収50万以上」を目指したい方向け【フリーエンジニア・コンサル】
https://aruto.org/freelance-consulting
フリーランスのエンジニアやるなら45歳までに貯金5000万円作れないと死ぬ説
http://uma66.hateblo.jp/entry/2019/04/07/153119
868デフォルトの名無しさん (ワッチョイ bf8c-4O+w)
2021/09/04(土) 00:30:43.37ID:HdS4X7vy0
>>862
自宅で使ってるExcelが2010がFullSeriesCollectionをサポートしてないというオチを
wで表現してみたんだが
伝わらなかったようでスマン
869デフォルトの名無しさん (ワッチョイ 27da-4qC4)
2021/09/06(月) 00:46:52.30ID:bCHQ7Kl80
そこそこできるんだけど、これ中学生辺り相手に家庭教師したらいい小遣い稼ぎになるんでね
870デフォルトの名無しさん (スップ Sdff-nTGN)
2021/09/06(月) 00:51:02.10ID:4OUEmuPid
家庭教師なんて大学生の仕事だぞ
オヤジは採用されない
871デフォルトの名無しさん (ワッチョイ 27da-nTGN)
2021/09/06(月) 20:55:48.09ID:NYbUbMGR0
ハイパーリンクを絶対参照で設定しているのだけど(ファイル移動に備えて)表示文字列がフルパスだと
表示しきれないのでここだけ相対参照で表示したい.
絶対参照から相対参照文字列を取得する関数はないでしょうか?
872デフォルトの名無しさん (ワッチョイ 5fda-qMED)
2021/09/06(月) 22:01:27.65ID:6VddzRoR0
。。。ラムダ関数の件どうなったの?
873デフォルトの名無しさん (アウアウウー Sa8b-AvaG)
2021/09/07(火) 01:09:39.85ID:fgpBZKKDa
>>871
Perlで自作
874デフォルトの名無しさん (ブーイモ MMcf-6D6a)
2021/09/07(火) 10:00:10.71ID:wW3S0zCbM
>>871
split
875デフォルトの名無しさん (ワッチョイ 27da-nTGN)
2021/09/07(火) 10:23:08.20ID:LRYELwZL0
>>874
ヒントありがとう.
1,リンク元とリンク先のフィアル名以外のフルパスを区切り文字¥で分割する.
2,共通部分を除いたリンク元の文字列数の個数だけ”.\”を共通部分を除いたリンク先の文字列&ファイル名
であっていますか?

2の部分で個数を数える処理とかをスマートのやる方法ありますか?思いつくのが文字列を一つずつ比較して
異なると抜けるみたいみたいな処理がしか思いつかないんで.
876デフォルトの名無しさん (ワッチョイ 7fda-nTGN)
2021/09/07(火) 10:23:56.54ID:p7djLIgl0
>>871
相対参照でも表示しきれないものはどうする気だ?
877デフォルトの名無しさん (ワッチョイ 27da-nTGN)
2021/09/07(火) 10:24:49.55ID:LRYELwZL0
間違えた
1,リンク元とリンク先のフルパスを区切り文字¥で分割する.
2,共通部分を除いたリンク先の文字列&ファイル名に共通部分を除いたリンク元の文字列数の個数-1だけ”.\”をつける
878デフォルトの名無しさん (ワッチョイ 27da-nTGN)
2021/09/07(火) 10:25:31.04ID:LRYELwZL0
>>876
そこまで深くないんで.
879デフォルトの名無しさん (ワッチョイ 7fda-nTGN)
2021/09/07(火) 10:31:48.41ID:p7djLIgl0
相対参照への変換は動作が変わるので
表示だけ工夫することを勧めるよ
880デフォルトの名無しさん (ワッチョイ 27da-nTGN)
2021/09/07(火) 10:43:18.05ID:LRYELwZL0
>>879
> 相対参照への変換は動作が変わるので
→アドレスそのものは絶対参照のままにするので動作はかわらないと思います.
881デフォルトの名無しさん (ワッチョイ 7fda-nTGN)
2021/09/07(火) 11:37:34.66ID:p7djLIgl0
>>880
以下どれかじゃ駄目なん?

(a)Tooltipでちゃんと表示して通常は切れたまま
(b)2行に分けて表示
(c)パスの先頭から何文字か + ” 〜(省略)〜 ” + ファイル名
882デフォルトの名無しさん (ワッチョイ df2f-8qru)
2021/09/07(火) 13:38:20.09ID:7P2mUzTw0
それ、どこからの相対パスが欲しいんだよ?
自分自身から自分自身への相対パスなら、全部.\だから
たんにファイル名だけ表示させればいいんじゃね

汎用的に真面目な相対パスに変換しようと思ったら結構邪魔くさいな
まあこういうのは大概すでに誰かがやってる
VB.NETだが
https://dobon.net/vb/dotnet/file/getabsolutepath.html#pathrelativepathto
とか。API呼び出しでやる方法もそこにある
883デフォルトの名無しさん (ワッチョイ 27da-KOX5)
2021/09/07(火) 15:24:56.80ID:LRYELwZL0
>>881
表示だけでは絶対パスがわからないのでTooltipは必要ですよね。
表示をファイル名だけにするか、C のようにするかですけど、表示だけである程度場所が分かりそうな情報が表示されていると便利なので、相対パスもしくはそのファイルがあるフォルダー名のどちらかにします。フォルダーは存在位置をだいたい覚えてるもんですから。
884デフォルトの名無しさん (ワッチョイ 5ff2-nzYM)
2021/09/08(水) 14:22:30.46ID:pb/a0YKS0
D列〜H列の各4項目を印刷エリアのA列に配置して
それぞれ印刷がしたいのですが、下記でも出力されますが、
もっと簡略な書き方あったら教えてください。

Sub PrintOut()
Range("A1").Value = Range("D1").Value
Range("A2").Value = Range("D2").Value
Range("A3").Value = Range("D3").Value
Range("A4").Value = Range("D4").Value
ActiveWindow.SelectedSheets.PrintOut

Range("A1").Value = Range("E1").Value
Range("A2").Value = Range("E2").Value
Range("A3").Value = Range("E3").Value
Range("A4").Value = Range("E4").Value
ActiveWindow.SelectedSheets.PrintOut

(以下F列分〜H列分まで繰り返している)

End Sub
885デフォルトの名無しさん (ワッチョイ 27da-zGwr)
2021/09/08(水) 15:21:04.14ID:75/i6xmb0
>>884
offset 関数を使って I と J のループで回せば?
886デフォルトの名無しさん (JP 0Hab-nTGN)
2021/09/08(水) 15:22:28.05ID:XlNVU0UMH
>>884
Sub PrintOut()
  Dim a
  For c = 4 To 8
    a = Cells(1, c).Resize(4, 1)
    Range("A1:A4") = a
    ActiveWindow.SelectedSheets.PrintOut
  Next
End Sub
887デフォルトの名無しさん (JP 0Hab-nTGN)
2021/09/08(水) 16:25:02.09ID:XlNVU0UMH
処理する範囲をわかりやすくしてみた

Sub PrintOut()
  Dim a
  For Each c In Range("D1:H1") 'DからHまで
    a = c.Resize(4, 1) '縦4行
    Range("A1").Resize(4, 1) = a
    ActiveWindow.SelectedSheets.PrintOut
  Next
End Sub
888デフォルトの名無しさん (スッップ Sd7f-aNuU)
2021/09/08(水) 16:25:12.58ID:W4cHTvUwd
すげー!凄い短くなってる!
ありがとうございます。
後で試してみます。

まだVBA初めて間もないのですが、しっかり勉行すれば、
繰り返し作業簡素化の可能性を非常に感じました。
ありがとうございました。
889デフォルトの名無しさん (ワッチョイ 7f8e-m4tS)
2021/09/08(水) 16:48:49.57ID:q+ZxDcv00
またいつものあいつに引っ掛かる馬鹿ども
890デフォルトの名無しさん (ブーイモ MMab-Esde)
2021/09/08(水) 17:49:01.52ID:I0eTwbNOM
って言いたいだけの自尊心の擬人化さん
891デフォルトの名無しさん (アウアウウー Sa8b-AvaG)
2021/09/08(水) 18:05:21.93ID:ehctv71ga
ねぇねぇワクチンが足りないとか余って捨ててるとかなんなの?
Excelでさえ1億2千万人のデータぐらい余裕で作れるんじゃないの?
892デフォルトの名無しさん (ワッチョイ 5fda-qMED)
2021/09/08(水) 18:33:49.98ID:lGj0x8DT0
with派は?
893デフォルトの名無しさん (アウアウウー Sa8b-AvaG)
2021/09/08(水) 18:39:36.93ID:wkgfp7fUa
Excelの印象派はちょっと困るねぇ
セル結合じゃなくてシェイプでやってよ
894デフォルトの名無しさん (ワッチョイ 5f42-3UkT)
2021/09/08(水) 19:58:14.37ID:y8J9pOw20
Excelではどうにも出来ないたぐいのヒューマンエラーが多いからな
895デフォルトの名無しさん (アウアウクー MMbb-pQFE)
2021/09/09(木) 09:38:25.14ID:foh10V2pM
たとえば5000行もある住所録(一人一行使う)で、左端(つまりA列)にチェックボックスをつけるって出来ます?
5000個もチェックボックスオブジェクトを作るって現実にやってる方います?これは現実的でしょうか?

今考えてるのはA列に正方形(□)とレ点付きの□の二択プルダウンを用意することなんだけど、
それだとマウスのダブルクリックで表示を切り替えることは出来なくなる。

良い方法ありますか?
896デフォルトの名無しさん (JP 0Hab-nTGN)
2021/09/09(木) 09:59:04.73ID:4tB32NIbH
>>895
チェックボックスを5000個作るぐらい簡単だが?
けど、そういう一覧表を作る意味がないだろ

5000件も手作業でチェックなんか入れてたら絶対にミスが起きるし
次の作業のことまで考えて表を作れよ
897デフォルトの名無しさん (ブーイモ MMcf-6D6a)
2021/09/09(木) 10:11:27.57ID:zJmTPnJXM
>>895
チェックボックスみたいなテキストでやる
898デフォルトの名無しさん (スップ Sd7f-nTGN)
2021/09/09(木) 10:12:10.09ID:FIynLA9Dd
>>896
自分も同じことを思ったけど解決策にならないレスはせずに放置がいいと思う
理解していけばしていくほどやれることを絞って考えていくようになるかと
899デフォルトの名無しさん (スフッ Sd7f-nTGN)
2021/09/09(木) 10:25:59.17ID:4jr1qQtOd
参考 チェックボックスの絵文字 使用は推奨しない

900デフォルトの名無しさん (ブーイモ MMcf-Esde)
2021/09/09(木) 10:27:08.70ID:2Kg/wmz7M
>>895
ダブルクリックかライトクリックイベントで背景色変えるとかなんか印を付けるとかした方が楽そう
901デフォルトの名無しさん (ワッチョイ e749-fMWa)
2021/09/09(木) 10:32:22.27ID:IpCo+OYQ0
>>895
普通にその方法でいいじゃんと思うけど、ダブルクリック必須なの?
チェックボックスの操作ならせめてシングルクリックだと思うけど。

マウス必須ならA列にハイパーリンクを仕込んでおいて、イベント
ハンドラの中でどこが押されたかを判断して状態を反転させるという
方法もある。

ただこの場合A列は自由に入力可能なのでシートの保護を掛けることに
なると思うし、どの部分をどこまで編集可能とするかということとの
兼ね合いになると思う。
902デフォルトの名無しさん (ワッチョイ 27da-zGwr)
2021/09/09(木) 10:42:39.73ID:9k5sY4oP0
>>895
あなたの言ってることはダブルクリックとかチェックボックスとプルダウンとか意味不明なんだけど、やりたいことさえはっきりしてなら VBA でオブジェクトの追加コマンドを追加場所を1行から5000行まで変えながら回せばいい。
903デフォルトの名無しさん (JP 0Hab-nTGN)
2021/09/09(木) 10:48:23.02ID:4tB32NIbH
>>902
セルをコピペすればセルに乗ってるオブジェクトも一緒にコピペされる
だからチェックボックスを5000個に増やすだけなら数クリックの手間だけで終わる
ブックが重くなるけどな
904デフォルトの名無しさん (アウアウクー MMbb-pQFE)
2021/09/09(木) 10:50:53.75ID:foh10V2pM
シングルクリックと間違えてました。
自動的に5000個作ると30分待っても終わらないので、ダメなのだと思ってました
905デフォルトの名無しさん (アウアウクー MMbb-pQFE)
2021/09/09(木) 10:53:21.37ID:foh10V2pM
>>897
>>896
チェックを入れた行だけ特定の書式にしてファイルとして出力する用途なので、そこは気にしないのです
906デフォルトの名無しさん (JP 0Hab-nTGN)
2021/09/09(木) 11:01:26.77ID:4tB32NIbH
試しにやってみたけど、チェックボックス5000個コピペだけなら20秒ぐらいで終わったぞ
Excel VBA 質問スレ Part72 YouTube動画>8本 ->画像>7枚
907デフォルトの名無しさん (アウアウクー MMbb-pQFE)
2021/09/09(木) 11:03:58.28ID:foh10V2pM
>>906
1000個なら一分待てば出来ました。
しかしその後の操作がめちゃくちゃ重くなるのでこうした使い方は一般的ではないのかな、という疑問がありました
908デフォルトの名無しさん (アウアウクー MMbb-pQFE)
2021/09/09(木) 11:07:12.46ID:foh10V2pM
>>897
おさわがせしました。
1000個作って、特定行を一行削除するだけでもとても完了に時間がかかるので、
この方の方法でしのぎます
909デフォルトの名無しさん (ワッチョイ 7fda-nTGN)
2021/09/09(木) 11:21:19.40ID:37zPgm1s0
>>907
ちなみにどんなふうに削除してる?
910デフォルトの名無しさん (アウアウウー Sa8b-bFZP)
2021/09/09(木) 14:10:09.39ID:m7/bNtYYa
クラスモジュールの引数に可変長引数を渡したくて、呼び出し側でその引数に変数をぶち込んで渡したいんだけど、これってやっぱりできないの?
911デフォルトの名無しさん (ワッチョイ bf68-vUzR)
2021/09/09(木) 19:38:24.58ID:7gPjCFSp0
>>895
sheetモジュールに記述
※ただ、選択済みのセルをクリックしてon/offができない

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

d = WorksheetFunction.Unicode(Cells(1, 1).Value)
Debug.Print (d) ' 38960

If Target.Column = 1 Then
Target.NumberFormatLocal = WorksheetFunction.Unichar(10004) & ";□;0;@"

If Target.Value = 0 Then Target.Value = -1
Target.Value = Target.Value * -1
End If
End Sub
912デフォルトの名無しさん (ワッチョイ bf68-vUzR)
2021/09/09(木) 19:39:38.73ID:7gPjCFSp0
デバッグ残ってたわ。こっちで

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

'A列のみ
If Target.Column = 1 Then
'書式設定を設定
Target.NumberFormatLocal = WorksheetFunction.Unichar(10004) & ";□;0;@"
'-1かけて反転させる
If Target.Value = 0 Then Target.Value = -1
Target.Value = Target.Value * -1
End If

End Sub
913デフォルトの名無しさん (ワッチョイ c77c-oynR)
2021/09/09(木) 19:55:23.82ID:zfiF925t0
関連スレ建てたよ

VBAなんでも質問スレ Part3
http://2chb.net/r/tech/1631184381/
914デフォルトの名無しさん (ブーイモ MMcf-6D6a)
2021/09/09(木) 23:48:42.23ID:ULMewu8MM
>>910
delimiterで値を連結して一つの文字列にして渡し
それを受け取った側で処理するとかw
915910 (ワッチョイ 6a71-zdR4)
2021/09/10(金) 00:39:56.77ID:Ovs2Qwn/0
>>914
なるほど
無理やりすぎて草
916デフォルトの名無しさん (ワッチョイ 3a2f-aIS6)
2021/09/10(金) 00:57:16.66ID:cGWG4Dd90
>>910
ちょっとなに言ってるかわかんないけど
ParamArray とかそういうこと?
917デフォルトの名無しさん (ワッチョイ b501-BHRH)
2021/09/10(金) 01:37:01.01ID:k/ICsAd30
>>910
恰好つけて内容端折ったり、初心者に有りがちなオレオレ用語使ってるせいで意味不明
ちゃんと質問したら回答や代案出してくれる人いると思うよ
918デフォルトの名無しさん (スプッッ Sd12-dGLa)
2021/09/10(金) 06:29:18.76ID:SjJWgB1Wd
エスパーしてみるとオーバーロードしたいってこと?
919デフォルトの名無しさん (ワッチョイ 5e68-gxqX)
2021/09/10(金) 07:09:26.44ID:LHgBQKs+0
>>910てParamArrayでいいじゃん(いいじゃん)
920910 (アウアウウー Sa21-zdR4)
2021/09/10(金) 12:04:43.32ID:9zsJDEjAa
言葉足らずで申し訳ない


・クラスモジュールでtestSubを作る

・testSubには引数として複数の文字列(パス)を入れたいが、場合によってはいれる数が変わるので可変長引数として渡したい→paramArrayを使った

・標準モジュールでtestSubを呼び出すときに引数に文字列直打ちで入力→これは呼び出せた
例 class.testSub(“a”, “b”, ”c”) →OK


・一方で引数に参照渡し?で変数を入れることができなかった

Dim a as string:a = “a”
Dim b as string:a = “b”
Dim c as string:a = “c”

class.testSub(a, b, c) →エラー

まとめ:参照渡し+可変長引数を実現する方法はありますか?という質問です
921デフォルトの名無しさん (ラクッペペ MM3e-oWuh)
2021/09/10(金) 12:33:58.83ID:LPBZaVhNM
へー、どんなエラーメッセージが出るんだい?
922デフォルトの名無しさん (スップ Sdea-5vIl)
2021/09/10(金) 12:41:02.44ID:s5UDpNf0d
bとcに代入されてないように見えるんだけど…
923910 (アウアウウー Sa21-zdR4)
2021/09/10(金) 12:44:45.11ID:9zsJDEjAa
>>922
誤字りました


>例
>Dim a as string:a = “a”
>Dim b as string:b = “b”
>Dim c as string:c = “c”

>class.testSub(a, b, c) →エラー
924デフォルトの名無しさん (スッップ Sd0a-agYY)
2021/09/10(金) 12:44:47.75ID:Wgizc1rOd
paramarrayは使ったことないからなんでエラーになるか知らないけど

optional byrefをいっぱい作れば解決か?
925デフォルトの名無しさん (ワッチョイ 5949-MUqd)
2021/09/10(金) 12:57:26.48ID:3anmc9lr0
うちではエラーにならないので、ParamArray以外のところで何か起きていると思う
926デフォルトの名無しさん (ワッチョイ 3a2f-aIS6)
2021/09/10(金) 13:42:46.46ID:cGWG4Dd90
とりあえずエラーメッセージぐらい書け
Call class.testSub(a, b, c) とかいうオチじゃないだろうな
927デフォルトの名無しさん (ワッチョイ 3a2f-aIS6)
2021/09/10(金) 13:48:25.18ID:cGWG4Dd90
あと言っとくけど、参照型と参照渡しはちがうからな
その例でいくなら(受け取り側で何やりたいかによるが)参照渡しである必要性なんてないんじゃね
928デフォルトの名無しさん (オッペケ Srbd-RhPI)
2021/09/10(金) 15:05:47.68ID:bX+CqFZ4r
vbaの配列って絶対要素数がわかってないとだめなの?
他の言語のリストみたいにあとから追加とか削除したいんだけど
929デフォルトの名無しさん (アウアウウー Sa21-DZpR)
2021/09/10(金) 15:09:49.67ID:kF1ZwEU6a
>>928
一々ReDimしなきゃならん
それは嫌って人のためにCollectionがある
930デフォルトの名無しさん (ワッチョイ a95f-73Hx)
2021/09/10(金) 15:16:50.98ID:tlapevkG0
二次元配列以外はコレクションでいいよな
931デフォルトの名無しさん (アウアウウー Sa21-DZpR)
2021/09/10(金) 15:22:02.18ID:kF1ZwEU6a
Dictionaryも好きだけどね
用途によるね
932デフォルトの名無しさん (オッペケ Srbd-RhPI)
2021/09/10(金) 15:47:18.98ID:bX+CqFZ4r
>>929
まじかよ 
メモリ確保の問題かな?
これは大きな弱点やな
933デフォルトの名無しさん (オッペケ Srbd-RhPI)
2021/09/10(金) 16:10:25.64ID:bX+CqFZ4r
配列が可変だったら終わる作業が全く終わらん
マジでいらつくわ
934デフォルトの名無しさん (ワッチョイ eaf2-GwBl)
2021/09/10(金) 16:26:30.74ID:rHUFiRNt0
>>886>>887
コンパイルエラー
変数が定義されていません

とか出たのですが・・・。
c のトコがハイライトされています。
935デフォルトの名無しさん (アウアウウー Sa21-DZpR)
2021/09/10(金) 16:31:21.74ID:8Iwa8KgHa
>>934
変数が定義されてないなら定義すればいい
936デフォルトの名無しさん (ワッチョイ a668-dGLa)
2021/09/10(金) 16:31:29.22ID:2Fxd4w670
Set range = ActiveSheet.Range("J10")
debug.print range.Cells(0, 0).address
この出力がI9になります
J10を期待したのですがどういう事ですか?
937デフォルトの名無しさん (アウアウウー Sa21-DZpR)
2021/09/10(金) 16:36:53.08ID:8Iwa8KgHa
>>936
ActiveSheet.Cells(1,1).AddressはA1になるでしょ?
んで、ActiveSheet.Cells(0,0).Addressはオブジェクト定義エラーになるでしょ

つまり、ワークシートの起点はA1であり、Cells(1,1)なわけ
だから、それから今回の事象は推察できるでしょ

余談だけどその変数名は絶対にやめた方がいい
VBAには既にRangeって単語があるんだから
938デフォルトの名無しさん (アウアウウー Sa21-DZpR)
2021/09/10(金) 16:41:57.41ID:8Iwa8KgHa
>>936
追記
あなたの考えどおりに動く、offsetって関数があるからそっち使ったらいいんじゃないかな
939デフォルトの名無しさん (ワッチョイ a95f-73Hx)
2021/09/10(金) 16:42:03.28ID:tlapevkG0
>>936
1,1にすればなるだろ
0だから行列がそれぞれマイナス1されてるんじゃね?
0入れたことないから予想だけど
940デフォルトの名無しさん (ワッチョイ a668-dGLa)
2021/09/10(金) 16:52:02.92ID:2Fxd4w670
>>937-938
Cellsの引数はそのまま1つ目2つ目と考える事にします
変数名は質問用に適当にしましたすみません
offsetが距離1つ先2つ先なのでこちらを使用しようと思います
ありがとうございました

>>939
1,1にすればなりますが論点はそこではありません
941デフォルトの名無しさん (ワッチョイ a95f-73Hx)
2021/09/10(金) 16:54:59.11ID:tlapevkG0
0から始まる配列なんかを入れたいという感じか
942デフォルトの名無しさん (ワッチョイ 3a2f-aIS6)
2021/09/10(金) 17:05:41.13ID:cGWG4Dd90
>>934
変数が全角と半角混在してんじゃね
つかコードそのまま張れよ
943デフォルトの名無しさん (アウアウウー Sa21-DZpR)
2021/09/10(金) 17:13:14.83ID:8Iwa8KgHa
>>942
cの宣言してないだけ
944デフォルトの名無しさん (ワッチョイ b501-BHRH)
2021/09/10(金) 17:47:04.78ID:k/ICsAd30
>>920
下に書いたようにParamArrayを使ったメソッドが定義されたクラスモジュールを作って、
それに宣言した変数を渡してみたけどエラーは起きないよ。

後、「参照渡し」で有る事を気にしてるけど、ParamArrayが指定された引数は参照渡しになる。
例えばtestSub内でargs(0)に適当な値を割り当てると、呼び出し元のcaller関数のaの値も変わる。

クラスモジュール(class.cls)
Public Sub testSub(ParamArray args())
Dim arg
For Each arg In args
If VarType(arg) = vbString Then Debug.Print arg;
Next
End Sub

標準モジュール
Sub caller()
Dim a As String: a = "a"
Dim b As String: b = "b"
Dim c As String: c = "c"
Dim Class As New Class
Class.testSub a, b, c
'イミディエイトウインドウ: abc
End Sub

だからこっちが質問内容を取り違えてるんだと思うんだけど、どこが違う?
それとエラーメッセージを教えて欲しい
もし意味が分かるならコンパイルエラーか実行時エラーかも知りたい
945デフォルトの名無しさん (ワッチョイ b501-BHRH)
2021/09/10(金) 18:37:19.42ID:k/ICsAd30
>>934
Columnsで列ごとに取り出す方法で短く、分かりやすくしてみた

Sub PrintOut()
Dim Column As Range
For Each Column In Range("D1:H4").Columns '指定範囲を一列ごと取り出す
Range("A1:A4").Value = Column.Value '取り出した一列の値をA1:A4に張り付ける
ActiveWindow.SelectedSheets.PrintOut
Next
End Sub

ちなみにこういうのはActive***とセル番号指定じゃなくて、
シートモジュールとテーブル使った方がメンテしやすくなる。

A1:A4とD1:H4にそれぞれテーブルを作成(セルを選択して「ホーム」リボンの「テーブルとして書式設定」)し、
A1:A4のテーブル名を「コピー先」、D1:H4のテーブル名を「コピー元一覧」にする。
そのシートのシートモジュールに次の様なメソッドを定義する

Sub MyPrintOut()
Dim Column As ListColumn
For Each Column In ListObjects("コピー元一覧").ListColumns
ListObjects("コピー先").Value = Column.DataBodyRange.Value
ActiveWindow.SelectedSheets.PrintOut
Next
End Sub

やってることは一緒だけど、
・コピペする(される)セルの番地が変わっても動く
・D1:H4の範囲が増えてもテーブルを範囲を変更するだけで動く
・「コピー元一覧」から「コピー先」に張り付けてるのがソースを見ただけで分かる
とメリットだらけ
946デフォルトの名無しさん (テテンテンテン MM3e-h3Yj)
2021/09/10(金) 21:16:37.69ID:cbJJzriEM
>>937
> 余談だけどその変数名は絶対にやめた方がいい
> VBAには既にRangeって単語があるんだから
なぜ?
VBAは型の名前空間と変数等の名前空間違うから問題なく動くぞ
947デフォルトの名無しさん (ワッチョイ a668-dGLa)
2021/09/10(金) 21:38:37.34ID:2Fxd4w670
>>946
そういう問題じゃないんですよ
948デフォルトの名無しさん (テテンテンテン MM3e-h3Yj)
2021/09/10(金) 21:40:05.19ID:TT1mfVcaM
>>947
だからどういう問題かを書けないなら黙ってなよ
949デフォルトの名無しさん (ワッチョイ a668-dGLa)
2021/09/10(金) 21:43:02.76ID:2Fxd4w670
>>948
動くかどうかという話ではないので論点はそこではありません
950デフォルトの名無しさん (ワッチョイ a6da-dGLa)
2021/09/10(金) 22:07:47.67ID:rk4qX9ha0
動かすだけならグローバルに配列つくればいいわな
951デフォルトの名無しさん (テテンテンテン MM3e-h3Yj)
2021/09/10(金) 22:16:10.75ID:cbJJzriEM
>>949
ああ説明できないのかしたくないのかは知らんけどそういうことしか書けないのな
まあ君はそれでいいと思うよw
952デフォルトの名無しさん (ワッチョイ a95f-DZpR)
2021/09/10(金) 22:19:16.50ID:rrgK5Yqx0
>>951
可読性の面もあるし、変数名の意味付けの面もあるだろう
Rangeって書かれても、どんな目的で何のRangeを変数に入れたのかが分かるように書くのが綺麗なコード
知らんけど
953デフォルトの名無しさん (ワッチョイ 66b0-FDYl)
2021/09/10(金) 22:20:43.81ID:oDrMz70O0
難癖つけててワロタ
954デフォルトの名無しさん (テテンテンテン MM3e-h3Yj)
2021/09/10(金) 22:37:14.80ID:sbKq7iyBM
>>952
> Rangeって書かれても、どんな目的で何のRangeを変数に入れたのかが分かるように書くのが綺麗なコード
例えば指定された範囲にいくつかの装飾を適用する
Private Sub 装飾(Range As Range)
With Range
...
End With
End Sub
君なら引数の名前をどうする?
955デフォルトの名無しさん (ワッチョイ a95f-DZpR)
2021/09/10(金) 22:56:49.10ID:rrgK5Yqx0
Excelの装飾ってのがよくわからんけど、書式のこと?

関数っぽい書き方してるからこんなんでいいんじゃないの

Private Sub SetFormat_to_TargetRange(ByVal TargetRange As Range)
With TargetRange
...
End With
End Sub
956デフォルトの名無しさん (ワッチョイ b501-BHRH)
2021/09/10(金) 23:04:12.45ID:k/ICsAd30
文脈的に明らかならRange As Rangeいいと思うけどね。

あと、「Rangeオブジェクト」である以上の情報がない変数や引数に対して無理やり名づけようとしても、
結局TargetRange的な抽象的な名前になっちゃう事もある。
957デフォルトの名無しさん (ワッチョイ b501-BHRH)
2021/09/10(金) 23:06:14.39ID:k/ICsAd30
>>955
流石にそれは冗長すぎて逆に読みにくいだろ・・・
958デフォルトの名無しさん (ワッチョイ 5e68-gxqX)
2021/09/10(金) 23:11:20.56ID:LHgBQKs+0
>>954
そこはtarget as rangeでいいと思う
一番読みやすい

自分しか使わない場合でもrange as rangeは使わないかな
vbaの場合、引数なしの関数と変数って見分けが付きにくい
ってかなんだこれエラーになるぞ

Sub foo()
Dim Calculate As Long
Calculate
End Sub

これはエラーにならない
Sub foo()
Dim Calculate As Long
End Sub

これもエラーにならない
Sub foo()
Calculate
End Sub

変数名と関数名がかぶると変数が優先される?
まぁ何にしろ、こんな事は避けたいから俺はかぶらないようにするけどね
959デフォルトの名無しさん (ワッチョイ a95f-DZpR)
2021/09/10(金) 23:15:36.34ID:rrgK5Yqx0
多少長くても要素要素は省いちゃメンテが大変になるから多少冗長でも構わないスタンスで

単語の簡素化はしてもいいなら関数名をSetFmt_TgtRngとかにするかもね

あとそもそも、挙げられた例は不適切では?
今回話題になってるのは呼び出し先の(汎用的に使える)関数での変数名ではなくて、呼び出し元での変数名かと
960デフォルトの名無しさん (ワッチョイ b501-BHRH)
2021/09/10(金) 23:25:05.99ID:k/ICsAd30
>>958
再定義(シャドーイング)されてるだけ。
親スコープから継承されてる宣言名(今回で言えばオブジェクト名.Calculate)を再定義すると、定義が上書きされる。

Calculateは整数として再定義されたので、そのスコープではCalculateだけなら暗黙的に整数になる。
明示的に「オブジェクト名.Calculate」とすればメソッドとしてのCalculateを使用できる
961デフォルトの名無しさん (ワッチョイ 11da-dGLa)
2021/09/11(土) 00:00:09.96ID:qqZDVqkP0
personal.xlsbを複数の端末で共有したいので共有フォルダーにおいています.
XLSTARTのpersonal.xlsbは削除して共有フォルダーのpersonal.xlsbへのショートカットをおいています.
エクセルが起動するときにpersonal.xlsbを開くかどうか毎回聞いてきます
(セキュリティのマクロの設定は「警告を表示して全てのマクロを無効にする」です)

毎回開くを押すのが面倒なので共有フォルダーのpersonal.xlsbだけ常時開くような設定はできないでしょうか?
962デフォルトの名無しさん (ワッチョイ 5e68-gxqX)
2021/09/11(土) 07:08:07.40ID:M0KgNEQw0
>>960
ありがとうございます
こんな機能あったのか、名前被るとエラーになると思って避けてたわ
963デフォルトの名無しさん (テテンテンテン MM3e-h3Yj)
2021/09/11(土) 08:32:29.27ID:uUbGGWZvM
>>962
スコープを持った言語ではたいてい内側のスコープが優先されるよ
中にはあえてエラーにする言語もあるけど
https://docs.microsoft.com/ja-jp/dotnet/csharp/misc/cs0136
964デフォルトの名無しさん (ササクッテロレ Spbd-Eqy2)
2021/09/11(土) 09:37:25.87ID:3jGknNChp
>>955
関数の大きさにもよるな
小さくてすぐ上に引数設定して
型が見えてるようなのはvalueでいいと思う
少しごちゃごちゃして見辛いのは
targetRangeでいいと思うし
更にもう少し大きくなって業務的な
意味を持つようになったらその名前付ければ
いいんじゃないかな
965デフォルトの名無しさん (ワッチョイ a668-dGLa)
2021/09/11(土) 10:18:08.93ID:JYcIgh+V0
>>936です
質問用に最少構成にする時点でもう少し変数名に気を付けるべきでした
変な流れになってすみません
966デフォルトの名無しさん (テテンテンテン MM3e-h3Yj)
2021/09/11(土) 10:49:48.68ID:eXg+YAmHM
>>964
Valueはないわ…
967デフォルトの名無しさん (ワッチョイ 11da-k7k8)
2021/09/11(土) 12:17:24.93ID:qqZDVqkP0
>>966
そうだよな。value指定ではフォーマット変更は無理だよな
968デフォルトの名無しさん (アウアウウー Sa21-DZpR)
2021/09/11(土) 13:14:28.26ID:GnKWsobMa
Valueだけはねぇわ
targetとtmpとi・j・kとrくらいしか意味の薄い変数は使わないようにしないと
969デフォルトの名無しさん (ブーイモ MM8e-FDYl)
2021/09/11(土) 13:57:33.58ID:SrjYrNmNM
m,nも
970デフォルトの名無しさん (ワッチョイ 5e68-gxqX)
2021/09/11(土) 14:37:20.09ID:M0KgNEQw0
i・j・k

顔文字かと思った
971デフォルトの名無しさん (ササクッテロロ Spbd-Eqy2)
2021/09/12(日) 11:12:03.90ID:up1UF/mUp
valueがダメだと言ってる奴は恐らくプロパティとか
プロパティの使えない他言語とか使ったことのない井の中の蛙という奴だな

VBAしかやってないジジイにはよくあること
972デフォルトの名無しさん (ワッチョイ 5e68-gxqX)
2021/09/12(日) 11:42:37.67ID:igJhGb/40
>>971
君、韓国人?
973デフォルトの名無しさん (ワッチョイ 11da-k7k8)
2021/09/12(日) 11:48:24.82ID:3Dv8YdNb0
韓国をばかにするな!ITに関しては日本より進んでいるぞ
974デフォルトの名無しさん (ワッチョイ a6da-dGLa)
2021/09/12(日) 12:10:04.57ID:tsfiI8be0
どこ見て言ってんだか
975デフォルトの名無しさん (ワッチョイ 11da-k7k8)
2021/09/12(日) 12:15:32.69ID:3Dv8YdNb0
ここ見ててんだよ
976デフォルトの名無しさん (テテンテンテン MM3e-h3Yj)
2021/09/12(日) 12:55:49.25ID:xXC+mfefM
>>971
またチンケなマウント取りが来たなw
>>954の引数としてValueはないわって話
値としての用途ならValueもよく使うよ
977デフォルトの名無しさん (ワッチョイ a95f-DZpR)
2021/09/12(日) 13:36:49.25ID:5xdi3uAF0
オブジェクト型のRange型なのに、Valueを変数名にするのはVBAの常識的にNGなのは自明
978デフォルトの名無しさん (ワッチョイ 11da-k7k8)
2021/09/12(日) 14:09:17.30ID:3Dv8YdNb0
>>977

> Valueを変数名にする
変数名の適否ではなくって、ByValで値引き渡しにしたらもとの範囲のフォーマットを変更できないという話じゃないのか?
979デフォルトの名無しさん (ワッチョイ 3a2f-Le98)
2021/09/12(日) 16:11:41.17ID:INS7ikYU0
>>978
今問題にしてたのは変数(引数)名であって引数の渡し方ではないのだが
参照型と参照渡しとちゃんと区別して理解してる?
980デフォルトの名無しさん (ワッチョイ a668-dGLa)
2021/09/12(日) 16:21:24.92ID:aVK/EU7g0
元の元は>>936(私)でdim range as rangeに対してsetしたのですが
引数としてrange as rangeとされている状態でsetする事なんてあるのですか?
普通は無いなら途中から引数の話になるのもずれてません?
981デフォルトの名無しさん (ワッチョイ ea4f-Eqy2)
2021/09/12(日) 16:31:54.19ID:pHewVqE+0
そう言えばデコレーターパターンとかでは
valueはよく見るけどreferって見ないよね
なんでだろ?
982デフォルトの名無しさん (ワッチョイ 11da-k7k8)
2021/09/12(日) 16:37:26.61ID:3Dv8YdNb0
>>979
955の話じゃないのか?
誤解してたらすまん。
983デフォルトの名無しさん (ササクッテロロ Spbd-Eqy2)
2021/09/12(日) 18:56:51.30ID:up1UF/mUp
>>981
それは引数が何かの値という意味で
プログラム的な参照とか値とかは関係ないからさ
984デフォルトの名無しさん (テテンテンテン MM3e-h3Yj)
2021/09/12(日) 19:28:40.93ID:qUARoTjRM
>>980
お前さんの普通がわからんけど、複数のレンジを返したいならそういうケースもあると思うよ
そもそも>>952は名前付けの話でSet云々の話に限定はしてないと思うし
985デフォルトの名無しさん (ワッチョイ a6ba-WYzC)
2021/09/12(日) 21:17:53.40ID:K6Dv6PKH0
https://whois.nic.ad.jp/cgi-bin/whois_gw?key=182.22.16.251&codecheck-sjis=%E3%81%AB%E3%81%BB%E3%82%93%E3%81%AD%E3%81%A3%E3%81%A8%E3%82%8F%E3%83%BC%E3%81%8F%E3%81%84%E3%82%93%E3%81%B5%E3%81%89%E3%82%81%E3%83%BC%E3%81%97%E3%82%87%E3%82%93%E3%81%9B%E3%82%93%E3%81%9F%E3%83%BC&submit=
に表示されているネットワーク名「YAHOO-NET」を取得しようとしているのですが、
Cells(1, 2) = objIE.Document.getElementsByTagName("pre").innerText
ではメソッドがサポートされいないとエラー表示されます。
何がいけないのでしょうか?
986名無し募集中。。。 (ワッチョイ 9e8c-xZL4)
2021/09/12(日) 21:29:23.70ID:Nc1wnmSN0
普段使ってないから問題点がこれ意外にもあるかわからないが
Cells(1, 2) = objIE.Document.getElementsByTagName("pre")(1).innerText
これでどう?
987デフォルトの名無しさん (ワッチョイ 66b0-FDYl)
2021/09/12(日) 21:29:29.14ID:wxf2x8Lb0
VBAとJavaScriptが、混ざっちゃった感じかな
988デフォルトの名無しさん (ワッチョイ 7935-xJJl)
2021/09/12(日) 22:10:03.90ID:UcZJH98c0
n時間後にエンターキーを押すプログラムってどう作るんだ?初心者にもわかりやすく誰か教えて
989デフォルトの名無しさん (ワッチョイ 66b0-FDYl)
2021/09/12(日) 22:16:01.50ID:wxf2x8Lb0
「n時間後にアラームを設定して、鳴ったらENTERを押せ!」
と、命令する
990デフォルトの名無しさん (ワッチョイ a6ba-WYzC)
2021/09/12(日) 22:27:13.14ID:K6Dv6PKH0
>>986
ありがとうございます。
「オブジェクト変数がセットされていません」というエラーメッセージが出ており、検証はできておりませんが、いけそうな気がします。
ページ遷移したらobjIE.Documentに遷移先の情報が自動で設定されないのかもしれません。
991デフォルトの名無しさん (JP 0Hc9-dGLa)
2021/09/12(日) 22:28:25.73ID:8PbYCWHKH
>>988
基本はこうだけど、このままだとタイマーを仕掛けたのを忘れてて、ほかの作業をしてる時に急にEnterが押されてびっくりすると思うよ

Sub n時間後にEnterを押す()
  n = 1 'n時間を指定
  n時間後 = Now + TimeValue(n & ":00:00") 'n時間後が何時何分か計算する
  Do
    DoEvents
  Loop Until Now >= n時間後 'n時間誤まで待つ
  SendKeys "~" 'Enterを押す
End Sub
992デフォルトの名無しさん (ワッチョイ 9e8c-xZL4)
2021/09/12(日) 23:27:46.85ID:Nc1wnmSN0
>>990
(1)じゃなかった
(0)だった
993デフォルトの名無しさん (ワッチョイ 3a2f-Le98)
2021/09/13(月) 01:05:28.69ID:gLuGYsXi0
>>991
せめてOnTime使えよ
994デフォルトの名無しさん (スフッ Sd0a-dGLa)
2021/09/13(月) 01:09:51.01ID:DeEefxbAd
OnTimeはあとからタイマーの設定を確認したり停始する方法がないから使い勝手が悪すぎるのがなあ
995デフォルトの名無しさん (ブーイモ MMc9-FDYl)
2021/09/13(月) 01:34:41.43ID:/cjB8lcQM
配列に保存しとくか
シートに書き出しておく
それを元に確認したりキャンセルする
996デフォルトの名無しさん (スフッ Sd0a-dGLa)
2021/09/13(月) 02:28:08.29ID:SNtxNYpLd
>>990
URLはここまででいいんだよ
https://whois.nic.ad.jp/cgi-bin/whois_gw?key=182.22.16.251
997デフォルトの名無しさん (ワッチョイ a6ba-WYzC)
2021/09/13(月) 07:15:43.89ID:oNrWMPyP0
>>992, 996
ありがとうございます!
998デフォルトの名無しさん (ワッチョイ 5e68-gxqX)
2021/09/13(月) 07:30:13.42ID:GNx0xRRz0
つぎ
http://2chb.net/r/tech/1631485799/l50
999デフォルトの名無しさん (ササクッテロロ Spbd-Eqy2)
2021/09/13(月) 07:41:47.37ID:KCvhkZmap
>>998
うむ、ご苦労
1000デフォルトの名無しさん (エムゾネ FF0a-dgdc)
2021/09/13(月) 09:30:38.14ID:Kz73eSbEF
1000ならコロナ収束
-curl
lud20241225034749ca
このスレへの固定リンク: http://5chb.net/r/tech/1626565335/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

TOPへ TOPへ  

このエントリをはてなブックマークに追加現在登録者数177 ブックマークへ


全掲示板一覧 この掲示板へ 人気スレ | Youtube 動画 >50 >100 >200 >300 >500 >1000枚 新着画像

 ↓「Excel VBA 質問スレ Part72 YouTube動画>8本 ->画像>7枚 」を見た人も見ています:
Excel VBA 質問スレ Part68
Excel VBA 質問スレ Part66
Excel VBA 質問スレ Part67
Excel VBA 質問スレ Part61
Excel VBA 質問スレ Part70
Excel VBA 質問スレ Part71
Excel VBA 質問スレ Part75
Excel VBA 質問スレ Part77
Excel VBA 質問スレ Part74
Excel VBA 質問スレ Part65
Excel VBA 質問スレ Part50
Excel VBA 質問スレ Part49
Excel VBA 質問スレ Part73
Excel VBA 質問スレ Part69
Excel VBA 質問スレ Part63
Excel VBA 質問スレ Part58
Excel VBA 質問スレ Part51
Excel VBA 質問スレ Part60
Excel VBA 質問スレ Part64
Excel VBA 質問スレ Part57
Excel VBA 質問スレ Part79(ワッチョイあり)
Excel Python 質問スレ
Excel VBA 質問スレ Part81 (889)
Excel VBA 質問スレ Part80(ワッチョイあり) (87)
Excel ピボット Power Pivot DAX関数 質問スレ (13)
Access VBA 質問スレ Part1
Access VBA 質問スレ Part2
【RIFT】 Rift: Planes of Telara 質問スレ Part5
Counter-Strike: Global Offensive 質問スレ Part3
【TESO】The Elder Scrolls Online 質問スレ Part27
【TESO】The Elder Scrolls Online 質問スレ Part24
【PS/XB】Elden Ring エルデンリング 質問スレ Part3
【TESO】The Elder Scrolls Online 質問スレ Part46
【TESO】The Elder Scrolls Online 質問スレ Part25 [無断転載禁止]
【TESO質問】The Elder Scrolls Online 質問スレ Part1
【TESO】The Elder Scrolls Online 質問スレ Part6 [無断転載禁止]
【TESO】The Elder Scrolls Online 質問スレ Part15 [無断転載禁止]
【MGO】METAL GEAR ONLINE 質問スレ Part14
【PoE】 Path of Exile 質問スレ part22
【FFBE】 FINAL FANTASY BRAVE EXVIUS 質問スレ6
【PoE】 Path of Exile 質問スレ part14
【PoE】 Path of Exile 質問スレ part33
【PoE】 Path of Exile 質問スレ part23
【FFBE】 FINAL FANTASY BRAVE EXVIUS 質問スレ7 [無断転載禁止]
【PoE】 Path of Exile 質問スレ part15 [無断転載禁止]
【ソロ専用】アナザーエデン 時空を超える猫 質問スレ 8匹目 【アナデン】
【ソロ専用】アナザーエデン 時空を超える猫 質問スレ 36匹目 【アナデン】
【ソロ専用】アナザーエデン 時空を超える猫 質問スレ 30匹目 【アナデン】
【ソロ専用】アナザーエデン 時空を超える猫 質問スレ 10匹目 【アナデン】
【ソロ専用】アナザーエデン 時空を超える猫 質問スレ 13匹目 【アナデン】
【ソロ専用】アナザーエデン 時空を超える猫 質問スレ 25匹目 【アナデン】
【PC】Terraria 質問スレ Part17
PSVita 質問スレ part1 [無断転載禁止]
au Xperia Z1 SOL23 質問スレ part3
Florensia -フローレンシア- 質問スレ Part1
Tasker 質問スレ 17
【臨】 質問スレ 【床】
iTunes 質問スレ Part19
d払い 質問スレ Part1
ポケモンGo 質問スレ Lv.55
ポケモンGO 質問スレ Lv14
ChMate 質問スレ Part55
19:08:32 up 17 days, 5:32, 0 users, load average: 8.88, 9.18, 8.82

in 0.061604022979736 sec @0.061604022979736@0b7 on 122909