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

Excel VBA 質問スレ Part77 YouTube動画>1本 ->画像>5枚


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

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

1デフォルトの名無しさん (TW 0H42-j7SA)2022/07/17(日) 07:07:35.59ID:tS4zKdphH
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
↑同じ内容を3行貼り付けること

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

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

※前スレ
Excel VBA 質問スレ Part76
http://2chb.net/r/tech/1651339421/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured

2デフォルトの名無しさん (TW 0H42-j7SA)2022/07/17(日) 07:10:10.39ID:tS4zKdphH
3行貼り付けても
2行になるんだな この呪文↓

!extend:checked:vvvvv:1000:512

3デフォルトの名無しさん (ワッチョイ da02-You7)2022/07/17(日) 08:39:01.46ID:ykVjpAJL0
効果があるのは1行だけど
次のスレ立ての人のためにやってるのだろうね

4デフォルトの名無しさん (ワンミングク MM09-Oa5i)2022/07/17(日) 09:31:50.50ID:v2iZkzZwM
Excelの使い方すらわからない馬鹿な人と例のあいつはお断りです
Ruby馬鹿の釣りに引っ掛かる人も馬鹿な人もお断り

5デフォルトの名無しさん (アウアウウー Sa39-qysg)2022/07/17(日) 15:05:00.70ID:QiBhjgara
1行目は本物の呪文
2行目は次回スレ立て時用の呪文
3行目は間違って消す馬鹿除けの保険

6デフォルトの名無しさん (ワッチョイ 7610-hhQI)2022/07/17(日) 16:11:39.66ID:iyijmfZc0
>>5
美しくて泣く

7デフォルトの名無しさん (ワッチョイ 6aba-6/kI)2022/07/17(日) 18:41:41.02ID:4QBMdWYX0
マクロで比較して、無い項目だけを追記するという事をしたいんです。
業務の日程と進捗を管理しているシートを作る際、毎回[元になる大日程表]を編集して自分の作っているシートに手動で転記しています。
これを自動化したいんですが可能でしょうか?

今思っているのは元データと自分のシートでは作り(テンプレ)が違うのでまず元データを自分のシートと同じ列体系にする(E列からG列は元データにはないステータス等の項目があるため)
それを自分のデータのテンプレに貼り付け
貼り付けたテンプレシートと今のシートを比較して今のシートには無いデータだけを今のシートに追記する

ということをしたいのですが可能でしょうか?
またデータは機種ごとの納期順に並べているのですが対応は可能か、また機種を選んで(この機種だけを)比較して追記出来るのかも知りたいです。

機種ごとの区切りは空白をあけてB列に機種を書いて区切っています
区切りは難しいなら後で挿入すればいいかと思っています

1から5行目はハイパーリンク等があり実際にデータがある(始まるのは)のは6行目から800行目くらいです

8デフォルトの名無しさん (ワッチョイ 9d5f-GsVe)2022/07/17(日) 19:44:11.52ID:jcjjA0XP0
細かい所はよくわからんが可能だと思う
ただ丸投げじゃなくて
自分なりに考えて1回やってみて詰まった部分を質問しに来てくれ
あとテンプレートとかはダミーデータ使ってスクショで見せてくれた方が分かりやすい

9デフォルトの名無しさん (ワッチョイ 5ada-XFSu)2022/07/17(日) 21:53:53.41ID:lEW2LcQY0
クソコードは徹底的に弾圧するのがこのスレです

10デフォルトの名無しさん (テテンテンテン MM0e-W7Ka)2022/07/17(日) 21:56:27.02ID:JdoDEL2oM
コード数が多くなってfunctionを乱立しまくって、日を跨ぐと半日くらい前書いたコードの確認作業に取られるんだけど何か言い手はないですか?

11デフォルトの名無しさん (ワッチョイ 9d5f-lpz1)2022/07/17(日) 22:26:12.07ID:pcAahLMQ0
関数名で表された仕事だけ副作用なくこなし
関数内のコードレベルで何やってんのかまで
呼び出し側が気にしなくていい作りにする。

12デフォルトの名無しさん (ワッチョイ 9d5f-GsVe)2022/07/17(日) 22:43:35.33ID:jcjjA0XP0
>>10
・オブジェクトごとの操作/参照をクラスにまとめる
・テストを書いておく(Debug.Assert)

でも確認作業に半日もかかるのはそもそものやり方自体がおかしいと思う

13デフォルトの名無しさん (ワッチョイ 69ce-GsVe)2022/07/17(日) 22:47:05.49ID:4J5I9HKr0
>>10
わかりやすい名前を付ける
コメントをしっかり書く
プライドを捨てる

14デフォルトの名無しさん (ワッチョイ 55e6-PwMD)2022/07/17(日) 23:39:51.10ID:2HUxCZvI0
>>13
私はコメントを書かない

コメントは嘘をつく
コメントとコードが合致していることを保証する方法がない
そもそもコメントのメンテまで手がまわらない

15デフォルトの名無しさん (ワッチョイ 9d5f-lpz1)2022/07/18(月) 00:59:50.77ID:+HoBYfWN0
コメントはコメントに過ぎないんだよ。
コードと1対1で書くのも全然書かないのも極端だけど
仕様、要件、目的についての記載であれば嘘になりにくくメンテもしやすい。
コメントを鵜呑みにするのはだめだし、
「# x + y を sum に格納」みたいな意味ないのは論外。

16デフォルトの名無しさん (ワッチョイ 768e-/3LY)2022/07/18(月) 01:07:31.38ID:bK0MLmyI0
>>10
痴呆症か?

17デフォルトの名無しさん (ワッチョイ 5ada-XFSu)2022/07/18(月) 01:59:24.29ID:eH+87J0s0
コメント書くのは基本中の基本て新入社員時代のVBA研修で教わったけどなぁ。

18デフォルトの名無しさん (スップ Sdfa-Bbgq)2022/07/18(月) 02:40:37.08ID:/mPZ8e0Md
俺も小学生の時に自転車乗るとき信号無視するなって教わったけど
無視しまくってますごめんなさい

19デフォルトの名無しさん (ワッチョイ 0d01-qysg)2022/07/18(月) 02:46:44.22ID:M8P73NZJ0
ついこの間の参院選で、維新の会が横断歩道に車を止めて演説してたな。
許可とってやってるのかもしれないけど、危ないからやめてほしい。

※多分許可とっていないでしょう、維新だから。
※そういうところちゃんとしてるのは自民党だけです。

20デフォルトの名無しさん (スップ Sdfa-Bbgq)2022/07/18(月) 02:49:23.80ID:/mPZ8e0Md
気をつけます・・・

21デフォルトの名無しさん (ワッチョイ 5ada-XFSu)2022/07/18(月) 04:09:47.08ID:eH+87J0s0
かといって書かないよりはマシ

22デフォルトの名無しさん (ワッチョイ 0593-Xh2z)2022/07/18(月) 05:45:32.41ID:RQQtBm3R0
>>14
コメントはコードの内容書くんじゃなくて、なぜそうなのか、なぜそうしたのかを書いた方が役立つよ
なぜならなぜそうなのかってのは

23デフォルトの名無しさん (ワッチョイ 0593-Xh2z)2022/07/18(月) 05:45:44.24ID:RQQtBm3R0
コードには書き残せないから

24デフォルトの名無しさん (ワッチョイ 5ada-XFSu)2022/07/18(月) 07:40:03.74ID:eH+87J0s0
書く人によってそれぞれクセが出やすいからコメントあると嬉しい

25デフォルトの名無しさん (ワッチョイ 7dcd-eHP4)2022/07/18(月) 08:00:31.93ID:sapaqXZv0
>>10
先にfunctoinとコメントだけ書いておく
実際のコードはコメントに合わせてのんびり書けば良い

26デフォルトの名無しさん (ワッチョイ 0d01-W7Ka)2022/07/18(月) 14:42:12.42ID:5BAUqTL80
私の質問にいくつかの答えを提示していただきありがとうございます。一応目的を記したコメントは書いてます。
>>12さんの提示されている
・オブジェクトごとの操作/参照をクラスにまとめる
・テストを書いておく(Debug.Assert)
の意味が全くわからないのですが、どなたか分かる方はいらっしゃいませんか?クラスオブジェクトやデバッグの仕方くらいはわかります。

27デフォルトの名無しさん (ワッチョイ b6da-GsVe)2022/07/18(月) 18:45:03.91ID:1+7+/g6j0
>>10
1日やっても完結しない巨大なジュールやプロジェクトの場合は
初めに全体の設計をやって仕様書つくるもんじゃね

28デフォルトの名無しさん (ワッチョイ b6da-GsVe)2022/07/18(月) 18:47:09.39ID:1+7+/g6j0
モジュール

29デフォルトの名無しさん (ワッチョイ 5a7c-hhQI)2022/07/18(月) 21:18:12.43ID:N5Namf5L0
>>10
モジュールわけてるよね
ねんのため

3010です (ワッチョイ 0d01-W7Ka)2022/07/18(月) 22:44:32.04ID:5BAUqTL80
必要なところはモジュールを分けてます
ただコードを書く際にどことどこに影響あるのかとかを把握するのにいちいち時間がかかる感じです。

設計の段階でミスがある感じですかね?

31デフォルトの名無しさん (ワッチョイ 7dcd-eHP4)2022/07/18(月) 23:18:16.81ID:sapaqXZv0
>>30
ミスというよりも、不慣れって感じ
functionの引数が妙に多くなったりすると、大体設計が変な事が多い
一旦散歩でもしてから見直すと吉

32デフォルトの名無しさん (スプッッ Sdda-/3LY)2022/07/19(火) 00:26:55.88ID:ZYi6ztTBd
能力が足りないだけだな

33デフォルトの名無しさん (ワッチョイ 9d5f-GsVe)2022/07/19(火) 05:51:15.85ID:I3VG04Vs0
>>26
ごく当たり前のことを書いたつもりなんだけど…

> ・オブジェクトごとの操作/参照をクラスにまとめる
例えば、シート内の情報を照会して加工するマクロを考えた場合に、
加工対象の情報をモデル化したクラスやシートAを独立した状態で操作/参照するクラスを作れているか
(シート内のRangeやCellをそのまま操作したりしてないか)
みたいな話

> ・テストを書いておく(Debug.Assert)
いわゆるTDDです。thom先生の記事見た方が早い
https://thom.hateblo.jp/entry/2019/08/11/120027

多少不完全でもこの2つがそこそこちゃんと出来てたら
たとえ数ヶ月離れてたとしても全体像把握するのに時間はかからないはず

34デフォルトの名無しさん (ワッチョイ 9d5f-GsVe)2022/07/19(火) 06:08:17.00ID:I3VG04Vs0
> クラスやシートA
シートAってなんだ…「シート」です

35デフォルトの名無しさん (ワッチョイ da4f-ZYSS)2022/07/19(火) 12:34:10.12ID:QvSB1dsY0
>>33
概ね同意だけど
その辺キチンと考えて作れていたらVBA卒業だよ
クラスに限らずメソッド、関数なんかも
それが持つ役割毎に分けて作って
それなりの場所に格納しておけばあまり迷子に
なることもないよね。

ただ、VBAはモジュール毎にフォルダ作って
階層分けられないのがちょっとね。
それと1モジュール1クラスって制限が無ければ
かなり良い感じで作れるのに残念。

36デフォルトの名無しさん (アウアウウー Sa39-qysg)2022/07/19(火) 12:44:16.34ID:2mzjLS5ja
モジュール毎にexcelファイルを分けるとすっきり

3710です (テテンテンテン MM0e-W7Ka)2022/07/19(火) 14:49:29.27ID:wVlkUnGaM
皆さんありがとうございます。
不勉強な所でのつまづきのようですのでまた1から見直してみます。
>>33
わざわざ教えてくれてありがとうございます。参加にさせて貰います。

38デフォルトの名無しさん (ワッチョイ 8963-9APT)2022/07/19(火) 22:45:19.33ID:kKc46inh0
初心者で意味不明な質問で申し訳ありませんが

在庫管理で
返却日が入った品物は行ごと削除して
別シートに貼り付けて整理したいのですが、
Do LoopにIf Thenつけて
Cut Pasteを組み合わせれば
できそうですか?

39デフォルトの名無しさん (ワッチョイ 5a7c-hhQI)2022/07/19(火) 22:51:31.87ID:BYkKL3v00
>>38
できるね
でも返却日でソートしたほうがはやくね

40デフォルトの名無しさん (ワッチョイ 8963-9APT)2022/07/19(火) 23:02:08.60ID:kKc46inh0
>>39
ごめんなさい
自分の知識だとソート云々のやり方が
分からないです
ちょっと検索して勉強してみます

41デフォルトの名無しさん (スプッッ Sdfa-/3LY)2022/07/19(火) 23:17:01.56ID:giabuxB5d
>>40
>4を読め

42デフォルトの名無しさん (ワッチョイ 8963-9APT)2022/07/20(水) 06:59:57.92ID:qBG4++P70
>>41
失礼しました
Excelのソートはわかります
VBでソートして別シートに移せるのかと思いました

ワンクリックで
別シートに移すが1番重要視したいことなので

43デフォルトの名無しさん (ワッチョイ 69ce-GsVe)2022/07/20(水) 07:33:41.33ID:bRggQ/0k0
>>42
Excelの機能のほとんどはVBAでも使える
別シートに移してから、Excelのソート機能をVBAから呼び出すんよ

44デフォルトの名無しさん (ワッチョイ 0593-Xh2z)2022/07/20(水) 08:21:23.14ID:yiSU6HA/0
>>42
マクロの記録有効にした状態でExcelの操作をして、
記録したマクロをエディタで覗いてみれば良い

45デフォルトの名無しさん (スップ Sdfa-Vb2/)2022/07/20(水) 08:51:01.06ID:CrmHohvdd
>>42
行操作はコストがかかる作業につながるから可能であればこういう方法でもいいかもね
1.返却日が入力されている行だけフィルタで表示する
2.選択行をコピーする
3.コピーした選択行を別のシートに貼り付けする
4.選択行を削除する
5.フィルタを外す
これを実行前にマクロの記録を実行しておくとサンプルとなるコードができるから
あとはそれをいつでも使えるように加工すればいいかと

46デフォルトの名無しさん (アウアウウー Sa39-qysg)2022/07/20(水) 15:47:00.77ID:qJwz0nM8a
マクロの記録で吐き出されるコードって
ActiveCell とか ActiveRange 前提だったりするから
実際には使い物にならんと思うが

47デフォルトの名無しさん (ブーイモ MMde-9APT)2022/07/20(水) 17:42:23.39ID:/TT8b0cuM
>>43-45
皆様ありがとうございます
昼過ぎまでモヤモヤしてたのですが
急にソートの活かし方が分かった途端目から鱗でした
お陰様で不恰好でしょうが無事完成できました
本当にありがとうございます!

48デフォルトの名無しさん (ワッチョイ da4f-ZYSS)2022/07/20(水) 17:49:07.46ID:mz71iafY0
新しいシート用意してソート用に使いたく無ければ
EXCELにADO接続してSQLで取得した
Recordsetをシートに貼り付けるという手もあるよ。

少し大掛かりになってしまうかも知れないけど
そういう仕組みのモジュールを一つ作っておけば
後々同じようなことが出てきた場合に
結構楽になる。

49デフォルトの名無しさん (スプッッ Sdfa-/3LY)2022/07/20(水) 18:20:30.35ID:hcgHwgQ6d
そもそもExcelの使い方すらろくにわからん頭で思い付いたことだからまともに相手をしても無駄

50デフォルトの名無しさん (ワッチョイ b6da-GsVe)2022/07/20(水) 18:50:54.91ID:QKDnNcR/0
相手のレベルに合わせた回答ができないRuby厨と同じだな

51デフォルトの名無しさん (ワッチョイ da4f-ZYSS)2022/07/20(水) 20:05:56.52ID:mz71iafY0
>>50
ADO接続なんてネットでちょっと調べればすぐ出てくる。
SQLだってSELECT 〜FROM [シート名$] WHERE〜 程度の簡単なもの。

つまり初心者であってもちょっと調べればすぐに分かる範囲。
相手のレベルというよりお前さんのレベルが初心者以下なのでは?

52デフォルトの名無しさん (ワッチョイ 0593-Xh2z)2022/07/20(水) 20:30:27.87ID:yiSU6HA/0
ADOって消える消える言われて全然消えないな

53デフォルトの名無しさん (ワッチョイ 69ce-GsVe)2022/07/20(水) 20:40:21.12ID:bRggQ/0k0
VBAって消える消える言われて全然消えないな

54デフォルトの名無しさん (ワッチョイ 912f-cIkS)2022/07/20(水) 21:53:08.66ID:BaO5YoZA0
VBAが消えるはユーザーが勝手に言ってるだけだが
ADOは、公式にOLEDB非推奨が出たけど、取り消されたりしたからな

55デフォルトの名無しさん (ワッチョイ b6da-GsVe)2022/07/20(水) 21:55:26.21ID:QKDnNcR/0
>>51
はいはい、Rubyでもやってろ

56デフォルトの名無しさん (ワッチョイ 0593-Xh2z)2022/07/20(水) 22:01:03.48ID:yiSU6HA/0
>>54
知らなかった
軽く調べてみたら、2018年にOLE DBの非推奨が取り消しになったのね

57デフォルトの名無しさん (ワッチョイ 25ac-J8jO)2022/07/20(水) 22:53:19.49ID:dmRxss6E0
そいやアレ代替あるの?

58デフォルトの名無しさん (ゲマー MM7e-ussO)2022/07/21(木) 11:53:53.93ID:HtCJq1nnM
officescriptじゃね

59デフォルトの名無しさん (ワッチョイ da22-vK5r)2022/07/21(木) 12:03:52.84ID:jQSVcGnW0
初心者にありがちなやつ
Select,Selection
Active◯◯
Copy,Paste
他は?

60デフォルトの名無しさん (ワッチョイ 6aee-Z8lO)2022/07/21(木) 12:04:01.31ID:0IzTDkvO0
質問
本日になって急にExcelの描写がおかしくなった。
原因は、描写抑制のVBAがおかしいことを突き止めた。
どうやらFalseだけ実行され、Trueだけが強になって急に作動してなく抑止された状態が続く
同じような経験された人、解決方法しりませんか?
Application.ScreenUpdating = False
Application.ScreenUpdating = True

61デフォルトの名無しさん (ワッチョイ ae66-Vb2/)2022/07/21(木) 12:26:00.60ID:J3eN/Kn/0
>>60
365だよね?
俺も画面が更新されず止まったままになってて挙動がおかしい
でも実際は動いてるので、保存して開き直し
自分はそれでなんとか凌いだ

62デフォルトの名無しさん (ワッチョイ 6aee-Z8lO)2022/07/21(木) 12:32:01.87ID:0IzTDkvO0
>>61
そう、365です。
描画は止まってても実際は動いてるのも全く一緒ですね。
一度保存して開きなおすと治る?試してみます

63デフォルトの名無しさん (ワッチョイ 5ada-XFSu)2022/07/21(木) 13:04:59.71ID:sCo3tE9G0
>>59
思い付くのは、Next iとかをNextだけで終わらせるヤツ。
特に若いヤツに多い。

64デフォルトの名無しさん (ワッチョイ 6aee-Z8lO)2022/07/21(木) 13:23:18.80ID:0IzTDkvO0
>>61
保存したり閉じたり開いたり再起動したり更新したり色々試したけど直らず。
結局はApplication.ScreenUpdating関連を全て削除して一時的に回避することにした。
どうやらマイクロソフト自体が障害発生してるみたいだから描画バグの修正もしばらくかかりそう・・・

65デフォルトの名無しさん (ワッチョイ 8949-J8jO)2022/07/21(木) 13:29:18.37ID:V7ED8gxj0
>>63
あれ不要だよな、センスが悪い

66デフォルトの名無しさん (ワッチョイ 9d5f-GsVe)2022/07/21(木) 13:53:54.83ID:iXsJsite0
>>63
いや、Nextだけのほうがよくない?
ループ変数を明示したい状況って
・多重ループになっていてどのNextかパッと見でわからない
・For(Each) とNextが遠い
あたりが理由だろうけど、それってコードとしてあんまり綺麗な状態じゃないよね

67デフォルトの名無しさん (ワッチョイ 0593-Xh2z)2022/07/21(木) 14:11:56.94ID:gJFaDpGv0
>>60
VBEのイミディエイトウインドウなりでApplication.ScreenUpdating = Trueを実行すれば良いだけでは

68デフォルトの名無しさん (スッップ Sdfa-Vb2/)2022/07/21(木) 14:33:39.21ID:yukJsBqWd
>>66
自分もつけない派だけど他人に押し付けることはしない
きれいかきれいじゃないかも人それぞれだから押し付けない
厳密な規約がないならマイルールで問題ないのでは

69デフォルトの名無しさん (ワッチョイ 6aee-Z8lO)2022/07/21(木) 15:06:53.79ID:0IzTDkvO0
>>67
Trueにしても更新されないままなんだよね
MS障害で連携とれてないんか

70デフォルトの名無しさん (ワッチョイ 5ada-XFSu)2022/07/21(木) 16:36:30.43ID:sCo3tE9G0
いや、Next iとかきちんと書いた方が第三者も読みやすいはずよ。
いわゆるマクロを教える側の人間はきちんと書いてる(若いトレーナーは書いていないのもいるが)

71デフォルトの名無しさん (スッップ Sdfa-Vb2/)2022/07/21(木) 17:06:17.40ID:yukJsBqWd
わかったわかった
そうしろそうしろ

72デフォルトの名無しさん (ワッチョイ da4f-ZYSS)2022/07/21(木) 17:59:40.84ID:fm0UHw9/0
>>68に同意
自分も付けない派だけど
そもそもそんなデカいループ組むことは稀だし
せいぜい2階層ネストするくらいだし
それ以上ループをネストすることがあったら
まず作りがおかしくないか、
別関数に切り出すかとかの方を先に考える。

ただ、だからといってNextの後に変数名が
付いていたからといって
「律儀な人だなぁ」と思うだけ。
別に付いてても付いてなくても
困らないからどっちでもいい。

73デフォルトの名無しさん (ワッチョイ da4f-ZYSS)2022/07/21(木) 18:13:16.85ID:fm0UHw9/0
むしろ繰返しの変数名に「I」とか「j」とか付けてる方が
「ああ、そんな時代もあったなぁ」と思ってしまうわ
そこまでやるならコメントもシングルクォートじゃなくて
「Rem 」って書くべきだろうと。
自分は絶対イヤだけど。

74デフォルトの名無しさん (スプッッ Sdda-/3LY)2022/07/21(木) 18:33:51.30ID:7CG+4UZvd
>>69
GPUオフは?

75デフォルトの名無しさん (アウアウウー Sa39-qysg)2022/07/21(木) 18:41:46.02ID:ppiq2d/La
>>66
C言語とかで
for(int i=0; i<10; ++i){
hoge;
fuga;
}i;
とかだったら卒倒して死ぬな

76デフォルトの名無しさん (ラクッペペ MM0e-uUMH)2022/07/21(木) 18:45:53.15ID:lyHIL7tOM
卒倒する前にエラーでコンパイル通らないだろ

77デフォルトの名無しさん (ワッチョイ 912f-cIkS)2022/07/21(木) 19:31:54.52ID:+XzLMWod0
Nextの後ろに変数書くかどうかで読みやすさが変わるようなプログラム組んでるなら
そもそも他人に教えるようなレベルじゃないと思うわ

あんなのは、まともにインデントすら組めなかった大昔のBASICの残骸だよ

78デフォルトの名無しさん (ワッチョイ da4f-ZYSS)2022/07/21(木) 19:48:37.51ID:fm0UHw9/0
>>75
それな
Cに限らずJavaやC++やC#もみんなそんな書き方だし、自分はVB系のような書き方も明示的で良いとは思ってるけど、
その書き方でもあまり困らないから結局のところは慣れの範疇だよね。

79デフォルトの名無しさん (アウアウウー Sa39-10tP)2022/07/21(木) 19:55:27.19ID:YVyuRB69a
i付けろとか、どうせ田中とかあの辺が言ってるだけだろ?
なんでも鵜呑みにする奴ってなんなんだろうな

80デフォルトの名無しさん (ワッチョイ 0593-Xh2z)2022/07/21(木) 20:07:36.67ID:gJFaDpGv0
ついてようがついてまいがインデントさえ正しきゃ好きにしろで終わり

81デフォルトの名無しさん (アウアウウー Sa39-XFSu)2022/07/21(木) 20:09:11.68ID:VJl0SG/3a
呆れたわ
お前ら本当に上級者かよ?

82デフォルトの名無しさん (ワッチョイ 5a7c-hhQI)2022/07/21(木) 20:16:07.12ID:KsRI+X9I0
正直どうでもいいくせにご飯何膳いくつもりだよ笑

83デフォルトの名無しさん (ワッチョイ 615f-RFre)2022/07/21(木) 20:57:19.02ID:KTgkocG90
>>69
Twitterでも報告されてるな

84デフォルトの名無しさん (ワッチョイ 7dcd-eHP4)2022/07/21(木) 21:48:53.53ID:Ksn9zkHy0
>>80
これな
みんな、そんなにループのネストが多いの?

functionに切り分けて配列を引数に持たせるのは無し?

85デフォルトの名無しさん (ワッチョイ 9d34-EQEy)2022/07/21(木) 23:26:47.96ID:obwhbA970
>>64
これちょいと前からなってたけどおま環かと思ってfalseにしないで回避してたわ
Twitter見たら前からなってる人も居たみたいね

86デフォルトの名無しさん (スププ Sdfa-gSf5)2022/07/22(金) 11:13:35.20ID:y5iLWMChd
CreateObject(“Internetexplorer.Application“)が突然エラーを吐くようになった
普通のIEはまだ起動できるのに

他の人どうですか?

87デフォルトの名無しさん (ラクッペペ MM0e-tsYU)2022/07/22(金) 11:20:33.73ID:P7NcnZ58M
再起動

88デフォルトの名無しさん (ワッチョイ da4f-ZYSS)2022/07/22(金) 11:21:00.52ID:3zl+a5GK0
それも365?
何かIEはもうやめてEDGEに移行してくれって
随分前からMSからお達しがあったからその関係じゃないかな?

素直にEDGEに移行すれば?

89デフォルトの名無しさん (スププ Sdfa-gSf5)2022/07/22(金) 11:28:21.24ID:y5iLWMChd
うへ、再起動したら治った
上の人ありがとうございます
でも何でだろう


MS公式アナウンスは2029までこの手法は使えるとのアナウンスだった
移行したいのは山々だがSelenium + Webdriverは面倒くさ過ぎ

90デフォルトの名無しさん (ワッチョイ 8949-J8jO)2022/07/22(金) 13:04:28.34ID:RhXUUwNi0
正式なアナウンス?

91デフォルトの名無しさん (ワッチョイ 69ce-GsVe)2022/07/22(金) 15:29:50.23ID:Nxononph0
スタッフの個人ブログは正式アナウンスじゃないよ

92デフォルトの名無しさん (ワッチョイ 7dcd-eHP4)2022/07/22(金) 19:04:07.42ID:Jcs8pkA+0
こないだのオフ会楽しかったな
Excel VBA 質問スレ Part77 YouTube動画>1本 ->画像>5枚

93デフォルトの名無しさん (ワッチョイ 0bda-VsAj)2022/07/23(土) 21:33:12.94ID:1FRkz0ow0
密です

94デフォルトの名無しさん (ワッチョイ 9979-JtV0)2022/07/23(土) 21:51:44.32ID:ESnt81dA0
>CreateObject(“Internetexplorer.Application“)
IEってアウトプロセスだしCOMの開放忘れでリークしまくってて正常に起動できなくなってたに300ペリカ

95デフォルトの名無しさん (ブーイモ MMeb-vZl0)2022/07/25(月) 10:04:05.83ID:Envy3B37M
Next iってVisualじゃないBASICでインデント付けずにフラットに書くことが多かった時代の名残でしょ

96デフォルトの名無しさん (ワッチョイ b993-5slF)2022/07/25(月) 10:30:09.76ID:qmzvdF1J0
いつの話題だよ

97デフォルトの名無しさん (スップ Sd33-SXL5)2022/07/25(月) 10:31:25.87ID:aQHcIofRd
ネタがないから蒸し返したいんでしょ

98デフォルトの名無しさん (ワッチョイ 0bda-VsAj)2022/07/25(月) 14:14:33.64ID:TIxxPU060
>>95
インデントは余分にメモリ使うからな

99デフォルトの名無しさん (ワッチョイ 1301-T1rX)2022/07/25(月) 16:11:05.58ID:GzNr1keE0
その環境だとNEXT IのIを省略した方が省メモリーじゃなかったっけ?

100デフォルトの名無しさん (ワッチョイ 8b10-/hU7)2022/07/25(月) 16:15:14.91ID:I+fEELmC0
確かコマンドごとにコードが決まっててそれでメモリを削ってた気がする
PRINTの命令コードは何番みたいに

101デフォルトの名無しさん (ワッチョイ 29cd-WFlA)2022/07/25(月) 16:21:50.51ID:+mm9gF5i0
>>99
あのー
このレベルの懐古厨にマウントは無理だよ

102デフォルトの名無しさん (ワッチョイ 1301-T1rX)2022/07/25(月) 16:33:12.29ID:GzNr1keE0
>>100
環境に依ったような気がする

>>101
マウント厨かよw

103デフォルトの名無しさん (ラクッペペ MMeb-FUOq)2022/07/25(月) 16:38:39.42ID:phnqPDxNM
? が勝手にPRINTになるやつね
行末;とか意外と難しいよね

104デフォルトの名無しさん (ワッチョイ 8b8e-3G+t)2022/07/25(月) 18:11:29.36ID:aiOwBskw0
>>103
わからない馬鹿は書かなければいいのに

105デフォルトの名無しさん (ブーイモ MM4d-/hU7)2022/07/25(月) 19:32:28.46ID:c0BN6IQOM
>>103
合ってるよ
?はPRINTの省略でセミコロンはマルチステートメント
マルチステートメントは改行(crlf)するより1バイト分お得
プログラムエリアが20kくらいしかなかったから可読性なんて贅沢の極みの状況だった

106デフォルトの名無しさん (ワッチョイ 112f-bldA)2022/07/25(月) 19:39:56.40ID:6AaHjHdw0
マルチステートメントはセミコロンじゃなくてコロンな
ちな今のVBAでも使える

まあ、ソースを削れば早くなるなんてインタプリタ時代の遺物

107デフォルトの名無しさん (スプッッ Sd33-3G+t)2022/07/25(月) 19:45:38.76ID:Gx0l0SiPd
>>105
馬鹿の仲間か?

108デフォルトの名無しさん (ブーイモ MM4d-/hU7)2022/07/25(月) 19:53:42.13ID:c0BN6IQOM
>>106
あーすまん、フォローありがとう
もうウロ覚えだわ~

109デフォルトの名無しさん (ワッチョイ 0bda-VsAj)2022/07/25(月) 20:00:39.95ID:TIxxPU060
行末セミコロンはC言語

110デフォルトの名無しさん (ワッチョイ 0bda-VsAj)2022/07/25(月) 20:01:10.85ID:TIxxPU060
行末というか関数の後な

111デフォルトの名無しさん (ワッチョイ 1301-T1rX)2022/07/25(月) 20:15:29.72ID:GzNr1keE0
>>103のセミコロンはPRINTの改行抑止の話じゃねーの?

>>110
a = 1; のどこに関数が?

112デフォルトの名無しさん (ワッチョイ 112f-bldA)2022/07/25(月) 21:09:51.78ID:6AaHjHdw0
>>110
行末っていうか文末な

>>111
>>103はそういう意味かもしれんとも思ったが、それに対する>>105は...
PRINT AよりPRINT A;が早いからPRINTはセミコロンつけろっていうのは太古の昔にはあったなあ

113デフォルトの名無しさん (ワッチョイ 134f-jsn9)2022/07/25(月) 21:59:22.05ID:CW1FoItD0
如何にこのスレがじじいばかりか
よく分かるレスだなぁ

114デフォルトの名無しさん (スッップ Sd33-SXL5)2022/07/25(月) 22:26:52.71ID:2R2hqyBdd
しかもスレチな話題をずっとするし害悪でしかない

115デフォルトの名無しさん (ワッチョイ 5101-R4TS)2022/07/25(月) 22:30:19.03ID:oUQ2GGC10
・高度IT人材、富士通は最大年収3500万円へ
・AI人材の獲得に超本気 NECが新人事制度を9人に適用、富士通は最大年収3500万円へ
・【年収3500万円も】富士通、「ジョブ型」人事制度を導入 幹部社員から 高度IT人材
・来年度から副業解禁 人材多様化へ―大同生命次期社長
・第一生命HD、副業解禁 約1万5000人対象
・第一生命HD、副業解禁 1万5000人対象―大手生保初
・IHI、国内8000人の副業解禁 重厚長大企業も転機
・IHI、社外兼業を解禁 社内副業もルール化

116デフォルトの名無しさん (ワッチョイ b993-5slF)2022/07/25(月) 23:25:00.63ID:qmzvdF1J0
高田純次はすごいよな
昔話・自慢話・説教は嫌われるからしないってのを徹底してる
方やここの老害共は

117デフォルトの名無しさん (ワッチョイ 0bda-VsAj)2022/07/26(火) 18:51:38.02ID:bRnWAQLB0
ブーメラン返ってきてるぞ

118デフォルトの名無しさん (ワッチョイ 09a5-VsAj)2022/07/27(水) 00:49:40.58ID:LErGbxXl0
2016使っててVBAが複数エクセル開いてると干渉して困ってたけど
タスクバーのアイコンを右クリックして、alt押し続けながらエクセル起動すると
別プロセスで起動できることを最近知った

119デフォルトの名無しさん (ワッチョイ b910-QN/E)2022/07/27(水) 09:53:31.45ID:YpiXqhyl0
Windows 10 エクスプローラー [表示]-[列の追加]-[列の選択] 
「詳細表示の設定」ダイアログが開いて 詳細 「コメント」をチェック。
エクスプローラーに「コメント」列が追加される。

フォルダに設定されたコメントをVBAで取得する方法があったら教えてください。

120デフォルトの名無しさん (ラクッペペ MMeb-FUOq)2022/07/27(水) 10:42:22.72ID:y3iJ04t7M
vba shell.application getdetailsof

121デフォルトの名無しさん (アウアウウー Sa5d-R4TS)2022/07/27(水) 11:00:39.14ID:elZrgoJKa
エクスプローラーが突然アホになる健忘症を治す方法を教えてくれまいか

122デフォルトの名無しさん (アウアウウー Sa5d-R4TS)2022/07/27(水) 11:13:16.58ID:elZrgoJKa

123デフォルトの名無しさん (ワッチョイ 4901-nkTi)2022/07/27(水) 11:19:05.52ID:Uy/d0pUP0
質問させてください。

http://keizann.blog.shinobi.jp/-yahoovba-/yahoo%E3%83%95%E3%82%A1%E3%82%A4%E3%83%8A%E3%83%B3%E3%82%B9%E3%81%8B%E3%82%89%E6%A0%AA%E4%BE%A1%E6%83%85%E5%A0%B1%E3%81%AE%E5%8F%96%E5%BE%97

こちらのものを利用させていただきデータを収集しているのですが、これだと希望する場所にたどり着けないです。

例えばXPathのように2番目のliの中の〜みたいな書き方はできるのでしょうか?

124デフォルトの名無しさん (ワッチョイ 81da-SXL5)2022/07/27(水) 11:42:49.96ID:y/T7OYsG0
すまん.ワードVBA の質問すれどこにあるか知ってる人がいたら教えて.昔あったけど発見できない.かそってなくなったのかな.アクセスVBAとエクセルVBAしかないのかな.

125デフォルトの名無しさん (ラクッペペ MMeb-FUOq)2022/07/27(水) 11:48:06.25ID:y3iJ04t7M
VBAなんでも質問スレ Part3
http://2chb.net/r/tech/1631184381/

ただし…

126デフォルトの名無しさん (ワッチョイ 41ce-VsAj)2022/07/27(水) 12:09:26.86ID:sKOy45jL0
>>123
ざっと見たところ、単純に文字列を検索して切り出してるだけだから、関数の使い方を工夫すればできそうに見える
ここよりその作者に直接聞け

127デフォルトの名無しさん (ワッチョイ 110e-c45x)2022/07/27(水) 15:54:35.41ID:t59wwtHz0
エクスプローラーが突然ハゲになる症状を治す方法を教えてくれまいか

128デフォルトの名無しさん (ワッチョイ 0bda-VsAj)2022/07/28(木) 21:40:24.00ID:5mhazMD10
>>127
再起動

129デフォルトの名無しさん (スププ Sd33-KTvv)2022/07/29(金) 11:13:15.94ID:OVkASiTwd
>>123
最近ウェブページ操作することが多くて参考にならないかと思ってちょいみてみた
情報取得だけならこういう方法も処理が軽いからありなのかと勉強になったわ

取得したHTMLからお目当ての文字列を切り出すのにGetText関数を重層的に用いるのな
GetText自体は簡単なもので、切り出したい文字列の前と後ろにある文字列を指定することで
その間に挟まれている文字列を取得するというもの
何度か繰り返しこの関数を使うことで、目的の文字列にたどり着く
うまいこと前後の文字列を指定してあげないと切り出しが狂ってしまって目標にたどり着けないので、その辺はHTMLをじっくり見ながらやってみるしかない

タグにクラス名とかIDとか細かく設定されてるから、その辺を前後の文字列にうまいこと含ませながらやるのかな
取得したい文字列が存在する複数ページに共通する部分を使っていかないとダメっていう難しさはありそう

130デフォルトの名無しさん (ワッチョイ 695f-VsAj)2022/07/29(金) 13:56:47.64ID:rkOqpdOk0
(なんでHTMLDocument使わないんだろう…)

131デフォルトの名無しさん (ワッチョイ b33d-z+le)2022/07/29(金) 14:12:34.81ID:SQeCuMJr0
>>123
XPathを知ってるなら、そっちを使えばいいんじゃないの?
だいたいスクレイピングといえば、FindElementByCssとかFindElementByXPathをつかうもので、
なんでわざわざ別のやり方をやりたいのか意味がわからん。

132デフォルトの名無しさん (スッップ Sd33-M5Tw)2022/07/29(金) 15:37:25.01ID:4rYLg7AVd
VBAでシリアル通信を行う場合についての質問です。
CreateFileで指定のCOMポートを開き、WriteFileで指令を送信、ReadFileでデータを格納する流れだと思うのですが、
WriteFileで送る文字列の形式がマニュアルを見ても分かりません。
読み出しメッセージが「STX 10 R PV01 01 ETX BCC」の順だとしたらこれをStringで送ればよいのでしょうか?
それとも対応するASCIIコードを並べて送るのでしょうか?

133デフォルトの名無しさん (アウアウウー Sa5d-R4TS)2022/07/29(金) 16:37:10.32ID:idOVuMm7a
対応するASCIIコードを並べて送る

134デフォルトの名無しさん (スッップ Sd33-M5Tw)2022/07/29(金) 16:50:05.77ID:4rYLg7AVd
回答ありがとうございます。
WriteFileで1バイトずつコードを送っていき、終端のコードを送るとReadFileで返答を持ってこれるという認識でしょうか?

135デフォルトの名無しさん (ワッチョイ 112f-bldA)2022/07/29(金) 18:22:52.40ID:Msj+MKnH0
COMポート送受信なんて、普通はそれ用のコントロールつかうんじゃね
MSCOMMとか今はもう動かのかな

136デフォルトの名無しさん (ワッチョイ 0bda-VsAj)2022/07/29(金) 19:50:13.57ID:rpK6f4vc0
>>134
そんな簡単にはできない

137デフォルトの名無しさん (ワッチョイ 1301-T1rX)2022/07/29(金) 20:30:37.69ID:47SIIXKm0
>>135
Windows10 64bit でも一応動くみたいだけど一手間(ファイルを移動させたりレジストリを書換えたり)が必要みたい
詳しくは mscomm32.ocx windows10 とかでググって

138デフォルトの名無しさん (ワッチョイ 1301-T1rX)2022/07/29(金) 20:43:22.69ID:47SIIXKm0
>>134
別に1バイトずつじゃなくても複数バイトを一気に送れるよ
まあ送信速度に対してCPUの方がアホほど速いから性能上はどっちでも変わらんけど
念のための確認だけど STX が &H53 &H54 &H58 って思ってないよね

139デフォルトの名無しさん (ワッチョイ 0bda-VsAj)2022/07/29(金) 21:13:37.14ID:rpK6f4vc0
最近のPCはシリアルポートがついてない方が多いよね
ハイパーターミナルってVISTA以降は入ってないし

140134 (スッップ Sd33-M5Tw)2022/07/29(金) 21:44:49.02ID:4rYLg7AVd
回答ありがとうございます

>>135,137
MSCOMMというものを使う方法もあるのですね
調べてみます

>>138
ASCIIコードの対応でSTXが&H2、ETXが&H3ですよね
一気に送るというのは配列で渡すような形ですか?

基礎的な部分から分かっていないのできつい予感が

141デフォルトの名無しさん (ワッチョイ 112f-bldA)2022/07/29(金) 21:58:07.50ID:Msj+MKnH0
つか通信する相手は何だよ?
相手側機器に、通信用のライブラリとかないのか?

142134 (スッップ Sd33-M5Tw)2022/07/29(金) 23:12:49.30ID:4rYLg7AVd
>>141
相手はレコーダーと調節計で目的は現在値の読出しです
調節計のほうは専用のソフトがありますがレコーダーのほうはありません
PCで両方に接続して2つから同じタイミングで現在値を読んでExcelに記録していくものを作ろうとしています

143デフォルトの名無しさん (スッップ Sd33-3G+t)2022/07/29(金) 23:29:37.37ID:uqH2D3BDd
何でExcelで直接入出力する必要があるのか
馬鹿は発想からして馬鹿なんだよな

144デフォルトの名無しさん (ワッチョイ 1301-T1rX)2022/07/29(金) 23:58:33.41ID:47SIIXKm0
>>140
> MSCOMMというものを使う方法もあるのですね
可能ならmscomm32.ocx使った方が遥かに楽
Win32APIだとボーレートとかの指定はSetCommState()を呼ばないとダメだし
あと送信はWriteFile()で書き込めばいいだけだけど受信は何らかの要因で読めない時にキャンセルできるようにしないと使い勝手悪いのでSetCommTimeouts()でタイムアウト設定して制御を戻す必要あるけどmscomm32.ocxだと受信でイベントが発生するからそういう処理が楽

> ASCIIコードの対応でSTXが&H2、ETXが&H3ですよね
ああすまんそこは大丈夫なのね、失礼した

> 一気に送るというのは配列で渡すような形ですか?
そう Byte 型の配列を渡す

> 基礎的な部分から分かっていないのできつい予感が
脅かすようで申し訳ないけど結構ハードル高いよ
特にReadFile()の方はバッファサイズを間違えるとExcel自体が落ちたりするし
どうしても茨の道を進みたい/進まざるを得ないならまずはファイルに対してCreateFile/ReadFile/WriteFile/CloseHandleから練習した方がいいかも

145134 (スッップ Sd9a-XKyj)2022/07/30(土) 00:32:26.79ID:EONGri1rd
>>144
回答ありがとうございます

制限があるわけではないのでmscomm32.ocxを使う方向で行こうと思います
先が長そうな感じはかなりありますね・・・
まずはCreateFile、ReadFile、WriteFile、CloseHandleでファイルを操作するところからやってみます

146デフォルトの名無しさん (ワッチョイ 212f-Og+R)2022/07/30(土) 03:02:20.62ID:OeV/oYE+0
まずVBAでやるべきかどうか考えたほうが良いんじゃね
相手側がそれ用のコンポーネントでも用意してない限り、VBAでやるような案件じゃないぞ

147デフォルトの名無しさん (ワッチョイ 5d01-tQYr)2022/07/30(土) 03:31:29.08ID:S23h7zaP0
>>123 です。

レスいただいた方々ありがとうございます。
スプレッドシートの ImportXML でXPathは理解しました。
HTML/CSSは書けますがそれ以外はさっぱりで…。
HTMLDocument、FindElementByCss、FindElementByXPathなど
調べていて出てきましたがどう書き出してどうエクセルに書き込むか
一から十までのものが見当たらず挫折しました。

>>129 さん!書き込み、非常に参考になりました。
<td></td>
<td></td>
<td></td>
などは無理なようですが、どうにかclassなどが振ってあるサイトを探せました。
ありがとうございます。

148デフォルトの名無しさん (ワッチョイ f15f-H9lt)2022/07/30(土) 03:43:44.39ID:GJbGwXKe0
>>123
if文で真偽値を二度判定するあたりなどは、もうさすがにやめてほしいわ。

149デフォルトの名無しさん (ワッチョイ f15f-H9lt)2022/07/30(土) 03:50:55.80ID:GJbGwXKe0
>>147
Cells()だらけなのにExcelシートに値をセットしていないと思うのか?

150デフォルトの名無しさん (ワッチョイ 4a3d-4ORi)2022/07/30(土) 05:00:33.23ID:eVUB+9l60
というか簡単に取れるけど
kabu_kode = ThisWorkbook.Sheets("Sheet2").Cells(1, X).Value
If kabu_kode <> "" Then
driver.Get "https://finance.yahoo.co.jp/quote/"; & kabu_kode
Call Sleep(1000) '3秒待つ
ThisWorkbook.Sheets("Sheet2").Cells(2, X).Value = driver.FindElementsByCss("h1._6uDhA-ZV").Item(1).Text '社名
ThisWorkbook.Sheets("Sheet2").Cells(3, X).Value = driver.FindElementsByCss("span._3rXWJKZF").Item(1).Text '株価
Set o_elem1 = driver.FindElementsByCss("dt")
Set o_elem2 = driver.FindElementsByCss("dd")

For Y = 1 To o_elem1.Count
If X = 2 Then ThisWorkbook.Sheets("Sheet2").Cells(Y + 3, 1).Value = o_elem1.Item(Y).Text '凡例を書く
ThisWorkbook.Sheets("Sheet2").Cells(Y + 3, X).Value = o_elem2.Item(Y).Text
Next
End If

151デフォルトの名無しさん (アウアウウー Sa09-G1eK)2022/07/30(土) 09:15:05.30ID:paa5jUiAa
>>143
++
ほんそれ

152デフォルトの名無しさん (ワッチョイ d68f-lbI7)2022/07/30(土) 16:06:41.35ID:2k62MWGF0
>>143
縛りプレイが大好きなんだよきっと

153デフォルトの名無しさん (ワッチョイ 79ce-dSCr)2022/07/30(土) 17:59:01.96ID:abWJW+vX0
Sleep(1000)で3秒?

154デフォルトの名無しさん (ワッチョイ 79ce-dSCr)2022/07/30(土) 18:00:32.56ID:abWJW+vX0
kodeが気持ち悪い
そこはkodoかcodeだろ

155デフォルトの名無しさん (ワッチョイ 7a01-Jv5Y)2022/07/30(土) 18:40:37.03ID:zHogqexf0
>>145
ARDUINO とかで遊んでるやつもいて
VBA シリアル通信
でググれば事例は出てくるからまずはここら辺を参考にすればいいかと
https://kats-eye.net/info/2020/03/23/excel-arduino/
>>146,151-152 みたいな何の参考にもならないレスは無視していい

156デフォルトの名無しさん (ワッチョイ 7a01-Jv5Y)2022/07/30(土) 18:51:57.99ID:zHogqexf0
>>154
喧嘩売ってんの?w
https://kode.co.jp/about-kode

157デフォルトの名無しさん (スフッ Sd9a-dSCr)2022/07/30(土) 19:36:36.39ID:BNmOiQjDd
ローマ字と英語が混ざってる時点で頭悪そうだなとは思う
匿名掲示板以外では口に出さないけど

158デフォルトの名無しさん (ワッチョイ d68e-HyOH)2022/07/30(土) 20:21:34.38ID:hXWLTBTp0
>>155
運用することを考慮しない馬鹿

159デフォルトの名無しさん (オッペケ Sr05-hiCj)2022/07/30(土) 21:04:41.17ID:LxmbT4O1r
盛り上がってるところ低レベルの割り込み恐縮ですが
ランダムな値が格納されてる配列の頻度分布を調べたいです
ワークシート関数使わないでできるだけ行数少なく書くならどうするべきでしょうか

160デフォルトの名無しさん (ワッチョイ 79ce-dSCr)2022/07/30(土) 21:17:32.71ID:abWJW+vX0
>>159
乱数の範囲によって方法が変わってくる

161デフォルトの名無しさん (ワッチョイ 7a01-Jv5Y)2022/07/30(土) 21:38:00.74ID:zHogqexf0
>>158
おまえ>>145の状況知ってるの?
まさか状況知らずにダメ出ししちゃう無能君かな?w

162134 (スッップ Sd9a-XKyj)2022/07/30(土) 21:41:59.73ID:EONGri1rd
>>155
VBAのシリアル通信で調べていた際にARDUINOという単語を見かけたことはありましたが同じようにシリアル通信ができるのですね
中身を見た限り基本的な部分は同じようにできそうなので参考にしてみます

163デフォルトの名無しさん (スッップ Sd9a-Ar6L)2022/07/30(土) 22:52:18.66ID:bNASqKAqd
>>159
CSVで出力してPythonでmatplotlib使えば一発よ

164デフォルトの名無しさん (ワッチョイ d68e-HyOH)2022/07/30(土) 22:56:19.11ID:hXWLTBTp0
>>161
典型的なパソコンにちょっと詳しいだけの馬鹿

165デフォルトの名無しさん (ワッチョイ cdcd-dSCr)2022/07/30(土) 23:02:16.93ID:wkD5AAYO0
>>164
完全同意!
>>164とかまさにそれだよな

166デフォルトの名無しさん (オッペケ Sr05-hiCj)2022/07/31(日) 05:06:02.46ID:VbPtQjeWr
>>160
整数0から20で要素数70です
>>163
csv使うならワークシート関数でいいです

167デフォルトの名無しさん (ワッチョイ 7a01-Jv5Y)2022/07/31(日) 05:59:25.08ID:UwyiR8NW0
>>166
普通に
Dim F(0 To 20) As Long
Dim I As Long
For I = LBound(A) To UBound(A)
F(A(I)) = F(A(I)) + 1
Next
ってやればいいだけじゃねーの?

168デフォルトの名無しさん (オッペケ Sr05-hiCj)2022/07/31(日) 06:45:31.55ID:+RcSx9lzr
>>167
なるほど調べるのが整数限定ですからね
一般化して考えてたので思いつかなかったです
ありがとうございました

169デフォルトの名無しさん (ワッチョイ 79a0-pQei)2022/08/01(月) 16:35:43.44ID:9g/R1AFs0
セルA1に 1:00:00 の
ような時間データが入っています

これを変数に格納したいのですが
上手く行きません

最終的に変数の左2文字 1: を
格納して他のセルに入っている
12:15:00 などの左2文字と比較
したいのです

エクセルVBAは独学で詳しく
わからないのですが、知見を
お借りしたく質問させていた
だきました
よろしくおねがいします

24歳OL

170デフォルトの名無しさん (ワッチョイ 9949-BIed)2022/08/01(月) 16:40:09.61ID:9ms8u+Pj0
なぜ24歳OLと入れた

171デフォルトの名無しさん (ワッチョイ fa42-NzPP)2022/08/01(月) 16:44:24.88ID:Rl1xejp60
そのほうが教えてくれそうだから

172デフォルトの名無しさん (スッップ Sd9a-HyOH)2022/08/01(月) 18:17:38.73ID:quoUWzO9d
VBAを知らないのではなくExcelのことをろくに知らないだけだな

173デフォルトの名無しさん (ブーイモ MM9a-cWH+)2022/08/01(月) 18:34:36.42ID:ymJlKbsOM
>>169
VBA入門の最初の1ページからこのスレで説明しろと?

174デフォルトの名無しさん (ワッチョイ 16da-dSCr)2022/08/01(月) 18:38:01.34ID:MuDoyFKF0
>>169
格納する変数の型が正しくないのかも

175デフォルトの名無しさん (ワッチョイ 25e6-p9PZ)2022/08/01(月) 19:43:29.98ID:kaXTkJ9F0
>>169
シートの名前は?

176デフォルトの名無しさん (ワッチョイ f15f-NYNZ)2022/08/01(月) 19:44:55.66ID:b27MMuGu0
コロンは除外したほうが比較しやすい

Dim TimeA1 As Long
Dim TimeB1 As Long

TimeA1 = Left(Range("A1").Text,Instr(Range("A1").Text,":")-1)
TimeB1 = Left(Range("B1").Text,Instr(Range("B1").Text,":")-1)

177デフォルトの名無しさん (ラクッペペ MMee-kNao)2022/08/01(月) 20:06:19.66ID:c2lbE9aCM
Hour関数ならVariant型変数

178デフォルトの名無しさん (ワッチョイ d593-q5pf)2022/08/01(月) 20:06:42.42ID:/01YeBPr0
>>176
ならhour()使う方がいいんじゃね

179デフォルトの名無しさん (ワッチョイ f15f-NYNZ)2022/08/01(月) 20:20:09.25ID:b27MMuGu0
>>178
たしかに

180デフォルトの名無しさん (ワントンキン MM8a-l8nk)2022/08/01(月) 20:42:04.99ID:A4DKp3HMM
いつものあいつだろ

181デフォルトの名無しさん (アウアウウー Sa09-HV89)2022/08/02(火) 09:23:38.92ID:WVu/C7lVa
24歳OL
小娘になりすましかRudy厨

182デフォルトの名無しさん (スッップ Sd9a-1wwR)2022/08/02(火) 09:42:27.92ID:VTHaYhDHd
>>169の質問は「1:」とコロンも取り出したいという話なんだからまずはそれを回答しないとだめじゃないか?
そのうえで比較するのが違いがあるかなら1:00:00は「1」で12:15:00は「12」でもいいと思うから>>176みたいな回答を補足したほうがいいと思うが

なので回答としては Left(Range("A1").Text, 2) とでも答えてやればいいとおもうんだが

183デフォルトの名無しさん (ワッチョイ 9949-BIed)2022/08/02(火) 10:01:28.41ID:Gd43XZqn0
気持ち的にはめんどいからそれでいいんだけど、
まあ実際にちゃんとした相手に教えるとなればそれまでの経緯とその後の用途も聞いて、適したデータになるようにしないとだわね
文字列「1:」と数値「12」の比較なんてそのままでは出来ないから

184デフォルトの名無しさん (スッップ Sd9a-1wwR)2022/08/02(火) 10:05:23.71ID:VTHaYhDHd
>12:15:00 などの左2文字と比較したいのです
って書いてあるのにかってに「12」を数値にしちゃいかんだろ
なんかここで回答するやつたまに想像膨らませる奴いるけど仕事でもそんな感じなのかね
相手する人気の毒になる

185デフォルトの名無しさん (ワッチョイ 79ce-dSCr)2022/08/02(火) 11:54:47.43ID:qyGirSaK0
>>169
本当に左2文字を取り出したいのなら
変数 = Left(Range("A1").Text, 2)
だけど、もし時刻を比較したいんならこの方法はおすすめしない

186デフォルトの名無しさん (オッペケ Sr05-pQei)2022/08/02(火) 14:56:05.83ID:g2MjUr00r
>>169です

たくさんレスいただき本当にありがとうございます
参考になるレスがたくさんで感謝しかありません

具体的な一例まで書いて頂けて助かります

これからで教えて頂いた内容を参考に
プログラムしてみます
この度は本当にありがとうございました
m(_ _)m@24歳OL

187デフォルトの名無しさん (ワッチョイ d593-q5pf)2022/08/02(火) 15:48:33.16ID:M1mz9f8+0
@24歳OLってことは、
24歳OLは地点の名称ってことだったんだな

188デフォルトの名無しさん (ワッチョイ 9949-BIed)2022/08/02(火) 16:09:24.35ID:Gd43XZqn0
まあ24歳の改行には見えんしな

189デフォルトの名無しさん (ワッチョイ d68e-HyOH)2022/08/02(火) 16:18:40.57ID:f8W0+U3I0
10進法で24ではなく16進法とか32進法で24だろ
こんな釣りに引っ掛かって意気揚々と答える馬鹿ども

190デフォルトの名無しさん (ラクッペペ MMee-kNao)2022/08/02(火) 16:35:13.65ID:ouwdvJliM
=HEX2DEC(24)

191デフォルトの名無しさん (ブーイモ MM69-FKfY)2022/08/02(火) 17:59:32.64ID:9ai4+8EuM
お前ら食い付きすぎ

192デフォルトの名無しさん (ワッチョイ d593-q5pf)2022/08/02(火) 18:46:55.49ID:M1mz9f8+0
>>189
基数が変わると@の意味が変わるってこと言ってる?

193デフォルトの名無しさん (ワッチョイ 5d01-G1eK)2022/08/02(火) 18:50:18.70ID:3Auutz710
社会人二年目が終わり、そろそろVBA・・・ってパターンの24歳OLもあり得るのでは?

194デフォルトの名無しさん (ワッチョイ fada-HV89)2022/08/02(火) 18:59:16.08ID:59A+RgA40
遊びたい盛りの24歳がVBAになんか興味持つわけ無いだろ
ましてやExcelすら興味ないんだから

195デフォルトの名無しさん (スッップ Sd9a-1wwR)2022/08/02(火) 19:28:20.53ID:VTHaYhDHd
年齢に食いついてるのは質問に回答すらできない人達でしょ

196デフォルトの名無しさん (ワッチョイ 5d01-G1eK)2022/08/02(火) 19:38:55.35ID:3Auutz710
24歳をチヤホヤしたらダメみたいな言い方だよな。

197デフォルトの名無しさん (ワッチョイ 5d01-G1eK)2022/08/02(火) 19:53:54.38ID:3Auutz710
チヤホヤしていいのは、12歳までか。

198デフォルトの名無しさん (ワッチョイ f15f-NYNZ)2022/08/02(火) 20:57:14.71ID:OnsfUwTz0
OLために一人一生懸命なのいるな

199デフォルトの名無しさん (アウアウクー MMc5-H9lt)2022/08/02(火) 22:24:42.35ID:A3tAvDnUM
ネタに反応すんなよw

セルの書式が標準だったら、本当に面倒くさいのがExcel。

200デフォルトの名無しさん (ワッチョイ 7a4f-dwFe)2022/08/03(水) 07:56:32.23ID:7S+90b7b0
お前ら何を言ってるんだ?
RangeのTextプロパティなんて使える訳ないだろう
日付設定しているセルなんて幅狭められたら値が#になって終わりだ

201デフォルトの名無しさん (スッップ Sd9a-1wwR)2022/08/03(水) 09:41:28.63ID:gy/aLR/Wd
なぜ質問してる条件が「1:00:00」といってるのに勝手に「#」と想像を膨らませて混乱させるバカがいるのかと思う
終わってるのは自分だろと
質問された条件だけで素直に答えろよ

202デフォルトの名無しさん (ワッチョイ 7a4f-dwFe)2022/08/03(水) 12:44:22.01ID:7S+90b7b0
>>201
バカはお前だ。
>>689が「時間データ」と銘打っているのだからそこに入っているのは「文字列データ」ではない。シリアル値だ。
そのシリアル値が入ったセルの列幅を縮めてみろ。
まともに動かなくなるぞ。

valueでセル値を取得してFormatなりで文字列に変換した後で切り出しを行え言ってるんだ。
そんなことも理解出来ないこんな小さいロジックでバグるコードドヤ顔で晒してるような奴がよくこの業界で生き残ってこれたもんだ。呆れるわ。

203デフォルトの名無しさん (ワッチョイ 7a4f-dwFe)2022/08/03(水) 12:46:24.42ID:7S+90b7b0
>>689じやねーわ
>>169だわ

204デフォルトの名無しさん (スッップ Sd9a-1wwR)2022/08/03(水) 13:14:58.56ID:gy/aLR/Wd
あまりバカにかかわりたくないんだがTextでとると表示されている内容(「#DIV/0!」など)と同じものがとれるのはしってるわ
ただそれは条件に含まれてないわけだから仮にそういう問題もあると思うなら
お前から「#」になった場合も正しくとれる方法を回答してやれよ
粗さがしは得意で解決策を提示できない無能は自分の職場にもいるけど同じ匂いがするなお前

205デフォルトの名無しさん (スッップ Sd9a-q5pf)2022/08/03(水) 13:20:32.60ID:08s1J+Jsd
このクソ暑い日に本人そっちのけで戦う熱量に恐れ入るわ

206デフォルトの名無しさん (ワッチョイ 7a4f-dwFe)2022/08/03(水) 13:27:57.05ID:7S+90b7b0
>>204
既に回答済みだわ
集中力が無いのか
読解力が無いのか
バカなのか
或いはその全てか

207デフォルトの名無しさん (ワッチョイ f15f-NYNZ)2022/08/03(水) 14:14:17.64ID:teV/av1J0
今日も暑苦しいねえ

208デフォルトの名無しさん (ワッチョイ f15f-NYNZ)2022/08/03(水) 14:15:56.82ID:teV/av1J0
なんかこれ一人で自演してるように思えて来たw

209デフォルトの名無しさん (ワッチョイ fada-HV89)2022/08/03(水) 14:16:15.91ID:coj1xImd0
そんなユーザーなら誰でも知っているような話をどや顔で言い争うのやめてくれませんか?
見てて恥ずかしいし建設的じゃない。

210デフォルトの名無しさん (ワッチョイ 16da-dSCr)2022/08/03(水) 18:07:13.51ID:Mw+Wxdkh0
>>209
反面教師と思ってああならないように気を付けようぜ

211デフォルトの名無しさん (ワッチョイ fada-HV89)2022/08/03(水) 18:43:45.40ID:coj1xImd0
だからExcel板の連中からバカにされるんだよな

212デフォルトの名無しさん (ワッチョイ 5d01-G1eK)2022/08/03(水) 18:56:42.70ID:EBW1aqTx0
Excel板なんてあんのか。

213デフォルトの名無しさん (ラクッペペ MMee-kNao)2022/08/03(水) 19:26:06.29ID:NOMH7G4CM
ビジネスsoft板のことだろ

214デフォルトの名無しさん (ワッチョイ 5d01-G1eK)2022/08/03(水) 19:28:37.44ID:EBW1aqTx0
これはご親切にどうも。

215デフォルトの名無しさん (ワッチョイ fada-HV89)2022/08/03(水) 20:54:58.72ID:coj1xImd0
何故仲悪いのか理解できたわ

216デフォルトの名無しさん (ワッチョイ 212f-Og+R)2022/08/03(水) 21:31:27.92ID:PUzG+4xX0
相手の立場やレベルを考慮しないで言った通りのことしかできないやつは使えないって事なんだが

他人の話を額面通りにしか受け取れないのは、障がいだぜ
一度医者に行くことを薦めるわ

217デフォルトの名無しさん (ワッチョイ 16da-dSCr)2022/08/03(水) 22:36:18.83ID:Mw+Wxdkh0
>>216
ブーメラン戻ってきてますよ

218デフォルトの名無しさん (ワッチョイ fada-HV89)2022/08/04(木) 11:16:31.18ID:zN4tRRWc0
よっぽど悔しかったんだろ?

219デフォルトの名無しさん (アウアウウー Sa09-G1eK)2022/08/04(木) 12:00:42.26ID:CwkjhMxBa

220デフォルトの名無しさん (ワッチョイ fada-HV89)2022/08/04(木) 13:35:21.99ID:zN4tRRWc0
電話とPCでやれば自演てできるんだっけ?

221デフォルトの名無しさん (ワッチョイ fa42-p5jC)2022/08/04(木) 16:47:37.44ID:cXYjQ5Ck0
じぇんじぇん

222デフォルトの名無しさん (ワッチョイ 79ce-dSCr)2022/08/04(木) 17:24:45.70ID:c9mFgSP40
SeleniumBasic、WebDriverの質問いいですか?

223デフォルトの名無しさん (ワイーワ2 FF62-H9lt)2022/08/04(木) 17:28:53.56ID:kI29Y1SHF
>>206
なんでtextプロパティで取得する前提なのかがわからない。

224デフォルトの名無しさん (ワッチョイ ed5f-dSCr)2022/08/04(木) 17:39:47.72ID:Lldfidgm0

225デフォルトの名無しさん (ワッチョイ f15f-3U9B)2022/08/04(木) 20:26:30.10ID:WbKEV01G0
うちの会社は、プログラミング禁止になったよ
ちなみに代替手段はなし
マクロでやってたこと全部手作業になった
マジで物理作業量が跳ね上がってしまった

226デフォルトの名無しさん (ブーイモ MMee-Ar6L)2022/08/04(木) 20:36:43.85ID:1k9fnhsyM
全体最適の観点では必ずしも間違った判断とは限らない
中途半端な小手先の最適化は業務自体を見直すモチベーションを奪うからな

227デフォルトの名無しさん (ワッチョイ 7a4f-dwFe)2022/08/04(木) 22:20:34.12ID:QBsI6Re20
>>225
へぇー経緯は?
作った後テストしてなかったとか
IEEE754のせいで小数点計算がズレたとか?

228デフォルトの名無しさん (ワントンキン MM79-l8nk)2022/08/04(木) 22:56:37.32ID:NM48fYywM
馬鹿が内容も理解せずコピペで作ったマクロのせいで間違いが発生していた
コピペ主体だからメンテ不可能だった
そのくせ馬鹿は自分が他の人より偉いと思い込んでいた

こんなところだろ

229デフォルトの名無しさん (ワッチョイ f15f-H9lt)2022/08/04(木) 23:14:37.44ID:isEYuHXY0
システム屋が作ったものではないと、そのひとしかわからないから、重要業務の担当者を外した巨大企業を知っている。

昔は我流でやるのが流行っていたから、プログラマでない人間が作ると、とんでもないものができているのが当たり前だった。

230デフォルトの名無しさん (ワッチョイ 25e6-p9PZ)2022/08/04(木) 23:44:38.37ID:CV93jyTL0
>>229
他人と共有するものは、それなりにきちんと書かないといけない(ドキュメンテーションも含めて)けれども、自分ひとりが便利に使う書き捨てマクロまで禁止にするなんて、どうかしていると思いますよ
イノベーションイノベーションとうるさいくせに、そういうのを禁止するなんて矛盾していることに気がつかないのでしょうか?

231デフォルトの名無しさん (ワッチョイ f15f-H9lt)2022/08/05(金) 00:23:11.85ID:Bo4EfhoE0
>>230
それが正確ならいいんだけどな。

232デフォルトの名無しさん (ワッチョイ d5da-+LCv)2022/08/05(金) 00:38:13.23ID:umVys4oP0
>>225
面白そう
口パクみたいな感じで、働いてるフリすりゃいいんだろ?
実際には裏でVBSでも動かしておいて

233デフォルトの名無しさん (スプッッ Sd7a-Wbq1)2022/08/05(金) 03:55:39.38ID:vRCkxY7dd
人間がやらなくてもいい業務をやり続けるのってすげぇ時間の無駄だと思うんだけど
その業務から学ぶことなんて何も無いだろうし
目先の金を拾うだけの仕事は良くないと思う

234デフォルトの名無しさん (スップ Sd9a-dSCr)2022/08/05(金) 04:30:48.50ID:HVkrhrQ0d
属人化、なぜか暇そうにしてたからリストラ、腹いせにパスワードで業務が止まったと見た

235デフォルトの名無しさん (オッペケ Sr05-hiCj)2022/08/05(金) 07:35:30.37ID:Lt70mDKgr
公式な部署や担当を当てて書かせたんじゃなくて各々が自分用に書いてたんだろ
コードが残らないようにしとかないと混乱するし業務効率が違いすぎて「不公平」だと騒ぐやつとかいたんじゃないの

236デフォルトの名無しさん (ブーイモ MMee-FKfY)2022/08/05(金) 08:01:13.52ID:fMQMo2cEM
過去にタダ乗りされて酷い目にあったから使ってても教えない

237デフォルトの名無しさん (スプッッ Sd7a-UWOS)2022/08/05(金) 08:25:59.90ID:D4FWb9o5d
どうしたら上手く運用出来るかを考えずに一律禁止にしてしまうところがJapですね

238デフォルトの名無しさん (スッププ Sd9a-Ar6L)2022/08/05(金) 08:36:02.57ID:XxJI9h8Xd
個別最適を無視するトップダウンな判断ができるのはむしろ非Jap的だと思う
Japはゲンバにクチダセナイからな

239デフォルトの名無しさん (スップ Sd7a-1wwR)2022/08/05(金) 10:47:16.04ID:9/CLsA+Od
スレと関係ない話題なんだから他でやれよ

240デフォルトの名無しさん (ワッチョイ fada-HV89)2022/08/05(金) 11:33:11.96ID:GN+Cpyju0
Excelユーザーは誰もがVBAを使いこなしてると思い込んでいたわ
初心者の頃

241デフォルトの名無しさん (ワッチョイ 16da-dSCr)2022/08/05(金) 11:46:42.49ID:m45XxceE0
まるで初心者じゃないみたいな言い方だな

242デフォルトの名無しさん (ワッチョイ d610-FKfY)2022/08/05(金) 13:00:55.34ID:569iYGpd0
じゃあランク付けしてくれよ
ちなオレは軍曹クラス

243デフォルトの名無しさん (スフッ Sd9a-dSCr)2022/08/05(金) 13:03:45.49ID:PPjNiJ/gd
マニアじゃないから軍事用語なんか使われても強さがわからんわ
ケロロ軍曹しか知らんし

244デフォルトの名無しさん (ワッチョイ f15f-H9lt)2022/08/05(金) 15:11:50.94ID:Bo4EfhoE0
Excelそのものも少数の人間だけが知っている運用ルールがあったりする。

わけのわからない表の解読に困ることもあるし、日本人はチームワークが得意だから、暗号のような記載ルールを勝手に決めていることもある。

245デフォルトの名無しさん (ワッチョイ 5d01-G1eK)2022/08/05(金) 18:30:26.77ID:9JwePxXo0
軍曹は部下が11人いるので、課長クラスでは?

246デフォルトの名無しさん (ワッチョイ 16da-dSCr)2022/08/05(金) 18:37:25.28ID:m45XxceE0
表計算ソフトを誰がどんな使い方しようが関係ないし、なんとも思わない

247デフォルトの名無しさん (ワッチョイ 5d01-G1eK)2022/08/05(金) 18:44:56.08ID:9JwePxXo0
セルを小さくしてドット絵のようにして図解を描いたことならある。

248デフォルトの名無しさん (ワッチョイ 7a01-Jv5Y)2022/08/05(金) 19:17:52.69ID:Q4Ghv2JD0
元帥(名誉職・総司令官)⇒ 名誉会長
大将 ⇒ 会長
中将 ⇒ 代表取締役社長
少将 ⇒ 専務
大佐 ⇒ 常務
中佐 ⇒ 平取締役
少佐 ⇒ 事業部長
大尉 ⇒ 副事業部長
中尉 ⇒ 本部長
少尉 ⇒ 副本部長
准尉 ⇒ 本部長代理
曹長 ⇒ 部長
軍曹(ケロロ)⇒ 副部長
伍長(ギロロ)⇒ 部長代理
兵長(ドロロ)⇒ 課長
上等兵 ⇒ 課長代理
一等兵 ⇒ 主任
二等兵(タママ)⇒ 平社員

副部長くらいかなw

249デフォルトの名無しさん (ワッチョイ fa7c-FKfY)2022/08/05(金) 19:56:38.88ID:vZ1ATXrm0
>>247
パックマン作ったやつもいるけどな

250デフォルトの名無しさん (ワッチョイ fa7c-FKfY)2022/08/05(金) 20:00:30.00ID:vZ1ATXrm0
>>248
ごめん、軍曹を舐め過ぎた
上等兵くらいでした

251デフォルトの名無しさん (オッペケ Sr05-hiCj)2022/08/05(金) 23:36:41.76ID:helHcEAzr
>>248
尉官以上の士官とそれ以外は全く別の世界
本邦警察のキャリアノンキャリアは軍組織を元にしてる
民間での平から社長に登り詰めるみたいなのは不可能

252デフォルトの名無しさん (ワッチョイ 7a01-Jv5Y)2022/08/05(金) 23:46:50.13ID:Q4Ghv2JD0
>>251
ネタにガチ突っ込みされてもw

253デフォルトの名無しさん (ワッチョイ 31da-erdL)2022/08/06(土) 00:52:54.67ID:RyjK6DAd0
元帥クラスって誰辺り?
Office tanaka?

254デフォルトの名無しさん (ブーイモ MMeb-y/Ps)2022/08/06(土) 09:07:43.92ID:tdNHMM1PM
>>253
あの人以上はほぼいないだろうからそれでいいんじゃね
上等兵の俺はオブジェクト指向が解らんでつ

255デフォルトの名無しさん (ワッチョイ 13da-erdL)2022/08/06(土) 09:27:03.45ID:bSEd2c570
かなり昔だが、会社の同期がその人の講習会に参加したときに、「私より高いテクニックを持った人はいたとしても、分かりやすく教えられるスキルを持った人はほとんどいないからね~、私はテクニック至上主義ではない、実用的なやり方を分かりやすく教えられるプロ!」
みたいな話をされていたそうだ。

他人に教えるのって1番難しいわね。

256デフォルトの名無しさん (アウアウウー Sa55-lJ3c)2022/08/06(土) 10:37:03.49ID:hhkfvvu8a
事実としてそうなんだろうけど自分で言うのはどうかと思う
まあ講演会やるような人はこれぐらいの押しの強さが必要なんだろうけど

257デフォルトの名無しさん (ワッチョイ 59ce-woMg)2022/08/06(土) 12:06:15.13ID:sbIyICn+0
いっぺんでもやってみるとわかる、教えるのって難しい
パソコンやExcelのことを周りからよく質問されるけど、いつも四苦八苦する

258デフォルトの名無しさん (ワッチョイ 6bda-woMg)2022/08/06(土) 13:34:52.70ID:IcxH468v0
教えるのもマンツーマンなら比較的簡単だけどな

259デフォルトの名無しさん (ワッチョイ 895f-rPrA)2022/08/06(土) 13:42:21.52ID:xsmVc9Uv0
>>258
いやらしいな

260デフォルトの名無しさん (アウアウウー Sa55-9Xv3)2022/08/06(土) 15:38:42.52ID:eSBCWCwIa
>>225
>>228
どういう業種なんだろ
馬鹿な対応っぷりからすると御役所系?

261デフォルトの名無しさん (アウアウウー Sa55-9Xv3)2022/08/06(土) 15:43:10.30ID:eSBCWCwIa
>>257
せっかく教えても肝心な質問した方が話聴いてなかったりするからな

262デフォルトの名無しさん (ワッチョイ 895f-rPrA)2022/08/06(土) 15:45:16.89ID:xsmVc9Uv0
ネットで検索するような解決手段を教えた方がいい。

263デフォルトの名無しさん (ワッチョイ 13da-erdL)2022/08/06(土) 19:40:38.17ID:bSEd2c570
>>256
確かに。
まあアピールポイントに特徴ある人だと思う

264デフォルトの名無しさん (ワッチョイ 895f-rPrA)2022/08/06(土) 21:13:56.39ID:xsmVc9Uv0
講演活動は知識だけの人が多いからなあ

265デフォルトの名無しさん (ワッチョイ 6bda-woMg)2022/08/06(土) 21:38:32.41ID:IcxH468v0
ちょっと何言ってるかわからない

266デフォルトの名無しさん (ワッチョイ 895f-rPrA)2022/08/07(日) 02:04:59.69ID:Zc4u6CYP0
>>265
実務経験ゼロでも成り立つ

講演、物書き、教育は、実務経験ゼロの会社がたくさんある。

だから、実例がすぐに出ない。

267デフォルトの名無しさん (ワッチョイ 3193-8rb+)2022/08/07(日) 05:34:07.23ID:tUFhHO190
実例も知識じゃねーの

268デフォルトの名無しさん (ワッチョイ 99da-rkQs)2022/08/07(日) 10:09:42.78ID:eoT1bhw/0
スレにまったく関係ないけど思い出した
取引先からある事情でビジネスマナー講義の受講(講師はそこの女社員)を強制されたことがあって
最初ら違和感あった(俺の親が逝ったと告げても何の反応もなしとか)けど講義内容に矛盾があったので指摘すると猛烈な人格批判が始まって驚いた
他日ウチの社長がそいつの社長(中小同士で学生からの友人)に会いに行ったときにちょっと遅刻したことがあって
秘書気取りのその女が用事があるからと言いつつウチの社長を小一時間ほど待たせた
流石に何かおかしいと思ったウチの社長が事情を問うと「取引相手を待たせるのはトップ失格だそれを自覚させるためにやった」などと主張したそうだ
つまり一種のコミュ障でコンプレックスある女が他人を見下ろすために知識の寄せ集めだけで副業に仕事をしていたって話
冒頭のある事情ってのも察してもらえれば

269デフォルトの名無しさん (ワッチョイ 6bda-woMg)2022/08/07(日) 10:59:56.86ID:iThpGePG0
性格や考え方に問題あっても知識があるならいいんじゃね
実務経験があっても知識のない上司に相談して解決するならそうすればいいし
そもそも自分に知識があれば全て解決できるわけなんだが

270デフォルトの名無しさん (ワッチョイ 6bda-erdL)2022/08/07(日) 11:09:10.44ID:UpuFs56f0
日本の企業は人材の性格も重要視するもんね。
能力あっても人間がクソなら採用見送ったり出世対象から外したり。

271デフォルトの名無しさん (スッププ Sd33-JIap)2022/08/07(日) 12:24:17.99ID:uNtQuwFMd
性格は欧米の方が重視されるぞ
文化的民族的背景が多様で自己主張も激しいから、クソ野郎は問答無用で切っていかないと無茶苦茶になる
日本はなんだかんだそこまで酷い人間は稀だからな

272デフォルトの名無しさん (オッペケ Sr5d-4bUZ)2022/08/07(日) 12:57:45.84ID:TWy7Xhzwr
>>268が不明瞭なので補足
寄せ集めの知識というのは複数著者のテキストを咀嚼せず文字通りコピペしてるって意味
例えばビジネスコミュニケーションでは科学的根拠に基づかなければいけないというパワポ資料の次ページでナントカ占いみたいな性格判断が出てきたりとか

273デフォルトの名無しさん (ワッチョイ eb8f-2+m5)2022/08/07(日) 14:41:48.83ID:JbyM4yYv0
説明が下手くそな輩ばっかだなこのスレ

274デフォルトの名無しさん (ワッチョイ 137c-y/Ps)2022/08/07(日) 15:39:52.33ID:TKajqBRY0
>>273
確かにそうだな
ここはお前の力の魅せどころだぞ

275デフォルトの名無しさん (ワッチョイ 6bda-erdL)2022/08/07(日) 16:25:54.73ID:UpuFs56f0
いや、言っている事は分かるから全然良いですよ
ただ、要点だけまとめてくれたら読みやすいかなーと。
同志達たのんます。

276デフォルトの名無しさん (スッップ Sd33-KFxy)2022/08/07(日) 17:53:18.30ID:iCiStKaEd
VBAと関係ないおっさん達の自分語りはいつ頃終わりますか?

277デフォルトの名無しさん (ワッチョイ 1301-lJ3c)2022/08/07(日) 17:57:35.06ID:fAQAAmLc0
>>276
お前みたいに構うやつがいなくなるまで無理じゃね

278デフォルトの名無しさん (スップ Sd73-N11w)2022/08/07(日) 18:06:12.30ID:/jCP59e6d
>>276
ほんと他で話せばいいのにと思うよな
質問来てもろくな回答もできないからこういう答えの不要なレスするしかないんだろ

279デフォルトの名無しさん (ワッチョイ 134f-1ikx)2022/08/07(日) 18:32:46.70ID:NS+q4Bfp0
まぁ質問者がいないときはいつもこんな感じだけどな

280デフォルトの名無しさん (ワッチョイ 59ce-woMg)2022/08/08(月) 10:19:45.18ID:wk4U/6Hx0
質問いいですか?

281デフォルトの名無しさん (ワッチョイ 13ad-YzdW)2022/08/08(月) 14:27:36.15ID:aqubZxNB0
どうぞ

282デフォルトの名無しさん (スプッッ Sd73-2x6Z)2022/08/08(月) 22:16:45.25ID:bMElgXf+d
VBA でモテるにはどうしたら良いですか?

283デフォルトの名無しさん (スッップ Sd33-D0hd)2022/08/08(月) 22:25:23.54ID:ptVxpUmad
そんなことをここで聞いてる時点で無理

284デフォルトの名無しさん (ワッチョイ 6bda-erdL)2022/08/09(火) 10:07:28.51ID:b44kZqNV0
Excelできれば女子にモテるぞww
とか言われたからExcel始めたけど
ウソだったわ。
逆にキモがられるようになったら。

285デフォルトの名無しさん (ワッチョイ 9b14-c3AI)2022/08/09(火) 10:20:16.32ID:/NfYTDtW0
>>248
カプコンの1943思い出した
ステージクリアで尉官が上がって最終的に特別中将だったかな
よく考えたら社長クラスが一人で突撃w

286デフォルトの名無しさん (ワッチョイ 9949-bzAd)2022/08/09(火) 11:12:29.84ID:SavN6yJh0
Excel出来るようになったのではなく他に問題があるのでは🤔

287デフォルトの名無しさん (ワッチョイ 6bda-woMg)2022/08/09(火) 14:08:30.02ID:rR0EJQ8B0
>>284
だまされたんだと思う、もうExcelやめた方がいいよ

288デフォルトの名無しさん (ワッチョイ 6bda-erdL)2022/08/09(火) 14:53:29.86ID:b44kZqNV0
>>287
分かった。
Wordに移行するわ。

289デフォルトの名無しさん (ワッチョイ 9949-bzAd)2022/08/09(火) 15:01:15.06ID:SavN6yJh0

290デフォルトの名無しさん (ラクッペペ MM8b-Bxij)2022/08/09(火) 15:23:13.16ID:8JIsTWChM
Excelできるけど仕事はできない人

291デフォルトの名無しさん (ワッチョイ 9359-xPh3)2022/08/09(火) 20:40:53.82ID:AVc3PDFp0
パワポ男子の方が格好いいと思うなあ

292デフォルトの名無しさん (スププ Sd33-b4mn)2022/08/10(水) 08:38:11.60ID:fdOq6fLVd
excel365でファイルを更新した形跡を全く残さない方法って何かありませんか?
弄る部分はマクロのコードのみです
業務を格段に楽にするマクロをいくつも組んでやったのに感謝も薄く図々しく給与にもビタイチ反映されなかったので
このクソブラック企業を辞めるときに全部壊していきたいのですがバレるとアウトなので
変えないようにしたいのはファイル名の横に出る更新日時です

293デフォルトの名無しさん (ワッチョイ 33bd-Uod3)2022/08/10(水) 09:10:02.43ID:ph9U25aD0
エクセルのVBAって2000から現在までの間に
ここで大きく変更があって互換性に問題があるみたいなのありますか?

294デフォルトの名無しさん (ワッチョイ 1301-lJ3c)2022/08/10(水) 10:06:18.63ID:kx7L/9BB0
>>292
一応言っておくけどお前のやろうとしてることは犯罪だし、回答書くと犯罪幇助になるから

295デフォルトの名無しさん (ワッチョイ 1301-lJ3c)2022/08/10(水) 10:07:16.58ID:kx7L/9BB0
>>293
2007 辺でグラフ周りが色々変わって過去のマクロでエラー出たことがある

296デフォルトの名無しさん (スッップ Sd33-N11w)2022/08/10(水) 10:10:55.76ID:uspPIoStd
そこそこあると思うよ
なので自分はバージョンごとにコードを振り分けたりした
実際に試したほうがいいんじゃないかな

297デフォルトの名無しさん (ワッチョイ 59ce-woMg)2022/08/10(水) 10:22:34.51ID:20iS7AqN0
>>293
64bit化、ワークシートの大きさ、ワークシート関数の増減など、バージョンごとにどんどん変わってる
何を問題とするかは人それぞれで、利用環境や目的にもよるので、ちょっと質問が曖昧すぎ

298デフォルトの名無しさん (スッップ Sd33-D0hd)2022/08/10(水) 10:36:03.23ID:p8b8cWYPd
>>292

こいつみたいなのがまさにこういうパターンだ

馬鹿が内容も理解せずコピペで作ったマクロのせいで間違いが発生していた
コピペ主体だからメンテ不可能だった
そのくせ馬鹿は自分が他の人より偉いと思い込んでいた

299デフォルトの名無しさん (スッップ Sd33-N11w)2022/08/10(水) 11:45:31.80ID:uspPIoStd
犯罪の質問なんて無視しとけよ
構うお前も同じなんだぞ

300デフォルトの名無しさん (スプッッ Sd73-KFxy)2022/08/10(水) 11:53:09.98ID:5QJKzNy5d
嫌がらせして辞めたところで迷惑を被るのは同じ作業してるポジションの人か後任の人だろうからやめとけ
査定をしてる立場の人達は痛くも痒くもない

301デフォルトの名無しさん (スププ Sd33-b4mn)2022/08/10(水) 12:39:15.19ID:fdOq6fLVd
うちのブラックに来たら誰でも同じことしたくなると思うけど
犯罪なのは分かったからやめとくわ
あと言っとくけどうちにはマクロ組めるような奴はいないし
体系的に学んだ上きれいなコードで書いてるからくだらんレッテルはいらない

302デフォルトの名無しさん (ワッチョイ 6bda-woMg)2022/08/10(水) 12:55:04.32ID:/NkHb0sD0
>>292
マクロ作るのもあなたの業務だったのでは?
会社で仕事して給料もらえてたのにそれ以上のことなんかないよ

303デフォルトの名無しさん (ワッチョイ 1301-lJ3c)2022/08/10(水) 13:53:09.69ID:kx7L/9BB0
> 犯罪なのは分かったからやめとくわ
犯罪じゃないと思ってたのかよ...
まじでヤベー奴やんw

304デフォルトの名無しさん (ワッチョイ 134f-1ikx)2022/08/10(水) 14:04:12.08ID:0PwnBNIZ0
気持ちは分かるが犯罪はいけないな。
次回からはそういうことに備えて
マクロにパスワード掛けて
時間が経ったら期限切れのメッセージでも
ポップアップして処理を中断させる
ようにでもしておけばいい。

もっとも、自分の作業効率化のために
頼まれてもいないのに勝手に作ったというなら
根こそぎ消しても問題ないとは思うけどな
どうしてもしたいというなら
法テラスにでも相談しに行けばいい。

305デフォルトの名無しさん (ワンミングク MM53-yPpi)2022/08/10(水) 14:26:23.92ID:Mq4biE7dM
If Date > 退職日 Then
Exit Sub
End If

あとは全部インデントなくすとかコロンで繋げるとかプロシージャ名を処理内容と紐づかないものにするとか

色々引き継ぎの嫌がらせは考えたことあるけど、やったら何訴えられるかわからんからやらない

306デフォルトの名無しさん (スプッッ Sd73-KFxy)2022/08/10(水) 14:28:02.85ID:5QJKzNy5d
てか保守出来る人居ないなら何もしなくてもそのうち会社は面倒事に巻き込まれるだろ

フォーマットがちょっと変わったり、新しい特殊な項目が追加されて使いものにならなくなったりするし

307デフォルトの名無しさん (スッップ Sd33-N11w)2022/08/10(水) 15:51:28.73ID:uspPIoStd
放置すればいいものを
くだらない話には食いつく奴ばかりだね

308デフォルトの名無しさん (ワッチョイ 0101-ZGI3)2022/08/10(水) 15:58:20.27ID:AlyojMao0
123 10
123 11
123 15
空白
空白
124 18
124 22
空白
125 20
空白
126 15
126 10

みたいな並びのコードがあって、
上下のコードが同じ場合、コードの隣の数字を10%で割り戻した数字を計算したものと、10の数字をそのままにしたものを2つ持っておいて、コードが変わるところまでそれぞれ計算したら、コード単位で10%で割り戻したものの合計値と、割り戻してないものの合計値の差分を
一行挿入して差額として123のいくらと転記
空白行は無視。
差額が出ない場合(基本的にはないけど)は行の挿入はしない、
というvbaって作るの可能?
差額を持たせることまではできたんだが、
挿入のところでこれ無理では?と思って止まってます。

309デフォルトの名無しさん (ワッチョイ 0101-ZGI3)2022/08/10(水) 16:00:49.46ID:AlyojMao0
ちなみにデフォルトで入ってる空白は無視です

310デフォルトの名無しさん (ワッチョイ 1301-lJ3c)2022/08/10(水) 18:18:34.25ID:kx7L/9BB0
>>308
挿入/削除はいろいろ面倒だから簡単にやるには別シート(もしくは別列)に転記しながら処理して最後に書き戻すのがわかりやすいと思う
スマホから入力してるから細かいミスはあると思うがこんな感じ
Dim S1 As WorkSheet: Set S1 = WorkSheets(1)
Dim S2 As WorkSheet: Set S2 = WorkSheets(2) ' 空のシート
Dim R1 As Long
Dim R2 As Long: R2 = 1
Dim N0 As Long: N0 = 0 ' 元の値合計
Dim N1 As Long: N1 = 0 ' 割戻し合計
Dim C0 As String ' 処理中のコード
C0 = S1.Cells(1, 1).Value
For R1 = 1 To S1.Cells(S1.Rows.Count, 1).End(xlUp).Row
Dim C1 As String ' 現在のコード
C1 = S1.Cells(R1, 1).Value
If C1 = "" Then Goto Continue
If C0 <> C1 Then
S2.Cells(R2, 1).Value = C0
S2.Cells(R2, 2).Value = "差額: " & CStr(N0 - N1)
R2 = R2 + 1
C0 = C1: N0 = 0: N1 = 0
End If
S2.Cells(R2, 1).Value = C1
Dim N2 As Long: N2 = S1.Cells(R1, 2).Value
S2.Cells(R2, 2).Value = N2
R2 = R2 + 1
N0 = N0 + N2: N1 = N1 + 0.9 * N2
Continue:
Next
S2.Cells(R2, 1).Value = C0
S2.Cells(R2, 2).Value = "差額: " & CStr(N0 - N1)

311デフォルトの名無しさん (ワッチョイ 895f-azwe)2022/08/10(水) 19:06:30.56ID:LEtlyiDn0
スマホからこんだけ入力するのは感心するわ

312デフォルトの名無しさん (ワッチョイ 0101-ZGI3)2022/08/10(水) 19:40:10.67ID:AlyojMao0
>>310
ありがとうー!!
後半のC1:N0あたりの動きが読み取るのがちょっと難しいですが、
別シートに単純に一度書き写していって最後に読み戻すってのは目から鱗です
確かにそっちの方が問題なくできるかもしれないです
試してみます!

313デフォルトの名無しさん (ワッチョイ 1301-lJ3c)2022/08/10(水) 20:46:14.74ID:kx7L/9BB0
>>312
> 後半のC1:N0あたりの動きが読み取るのがちょっと難しいですが、
If C0 <> C1 Then
で、コードが変わった事を検出して変わったら

S2.Cells(R2, 1).Value = C0
S2.Cells(R2, 2).Value = "差額: " & CStr(N0 - N1)
R2 = R2 + 1
で、差分を追加して

C0 = C1: N0 = 0: N1 = 0
で、新しいコードを覚える共に合計値を初期化してる

314デフォルトの名無しさん (スッップ Sd33-D0hd)2022/08/10(水) 20:48:55.75ID:p8b8cWYPd
こんなことがわからない奴が金計算をVBAでするなんて

315デフォルトの名無しさん (ワッチョイ 33bd-Uod3)2022/08/10(水) 20:57:23.40ID:ph9U25aD0
テキストファイルからキーワードが含まれてる行をセルに書き込みたいです
キーワードが8個あります
行=Bを「商品」か「価格」を""に置換して
元のBと違ってたら書き込むようにしたんですが
もっと簡素な方法ありませんか?

Open A For Input As #1'Aはテキストファイルのフルパス
Do Until EOF(1)
Line Input #1, B '1行分だけ読み込み
If B <> Replace(B, "商品", "") Then
i = i + 1
Cells(i, 1) = B 'セルへ入力
Else
If B <> Replace(B, "価格", "") Then
i = i + 1
Cells(i, 1) = B 'セルへ入力
End If
End If
Loop
Close

316デフォルトの名無しさん (ワッチョイ 71ac-bzAd)2022/08/10(水) 21:00:16.39ID:hNnMWsb/0
なんで商品と価格のReplaceを分けるのか

317デフォルトの名無しさん (ワッチョイ 134f-1ikx)2022/08/10(水) 21:07:20.86ID:0PwnBNIZ0
>>315
InStrは嫌いなの?

318デフォルトの名無しさん (ワッチョイ 0101-ZGI3)2022/08/10(水) 21:43:46.56ID:AlyojMao0
>>313
ありがとうございます、
勉強中なので質問なんですが、
C1:N0 =0:N1=0の中の:ってどういう意味なんでしょうか?

319デフォルトの名無しさん (ワッチョイ 6bda-erdL)2022/08/10(水) 22:04:25.44ID:NcNdkaPG0
突っ込みどころ満載の質問久しぶりね

320デフォルトの名無しさん (ワッチョイ 1301-lJ3c)2022/08/10(水) 22:24:43.27ID:kx7L/9BB0
>>315
> キーワードが8個あります
これはどうなったの?
単に複数のキーワードが含まれてるかを見たいだけなら
Line Input #1, B '1行分だけ読み込み
Dim K As Variant
For Each K In Split("商品,価格", ",")
If B Like "*" & K & "*" Then
Cells(i, 1).Value = B
i = i + 1
Exit For
End If
Next

321デフォルトの名無しさん (スッップ Sd33-N11w)2022/08/10(水) 22:31:30.17ID:uspPIoStd
>>315
どんなやり方でもいいと思うけどキーワードを含むかどうかを関数にするといいんじゃない
Function CheckKeyword(ByVal pValue As String) As Boolean
CheckKeyword = True
If pValue <> Replace(pValue, "商品", "") Then
Exit Function
End If
If pValue <> Replace(pValue, "価格", "") Then
Exit Function
End If
残りのキーワードも同様に判定
CheckKeyword = False
End Function
これを使えば
i = i + 1
Cells(i, 1) = B 'セルへ入力
の部分は1つでいいよね

322デフォルトの名無しさん (ワッチョイ 1301-lJ3c)2022/08/10(水) 23:03:22.07ID:kx7L/9BB0
>>318
VBA マルチステートメント
でググってくれ

323デフォルトの名無しさん (ワッチョイ 59ce-woMg)2022/08/10(水) 23:23:06.57ID:20iS7AqN0
>>318
改行みたいなもん。たとえば
N0 = 0
N1 = 0
という複数行のコードを1行にまとめることができる
N0 = 0: N1 = 0
だけど、やらない方がいいと言われている

324デフォルトの名無しさん (スプッッ Sd73-2x6Z)2022/08/11(木) 19:50:59.53ID:eLvp/vGod
変数宣言と同時に初期化する用途に限って俺は許容してるな
それよりif文を1行で閉じる奴が凶悪
ネストするとEnd ifの数が合わなくなる

325デフォルトの名無しさん (ワッチョイ 134f-1ikx)2022/08/11(木) 20:39:49.16ID:Eqlf5oxG0
>>324
変数宣言と一緒に初期値設定する人はよく見かけるしアリだと思う。
同様に実は特殊な場合に限りIf文を一行で記載することもある。
本来構造化言語で使わない方が良いとされているGoto文も特殊な場合に限り使うこともある。

VBAは結構何でもありの言語だからその辺、仕事場のコーディングルールや
作ってる人のマイルールによって随分違いが出てくる。

一概にどんな方法をとることが最善とは言えないから人の書いたソース見てると面白い。

326デフォルトの名無しさん (スフッ Sd33-woMg)2022/08/11(木) 20:49:36.22ID:bTQMDZYqd
Ifの中身が1行だけの時に全体を1行で書くのはマルチステートメントとは違うくない?
If a = 0 Then b =0
あくまでコロンでつなぐ場合のことでしょ

327310 (ワッチョイ 1301-lJ3c)2022/08/11(木) 21:33:22.70ID:7cUH/Z7I0
俺も本来はマルチステートメントは使わないけど、5chのレスは行数制限あるからマルチステートメントにしてるだけ
そもそもこの手の話は好みもあってどっちが正しいとかはないからそろそろやめようよ

328デフォルトの名無しさん (ワッチョイ ebda-erdL)2022/08/11(木) 22:00:47.13ID:/ib3rHvC0
そもそもダメだとか誰が言っているのだろうか。。

329デフォルトの名無しさん (スッップ Sd33-N11w)2022/08/11(木) 22:06:50.77ID:x7jgcVjyd
○○ならアリって言ってるってことはそれ以外はナシって受け取る人もいるだろ
提供されたコードをそのまま使うだけしかできないならそれだけの話だし
自分のルールに従って直せばいいだけの話で人のコードにケチ付ける必要なんてないだろ

330310 (ワッチョイ 1301-lJ3c)2022/08/11(木) 22:15:21.71ID:7cUH/Z7I0
>>328
> だけど、やらない方がいいと言われている
みたいな意見があるから

331デフォルトの名無しさん (スップ Sd73-woMg)2022/08/12(金) 00:11:05.61ID:gP2cSn76d
コーディングルールなんて宗教みたいなもんだけど、一応マルチステートメントは推奨されないという意見のが多数
リーダブルコードにも書いてあるし、MS公式も推奨しないと言ってる
https://docs.microsoft.com/ja-jp/dotnet/visual-basic/programming-guide/language-features/statements

明確に禁止したがってる人は肌感覚でもっと少数派だけどね

332デフォルトの名無しさん (ワッチョイ 71ac-bzAd)2022/08/12(金) 00:24:13.41ID:nWfz+VWs0
どうせ仕事でVBA作ってる質問者なんて少ないやろ

333310 (アウアウウー Sa55-lJ3c)2022/08/12(金) 05:00:53.71ID:zAuzG+foa
>>331
おっちゃんそれVBAじゃなくてVB.NETのドキュメントやで

334デフォルトの名無しさん (ワッチョイ 134f-1ikx)2022/08/12(金) 05:44:37.34ID:Icr7mfuu0
Van.Netなら変数宣言と同時に初期値設定出来るから
引き合いに出すのもお門違いだな

335デフォルトの名無しさん (ブーイモ MM85-7aqZ)2022/08/12(金) 06:23:06.84ID:dDX14IC1M
>>334
van.netなどない、このハゲ!

336デフォルトの名無しさん (ワッチョイ 71ac-bzAd)2022/08/12(金) 08:48:11.58ID:nWfz+VWs0
中のVBAのコードだけGitに上げることってできるの?
めんどいコマンドとか外部サービス使わずに
そもVBEからコミットとかプルリクとかやりたい

337デフォルトの名無しさん (ワッチョイ 134f-1ikx)2022/08/12(金) 09:02:48.49ID:Icr7mfuu0
>>335
すまん、VB.Netの間違いだった
しかし俺は禿げてはいない。頭頂点しかな!!

338デフォルトの名無しさん (ワッチョイ 134f-1ikx)2022/08/12(金) 09:16:28.60ID:Icr7mfuu0
>>336
まあコードをエクスポートしたものを載っけておくくらいかな。
Bisual Sutadioみたいにエデイタ上から設定するのは無理だと思った。

て言うかコードだけ取っておいてもexcelのVBAの場合はexcelそのものに影響されるところも多いから
excelごと取っておいてソースを比較したいときだけ何かのツールでソースの比較を行った方がいいと思う。

339デフォルトの名無しさん (オッペケ Sr5d-OO4u)2022/08/12(金) 12:38:04.21ID:Oc3JB1Iir
Bisual Sutadio

340デフォルトの名無しさん (ワッチョイ 692f-Htvk)2022/08/12(金) 12:52:14.02ID:kbIhrpmL0
>>336
今のVBAでGitは見たことないけど
昔VSSで管理するアドインがあったから、アドイン作ればできるんじゃね

>>338
マクロ入ってるエクセルはどうか知らんが、今のエクセルってXMLをzipで固めただけのはずだから
Zip解答してソース管理に突っ込む手もあるかもしれん
つかお前の誤字はわざとかこのハゲ

341デフォルトの名無しさん (ワッチョイ 91da-erdL)2022/08/12(金) 16:32:51.36ID:BEh6dSX60
お前ら禿好きだな

342デフォルトの名無しさん (ワッチョイ 5374-7aqZ)2022/08/12(金) 16:38:58.11ID:eSjTAJcc0
↑この人ハーゲマンです

343デフォルトの名無しさん (ワッチョイ 91da-erdL)2022/08/12(金) 17:59:10.79ID:BEh6dSX60
いきなし禿げたんよ。
去年の夏位まではふさふさだった

344デフォルトの名無しさん (ワッチョイ 0101-9Xv3)2022/08/12(金) 20:16:41.08ID:ijOecH2p0
それはコロナだから治療行けよ。

345デフォルトの名無しさん (ワッチョイ 895f-azwe)2022/08/12(金) 21:06:52.17ID:rQBVWxEE0
Dim Eight As Typhoon
Set Eight As Typhoon

Debug.Print Eight.HPa

346デフォルトの名無しさん (オッペケ Sr5d-4bUZ)2022/08/12(金) 21:35:36.13ID:JWVBEjPKr
質問です
エクセルでvba書くとハゲるというのは本当ですか?
それともハゲじゃないとまともなコードにならないということでしょうか?

347デフォルトの名無しさん (ワッチョイ dd5f-voQn)2022/08/13(土) 00:36:53.33ID:7+qtu9p80
>>345
Set Eight = New Typhoon

348デフォルトの名無しさん (ワッチョイ 45ce-5Ix7)2022/08/13(土) 00:54:21.19ID:C3GQNRB30
Print Eight.Name
Mary

349デフォルトの名無しさん (スププ Sd62-6z5t)2022/08/13(土) 07:49:57.82ID:Q44FuubAd
>>346
ハゲる→外に出られなくなる→VBAしか無い人生に陥る

350デフォルトの名無しさん (ワッチョイ e1da-5+Zi)2022/08/13(土) 18:00:34.01ID:+/onKVXv0
禿が気になるなら頭ツルッツルにするという構想は無いのかね?

351デフォルトの名無しさん (スフッ Sd62-6z5t)2022/08/13(土) 18:44:02.54ID:qT7WXGgOd
Dim Hair As Object
Set Hair = Nothing

352デフォルトの名無しさん (ワッチョイ e1da-5+Zi)2022/08/13(土) 21:29:48.82ID:+/onKVXv0
>>351
座布団100枚

353デフォルトの名無しさん (ワッチョイ 2e8f-57ew)2022/08/13(土) 22:55:44.03ID:ZiFcsOVE0
>>346
こら!良い大人ならスキンヘッドと言いなさい!

354デフォルトの名無しさん (ワッチョイ d2bd-nhkz)2022/08/14(日) 09:47:43.88ID:1U9rY3C10
スキンヘッドが似合う顔ならスキンヘッドにしてるんですよ・・・

355デフォルトの名無しさん (アウアウウー Saa5-oUG4)2022/08/14(日) 11:14:09.47ID:VI2zLni0a
ezoe職務質問されたってよ

356デフォルトの名無しさん (ワッチョイ 41e6-U0U7)2022/08/14(日) 13:17:19.86ID:RtZKjyzz0
>>355
QZ は逮捕・拘留11日を食らったってよ

357デフォルトの名無しさん (ワッチョイ 4dda-xxo+)2022/08/14(日) 16:16:37.77ID:L75yFRnI0
スキンヘッドは
メガネがポイントだと思う。
閑話休題。

次の話者に期待

358デフォルトの名無しさん (ワッチョイ e274-Jrkb)2022/08/14(日) 16:36:03.46ID:LT2TaV3B0
皮頭よりはハゲと言われたほうが人権を尊重してるだろ

359デフォルトの名無しさん (ワッチョイ 6eda-O3lh)2022/08/14(日) 19:46:54.17ID:mUrr83gX0
>>349
→VBAの質問スレに書きこむようになる

360デフォルトの名無しさん (ワッチョイ e274-Jrkb)2022/08/14(日) 23:12:05.82ID:LT2TaV3B0
きみたちハーゲマンに質問なのですが
VBAの配列でJavascriptのようにpushやpopを使いたいときってどうしてます?
わざわざredim使って要素数を変えるのはそれが頻繁になるときは使いづらいなと思うし。

361デフォルトの名無しさん (ワッチョイ 6eda-5Ix7)2022/08/14(日) 23:52:33.60ID:mUrr83gX0
>>360
最初の配列はそのままで添え字を管理

362デフォルトの名無しさん (ワッチョイ e1da-5+Zi)2022/08/15(月) 00:13:18.77ID:WD7exLpg0
ツルピカかつ、不精ヒゲだから女さんなんて絶対に寄り付かない。

363310 (ワッチョイ 4201-8lLW)2022/08/15(月) 05:37:50.20ID:zxOEKBbO0
>>360
VBA で残念に思う所の一つやね
サイズの上限が決められるならその上限で確保してサイズは別途管理
上限が決められない時はReDimでちまちま管理してる
あとReDimでサイズを0にできないのも地味に辛い

364デフォルトの名無しさん (ワッチョイ e274-Jrkb)2022/08/15(月) 06:56:28.24ID:OUaqH/oW0
>>361
>>363
レスありがとう、ハーゲマンたち。
じゃあしかたないんですね。
でもVBAでもpush, pop, shift, unshiftが使える配列のようなものをVBAのクラスかなにかを使って再現することは可能だろうか?

365デフォルトの名無しさん (ワッチョイ 6eda-Pw8Y)2022/08/15(月) 07:26:27.37ID:3rPnXTV50
>>364
可能、だが○○の機能がないから作れないではなく
目的の動作をするように作るんじゃね
質問が本末転倒している

366デフォルトの名無しさん (ワッチョイ c224-Iq4y)2022/08/15(月) 08:25:48.51ID:7kbqjBHA0
>>364
他の言語でもスタックやキューは長さの決まった配列だよ
そこへオブジェクトを出し入れするときに端のポインタを動かすだけ
長さが足りなくなったら長さ2倍の配列を新しく定義してそっちへオブジェクトを引っ越し、オブジェクトの数が長さの25%を下回るようになったら長さ半分の配列を作り直してそっちへ引っ越し

367310 (ワッチョイ 4201-8lLW)2022/08/15(月) 08:28:07.85ID:zxOEKBbO0
>>364
pushpush, pop だけだけど実装例
https://kazusa-pg.com/vba-stack/

368デフォルトの名無しさん (ワッチョイ 6eda-5Ix7)2022/08/15(月) 12:57:14.28ID:3rPnXTV50
EXCELのシートが配列みたいなもんだし

369310 (ワッチョイ 4201-8lLW)2022/08/15(月) 13:34:09.14ID:zxOEKBbO0
>>366
それは実装による
リストで実装してる奴もあるし

370デフォルトの名無しさん (ワッチョイ e179-ETcs)2022/08/15(月) 16:10:48.09ID:Z5BB7x+B0
VB(A)の配列でpopが必要になる場面ってあんまないなあ
不要になったらemptyぶちこむだけだし

371デフォルトの名無しさん (ワッチョイ c6da-hvLj)2022/08/15(月) 18:21:13.35ID:u0LihC760
時間データ
>>364
他言語はよー知らんけどdictionaryじゃあかんの?

372デフォルトの名無しさん (ワッチョイ c6da-hvLj)2022/08/15(月) 18:23:08.68ID:u0LihC760
>>371
ああスマン。なんかへんな一言張り付いた。

373デフォルトの名無しさん (ワッチョイ 424f-gduT)2022/08/15(月) 19:15:38.92ID:HvBHLkJg0
Dictionaryでいいと思う。
キーに連番、スタックポインタ代わりに変数一個用意してやって、使い終わったらremove で消して。

374デフォルトの名無しさん (ワッチョイ 6eda-5Ix7)2022/08/15(月) 19:36:11.84ID:3rPnXTV50
やり方は色々あるのにVBAが使いにくいとか言い出す初心者w

375デフォルトの名無しさん (ワッチョイ 4d2f-O3lh)2022/08/15(月) 19:39:31.51ID:zxCNByvE0
だがしかしVBAにDictionaryはないのだよ

WSHはいつまでサポートされるかなぁ
VBAより短い気がしてきた

まあ俺ならどうしてもキューかスタックほしいなら、.NET Frameworkのやつ使うかな

376デフォルトの名無しさん (ワッチョイ 6eda-5Ix7)2022/08/15(月) 19:54:05.83ID:3rPnXTV50
だからVBA使うのやめなよ

377デフォルトの名無しさん (ワッチョイ 4535-/BVm)2022/08/15(月) 20:17:32.58ID:kNyRr/sv0
VBAでDictionary使えるでしょ

378デフォルトの名無しさん (ワッチョイ c6da-hvLj)2022/08/15(月) 20:25:53.14ID:u0LihC760
ああ、なるほど。いつ使えなくなるとも知れないとなれば先々を考えて使わないほうがいいかもね。たしかに使い方も特殊だし。>dictionary

まぁ、それなら捨てsheet作って貼り付けるかな。2次元までなら。
そのかわり処理速度は格段に落ちる可能性はあるけど、待ってりゃいいならそれもアリか。

379デフォルトの名無しさん (ワッチョイ 41e6-U0U7)2022/08/15(月) 20:28:32.11ID:Mg/eEpn60
それって findfirst/findnext 一発で済む問題なのでは?いちいちマクロで書くのもウザったいですよね‥‥

380デフォルトの名無しさん (ワッチョイ 6eda-5Ix7)2022/08/15(月) 20:41:37.63ID:3rPnXTV50
使いにくいとか面倒とか愚痴るくらいならEXCEL使うのやめればいいのに

381デフォルトの名無しさん (ワッチョイ e274-Jrkb)2022/08/15(月) 21:05:11.95ID:OUaqH/oW0
>>371
Dictionaryはとおの昔から使っておったのじゃよ。
しかし使い続けているうちにふと頭をさわるとなんとハゲてしまったのじゃ。
それは困ると思ってDictionaryに変わるいい方法を探求しておるのじゃ。

382デフォルトの名無しさん (ワッチョイ c6da-hvLj)2022/08/15(月) 21:40:01.71ID:u0LihC760
>>381
なんだ、ただふざけてるだけか。。。

383デフォルトの名無しさん (スッップ Sd62-6z5t)2022/08/15(月) 22:39:37.83ID:fsND5nPed
そんなハゲ頭に免じてArrayListを進ぜよう

384デフォルトの名無しさん (ワッチョイ 424f-gduT)2022/08/15(月) 22:52:26.96ID:HvBHLkJg0
DictionaryがイヤならCollection使えばいいと思うけど。
まぁ別に普通に配列でもいいんだけどさ。
多少凝った作りにしたって関数化しとけばいい訳だし。

385デフォルトの名無しさん (スッップ Sd62-6z5t)2022/08/16(火) 04:43:22.32ID:Z2Qcd4DId
>>384
流石に無知すぎるから少し黙った方がいいよ

386310 (ワッチョイ 4201-8lLW)2022/08/16(火) 05:59:23.35ID:CNdrdYLw0
Collection に Exists メソッドがあれば...

387デフォルトの名無しさん (ワッチョイ 6eda-5Ix7)2022/08/16(火) 11:11:29.27ID:09rAK4Ti0
何作ってんだよ

388デフォルトの名無しさん (ワッチョイ 424f-gduT)2022/08/16(火) 12:23:01.42ID:2L6vp4NY0
>>385
そうだね
よく分かりもしないで無知とか決めつける無知は
すっこんでればいいよね

389デフォルトの名無しさん (ワッチョイ e1da-5+Zi)2022/08/16(火) 16:58:27.92ID:tG1qlgnq0
あまりマウントの取り合いは止めようぜ
意見交換の場なんだから

390デフォルトの名無しさん (ワッチョイ 6eda-5Ix7)2022/08/16(火) 17:40:43.11ID:09rAK4Ti0
どちらかというとけなし合いだな

391デフォルトの名無しさん (ブーイモ MM6d-/XJ6)2022/08/16(火) 18:00:08.72ID:0h33t1VnM
ここにいると神になった気分になるな
お前らの見苦しさに対してもなんだか優しくなれそう

392デフォルトの名無しさん (ワッチョイ e1da-5+Zi)2022/08/16(火) 18:20:47.96ID:tG1qlgnq0
昔は違ったんよ
いつからか荒れやすいスレになった

393デフォルトの名無しさん (ワッチョイ e274-Jrkb)2022/08/16(火) 20:19:48.02ID:NUsqsy200
>>382
ふざけてるつもりは毛頭ございませぬ。
でもこれからもハーゲマンの名に恥じぬようVBAを探求していきたいです。

394デフォルトの名無しさん (ワッチョイ e1da-5+Zi)2022/08/16(火) 20:50:53.76ID:tG1qlgnq0
毛という毛全部剃っちゃえ!

395デフォルトの名無しさん (ワッチョイ e274-Jrkb)2022/08/16(火) 21:16:40.24ID:NUsqsy200
>>394
アホ。
そしたらハゲてまうやんけ。

396デフォルトの名無しさん (ワッチョイ e1da-5+Zi)2022/08/16(火) 21:54:28.52ID:tG1qlgnq0
え?
別にいいじゃん、アンタ元から禿なんだから。

397デフォルトの名無しさん (アウアウウー Saa5-Pw8Y)2022/08/17(水) 01:45:03.16ID:d962r+SMa
ソルのはムダ毛だけにしとけ

398デフォルトの名無しさん (スッップ Sd62-BYM4)2022/08/17(水) 01:57:01.99ID:sNWv67oad
頭髪は生えないのに髭は生える

399デフォルトの名無しさん (ワッチョイ e274-Jrkb)2022/08/17(水) 04:59:55.38ID:EILeizBb0
>>396
コラ、われわれハゲ族は、
励まし合って生きていかねばならぬ。
ハゲ増し合うことはするな。

400デフォルトの名無しさん (ワッチョイ 4dda-xxo+)2022/08/17(水) 07:35:41.89ID:hasTYsFP0
頭髪はハゲても、耳毛は濃くなる

401デフォルトの名無しさん (ワッチョイ e1da-5+Zi)2022/08/17(水) 11:39:32.10ID:Ork7WWB+0
禿ではないのだけど、40歳にして髪は真っ白よ。

402デフォルトの名無しさん (ワッチョイ 6eda-5Ix7)2022/08/17(水) 12:34:16.41ID:V9XsbrNu0
好きな色に染めようぜ

403デフォルトの名無しさん (オッペケ Srf1-Uo2u)2022/08/17(水) 12:58:33.86ID:PQdbwjDzr
Excelらしく緑だな

404デフォルトの名無しさん (ササクッテロ Spf1-gduT)2022/08/18(木) 12:18:45.39ID:yPHO1+kSp
なんという体たらく
もうハゲはこのスレ出入り禁止でいいな

405デフォルトの名無しさん (ワッチョイ fdb7-laJE)2022/08/18(木) 13:11:18.15ID:EfwMa2qS0
2つの表があって、表Aと表Bとして
表の作りは二つとも同じで、
コードと数字を持ってます。
二つの表のコードが一致してる場合は

コード  A B
101 50 60
102 40 100
103 30
104 50

といった感じで片方にしか存在しない場合は片方だけの行を追加して行くってvbaを作りたいんですが、何かいい案はありますか?
AとBの表で数字の比較をしたいです
for nextでやろうとしてますがうまくいいやり方が見つからずです

406デフォルトの名無しさん (ブーイモ MM85-Hx7L)2022/08/18(木) 13:24:26.87ID:EMP5KmCeM
まずVBAを忘れます
SQLで FULL OUTER JOIN します
(゚д゚)

407デフォルトの名無しさん (ワッチョイ 468c-hYSv)2022/08/18(木) 14:31:25.04ID:qheAbwQK0
>>405
テーブルのリレーションシップを設定したらいいんじゃないかな

408デフォルトの名無しさん (アウアウウー Saa5-dwW8)2022/08/18(木) 14:35:35.98ID:DWDOTpPia
例えば以下の様なデータがあるとします

開始~終了:消費量
1月1日 0時~1月1日16時:500
1月1日16時~1月2日10時:1000
1月2日10時~1月5日 0時:800
1月5日 0時~1月5日0時:300
1月5日0時~1月6日0時:2500
1月6日0時~1月7日12時:1200


このように時間の区切りがバラバラ(かつ日跨ぎや0分間もある)のデータに対して、1月1日、2日、3日にそれぞれ合計いくらかを出したいです
なお、例えば20時~翌6時で1000の様な場合は4h:6h=400:600として計上したいです

どう計算するか方針すら思い浮かばないのですが何かアイディアありましたら教えてください

409デフォルトの名無しさん (ワッチョイ 42d8-joTH)2022/08/18(木) 15:01:03.74ID:JMDQexcx0
vlookupでできない?
普通にforループでも難しいことなさそうだけど、どんなコード書いたの?

410デフォルトの名無しさん (ワッチョイ 42d8-joTH)2022/08/18(木) 15:04:36.75ID:JMDQexcx0
>>409>>405へのレスね

411デフォルトの名無しさん (ブーイモ MM85-Ufop)2022/08/18(木) 15:14:31.63ID:EMP5KmCeM
>>408
まず問題を分割しよう
まず(step1)日別にレコードを分割し、(step2)それを日付でグループ化して合計を出すと考えればいい
step2は典型的なグループ化と小計なんで楽勝として、step1はちょっと面倒だから更に分割しようか
例えば、入力として一行の内容を渡すと、日別分割されたレコードの配列を返す関数を作って、その結果を結合すればいいだろう

412デフォルトの名無しさん (スッップ Sd62-9bk+)2022/08/18(木) 15:53:00.45ID:XgHMEnCRd
>>405
深く考えなくていいなら
①2つの表(シート)をそれぞれ参照して作業用のシートAを作る
コード シート 値
101 A 50
102 A 40 
・・・
101 B 60
102 B 100
②シートAをソートする
③シートAの内容を読み込んで質問にあるようなシートBを作る

413デフォルトの名無しさん (ワッチョイ fdb7-laJE)2022/08/18(木) 16:12:23.70ID:EfwMa2qS0
できた!
二重ループでできました。

414411 (ブーイモ MM85-Ufop)2022/08/18(木) 16:21:20.45ID:fCi7ElhaM
日別分割関数について補足しておこう
この関数を更に分割すれば、下記のようになるだろう
(1) 開始日時と終了日時の間の日付を全て取得する
(2) 終了日時と開始日時の差を時間単位で求め、結果をHとする
(3) (1) で取得したそれぞれの日付(dとする)について、下記を実施する
(3.1) 開始日時と終了日時の間において、日付dに属する時間が何時間あるかを計算し、結果をhとする
(3.2) 消費量*h/Hを計算し、結果をxとする
(3.3) 日付dと消費量xのペアを分割結果の1レコードとする

ここまで分ければ簡単だろう。もしまだ難しければこのように適宜分割するとよい。

415デフォルトの名無しさん (ワッチョイ 9901-laJE)2022/08/18(木) 16:23:33.57ID:MNMwm62Z0
初歩的な質問なんだけど、上下一致してる場合だけ転記して行くという場合

1行目は例外として省く処理いれて
cells(r-1,1)=cells(r,1)とかってやってくと、不一致のものが現れた時に一致してた行の最初の値が転記できなくなるんだけどどうしたらいい?

100
100
101
101
102

とかって並びの時に、100の一番上が転記されないとか
102とかも転記されない
上下比較の時の最適解の比較方法を知りたい

416デフォルトの名無しさん (ワッチョイ 4201-8lLW)2022/08/18(木) 16:23:56.43ID:X/mZUHYK0
>>405
結構面倒、前提条件として「表A, 表Bのコードは各々ソートされてる」かつ「表A, 表Bのコードは各々の表内で重複してない」のであれば...
Type T
S As WorkSheet: L As Long: R As Long: C As Long: D As Long: F As Boolean
End Type

Dim TA As T, TB As T
Set TA.S = WorkSheets("表A"): Set TB.S = WorkSheets("表B")
TA.L = TA.S.Cells(TA.S.Rows.Count, 1).End(xlUp).Row: TB.L = TB.S.Cells(TB.S.Rows.Count, 1).End(xlUp).Row
TA.R = 1: TB.R = 1
TA.F = False: TB.F = False
Dim S As WorkSheet: Set S = WorkSheets("結果")
Dim R As Long: R = 1
Do
G TA: G TB
If TA.F And TB.F And TA.C = TB.C Then
S.Cells(R, "A").Value = TA.C: S.Cells(R, "B").Value = TA.D: S.Cells(R, "C").Value = TB.D: TA.F = False: TB.F = False
ElseIf (TA.F And TB.F And TA.C < TB.C) Or (TA.F And Not TB.F) Then
S.Cells(R, "A").Value = TA.C: S.Cells(R, "B").Value = TA.D: TA.F = False
ElseIf (TA.F And TB.F And TB.C < TA.C) Or (Not TA.F And TB.F) Then
S.Cells(R, "A").Value = TB.C: S.Cells(R, "C").Value = TB.D: TB.F = False
Else
Exit Do
End If
R= R + 1
Loop

Private Sub G(T As T)
If Not T.F And T.R <= T.L Then
T.C = T.S.Cells(T.R, "A").Value: T.D = T.S.Cells(T.R, "B").Value: T.F = True: T.R = T.R + 1
End If
End Sub

417デフォルトの名無しさん (ワッチョイ fdb7-laJE)2022/08/18(木) 16:34:05.48ID:EfwMa2qS0
>>416
ありがとぅざいます!
そうなんです
考え出したらこれかなり面倒だなと思って、、

同じような発想かもしれないですが

外のループはA表のコード番号の縦列の値を固定して、
内側ループでB表を縦にコードが一致するまで検知して
一致した場合フラグを立てて、一致したコードの時は一致してるコードの隣に値を転記。
内側ループを抜けた時点でフラグが立っていない場合はBにしか存在しない値なので、A表の最終行以降に転記

って考え方でいけました!

418デフォルトの名無しさん (ワッチョイ fdb7-laJE)2022/08/18(木) 16:37:32.42ID:EfwMa2qS0
あ.A表に転記ではなくてC表ですね

419デフォルトの名無しさん (アウアウウー Saa5-dwW8)2022/08/18(木) 18:49:57.27ID:AeknNWbaa
>>411,414
ありがとうございます、そのヒント元に自己解決できました

1. 対象となる期間を配列に格納
2. データを1つずつ0:00で分解、按分は都度[その日の時間/全体の時間]で実施
3. 配列内の一致する日付に割振り
4. 2-3ループ

420デフォルトの名無しさん (ワッチョイ 42d8-joTH)2022/08/18(木) 20:46:21.25ID:JMDQexcx0
>>415
102は一致する相手がいないけど、転記される必要があるのかな?
ぱっと思いつくのは

ポインタをrとsの2つを用意してr=1, s=1から始める
1. Cells(s, 1) == Cells(r, 1) の間だけ s を進める。
2. Cells(s, 1) の値が変わったところで
a) s - r > 1 なら Cells(r, 1) を転記しながら s に追いつくまで r を進める
b) s - r == 1 なら転機せずに s に追いつくまで r を進める
3. 1からの手順を表の最後まで繰り返す

421デフォルトの名無しさん (ワッチョイ 9901-jfTJ)2022/08/18(木) 22:39:41.60ID:MNMwm62Z0
>>420
相手がいない場合も転記です
そのやり方試してみます
単純そうでむずかしい…

422デフォルトの名無しさん (ワッチョイ 4d2f-O3lh)2022/08/19(金) 01:11:58.45ID:OSKKwF+I0
>>415
そこからどういうデータを求めたいんだ?
単に重複データ削除するだけで良い気がするんだが

423デフォルトの名無しさん (ワッチョイ 9901-jfTJ)2022/08/19(金) 07:58:47.24ID:YEGDOEOJ0
>>422
上下一致してるものだけ足し込んでいくということをしたいです
一致してなくても一個だけのはそのまま転記したい
空白は無視で
単純なコードでいけるかなと思ったら難しくて、、

424デフォルトの名無しさん (ワッチョイ e179-ETcs)2022/08/19(金) 09:33:47.59ID:TD6yT77i0
まずどういう出力か書けよ
頭悪すぎだろ

425デフォルトの名無しさん (ササクッテロ Spf1-gduT)2022/08/19(金) 10:55:40.42ID:agk3kSn7p
>>424
>>423で説明すているだろ
これで分からないってお前白痴か?

426デフォルトの名無しさん (ワッチョイ 42d8-joTH)2022/08/19(金) 11:00:49.57ID:0SH6JCsd0
>>415の入力例で言うと
100は上下で一致してるから転記する
101は上下で一致するからこれも転記する
>>421の説明だと102単独でも転記する
転記しない入力例ってどんなのよ?

427デフォルトの名無しさん (スップ Sdc2-ZiF6)2022/08/19(金) 11:05:43.32ID:nezaNaBad
423の足しこんでいくというのは?もう何もわからない

428デフォルトの名無しさん (スップ Sdc2-ZiF6)2022/08/19(金) 11:07:12.98ID:nezaNaBad
転記?今日の天気?
Excel必要ですか

429デフォルトの名無しさん (ワッチョイ e1da-5+Zi)2022/08/19(金) 11:32:50.63ID:LZdSBpbV0
うるせえ!この禿!

430デフォルトの名無しさん (ワッチョイ 6eda-5Ix7)2022/08/19(金) 13:14:47.90ID:aeNJth6k0
まず髪の毛緑に染めてこい

431デフォルトの名無しさん (スッップ Sd62-9bk+)2022/08/19(金) 13:37:04.21ID:NSoYBxeid
質問する側がおかしいと(どういう結果にしたいかが不明の場合)回答する気も失せるよね上下一致と言われたら
A
B
C
D
ならBを基準にA=BかつB=Cって自分はするんだが違うんだろ?

432デフォルトの名無しさん (ワッチョイ d2bd-dwW8)2022/08/19(金) 16:42:31.05ID:TM0tepDc0
重複除去したいって解釈してた

433デフォルトの名無しさん (ワッチョイ 4d2f-O3lh)2022/08/19(金) 17:14:26.61ID:OSKKwF+I0
>>423
最終的に欲しい形を書け

エクセルの機能に重複データの除去ってあるのはしってるのか?

434デフォルトの名無しさん (ワッチョイ e1da-5+Zi)2022/08/19(金) 19:41:03.51ID:LZdSBpbV0
知らないのでわ?

435デフォルトの名無しさん (スップ Sdc2-9bk+)2022/08/19(金) 19:54:20.05ID:fs7pDiUMd
足しこむとか転記とか何がしたいか意味不明なんだよね
単純にいま記載されている列の値について
1.同じ値が続く場合は最初の一つだけ残す
2.ただし途中にある空白は無視する(1、空白、1は同じ値が続いてるとする)
3.最終的に残した値で詰める または 残した値は別の列なりシートなりに転記する
みたいな事をやりたいのか質問見ただけではわからんのよね
この場合なら検索する行とセットする行を用意すれば簡単にできる話なんだけどね
仕事もそうなんだけど説明が下手な人ってやっぱり仕事もできない人が多い

436デフォルトの名無しさん (スッップ Sd62-hvLj)2022/08/19(金) 20:23:56.98ID:uBoRK/pGd
足し込むというのが加算という意味であれば必然的に数値ということになるけど、、、

上の行と同じ数値なら足し算する=2倍するってことか?
それとも上と下の行が同じ数値なら現在行と上下の3行の和にするってことか?

なんかいろんな解釈ができる要望なんよね。。。

437デフォルトの名無しさん (ワッチョイ 424f-gduT)2022/08/19(金) 22:10:12.43ID:zQKwV5nn0
まぁ重複したデータを足し込むのか削除するのかはさした問題ではない。
ディクショナリやコレクションに元にあった値をキーにして
まずキーと同じ値をキーに該当する値として設定して、
同じキーが次回来たときに無視するか足し込むかすればいいだけの話だからな
最後にそれをシートに展開すればいいだけの話。
そうしとけば足し込もうが重複削除だろうが簡単に対応出来る。
SQLを知っているならSQLでやってもいい。

問題は同じ値が飛び石で来る可能性があるのかということ。
例えば101、101、102、101の順序で来ることがあるのか?
この場合、要件としては「上下で一致しているものだけ足し込む」ということなので上の例で言えば202、102、101と設定されるのが正ということになる。
これは上記した方法でやるのはかえってまどろっこしい。
そうしたら上から舐めてコレクションに値を格納、前回の行と次の行の頭が同じなら無視するか足し込むかすればいいし、値が違うならそのままコレクションに追加すればいい。
最後にそれをシートに展開する。

このように同じ数値が飛び石で来るかで作りがガラッと変わってしまう。せめてそこだけでもハッキリさせてくれれば。

438デフォルトの名無しさん (スップ Sd1f-XvCx)2022/08/20(土) 00:10:31.82ID:KYv4qV6Cd
もう終わった話なんだと思うけど正直質問する人はこういうデータをいじりたいという事は伝えても
結果としてこういうものが欲しいっていう事を伝える人が少ないんだよね
だからいろんな解釈ができるからその辺もちゃんと情報を伝えてほしいわ

439デフォルトの名無しさん (ワッチョイ ffda-tEjH)2022/08/21(日) 19:54:19.68ID:+6WkTpkf0
そういうの含めて個人の能力

440デフォルトの名無しさん (ワッチョイ 1f5f-liIk)2022/08/24(水) 18:51:09.99ID:VyM585LM0
Unique関数の引数って二次元配列じゃないとだめなの?

441デフォルトの名無しさん (ブーイモ MM0f-EEuy)2022/08/24(水) 19:20:17.01ID:lK4e5BLcM
Range型を渡すんじゃダメなの?

442デフォルトの名無しさん (ワッチョイ ffda-qb5s)2022/08/24(水) 20:13:49.71ID:LO0U8Jrb0
実際に試してみれば答えが出ると思うのだが

443デフォルトの名無しさん (ワッチョイ 1fce-tEjH)2022/08/24(水) 22:08:51.37ID:087AndgI0
マニュアル読め

444デフォルトの名無しさん (ワッチョイ 9fda-iK0u)2022/08/24(水) 22:19:47.85ID:Gbtg5dPu0
MSヘルプですね~

445デフォルトの名無しさん (ワッチョイ 4666-JjaS)2022/08/28(日) 22:27:57.16ID:uLwcj+rg0
excel2019
win10

設定シートに各項目を入力させたらそれに応じて別シートに計算結果を入力させるVBAを書いてる途中なのですが、
VBAソースを書いてる途中に設定シートにこんな数値も持たせたい、
入力画面のレイアウトをあれこれ変えたいと行や列の挿入をしたくなってしまうのですが
そうするとVBAソースの方がずれたままになってしまうのですが、シートに挿入をしたら
それにともなって既にかけている部分だけでもソースコードのcellsやrangeの値が更新されてくれたりしないでしょうか?

446デフォルトの名無しさん (ワッチョイ 868c-6eY1)2022/08/28(日) 22:36:45.40ID:bZvgSFoz0
>>445
参照先は自動更新されない
セルに名前を付けてその名前で参照すればよい

447デフォルトの名無しさん (ワッチョイ c95f-yNcK)2022/08/28(日) 22:37:28.82ID:z6hd8oqM0

448デフォルトの名無しさん (ワッチョイ 59da-Xdj5)2022/08/29(月) 20:34:19.97ID:6xba6Hkk0
おまいらが毛がどうのこうので喜ぶがらマジで頭ツルッツルにしてきたぞ

449デフォルトの名無しさん (スフッ Sd22-2Ehw)2022/08/29(月) 22:48:42.98ID:Qu5uun0od
>>445
コレクションに格納するのが攻守最強

450デフォルトの名無しさん (ワッチョイ ad2f-6Yq+)2022/08/31(水) 02:50:20.75ID:Ie2cpGsY0
>>449
そのコレクションの中身はどうやって保守するのかね?

451デフォルトの名無しさん (ワッチョイ aeda-6Yq+)2022/08/31(水) 19:22:22.41ID:QCzzbP6t0
>>448
ツルツルがいいのは下の毛です

452デフォルトの名無しさん (ワッチョイ 59da-Xdj5)2022/08/31(水) 22:52:05.08ID:q/z2hnkB0
>>451
お、おうw
しかし真夏にはツルッツルもなかなか良いわ涼しい

453デフォルトの名無しさん (ワッチョイ 4666-JjaS)2022/09/01(木) 03:46:18.56ID:Xg3rwxDQ0
win10
excel2019

Sub y()
Dim st As Range
Set st = Worksheets("参加者").Range("A1:BA80").Find(What:="氏名")
If st is Nothing Then
else
Debug.Print st.Row
end if
End Sub
これをすると"氏名"文字列に一致したセルがrangeオブジェクトで貰えますけど
本当に欲しいのは氏名のx個下のrangeオブジェクトなのです。
氏名のセルと参加者の開始セルの相対位置は固定的です。
氏名はいろいろな名前があるのでマッチングしづらいので氏名で位置を探って取り込んでいます。

rowやcolumnくらいしか使いませんけど、すっきり感としては本当に欲しいのは氏名の開始セルのrangeオブジェクトなのです。

返り値のrangeオブジェクトをずらすということはできますでしょうか?

454453 (ワッチョイ 4666-JjaS)2022/09/01(木) 03:53:25.83ID:Xg3rwxDQ0
Set st = Worksheets("参加者").Range("A1:BA80").Find(What:="氏名").offset(1,1)
こんな感じで解決しました。
動いてるのはまぐれでしょうか?

455デフォルトの名無しさん (ワッチョイ c95f-yNcK)2022/09/01(木) 06:49:22.79ID:UMivoEC40
>>453
何やってるかわからんままコピペして動かしてる感をヒシヒシと感じるので
Rangeオブジェクト
Findメソッド
Offsetプロパティ
について理解できるまで解説サイト読んでください

あと、>>445についても回答付いてるんだからなんかリアクションしてください

456デフォルトの名無しさん (アウアウウー Sa85-Q92Q)2022/09/01(木) 09:42:20.83ID:wgtUDrt5a
451
おまわりさんこいつです

457デフォルトの名無しさん (ブーイモ MM4d-yNcK)2022/09/01(木) 10:01:37.99ID:Ak8bAeS9M
VIO脱毛する人が増えてる

458デフォルトの名無しさん (ワッチョイ 4666-JjaS)2022/09/01(木) 10:51:28.10ID:Xg3rwxDQ0
>>455
何度か書き込もうとしたんですけど、書き込みエラーになってしまっていました。
なんだかレスアンカーが不正とか出てきてたのでわからなくなりました。
レスアンカーをつけちゃいけないみたいな制約?

>>445に回答いただいた方ありがとうございました。
これも書き込めないかもしれませんが。

RangeオブジェクトのOffsetメソッド?は結合セルがやっかいなのですね。
結合セルでない時のエラー処理を加えると結局コードが汚くなっていくジレンマでした。

オブジェクト型がなかなか理解できません。
dim wf as object
set wf = worksheetfunction
とやってもwf.でエクセル関数を使えるようになるわけではないみたいですし。

ありがとうございました。

459デフォルトの名無しさん (ワッチョイ 4666-JjaS)2022/09/01(木) 11:00:01.20ID:Xg3rwxDQ0
Function wf() As WorksheetFunction
Set wf() = WorksheetFunction
End Function
こっちで呼び出し短縮は出来ました。初めて使いましたfunction

460デフォルトの名無しさん (ワッチョイ 4666-JjaS)2022/09/01(木) 14:07:42.09ID:Xg3rwxDQ0
名前付きセル範囲を使うためにnamesコレクションを理解しようとしてるのですが、
activeworkbook.namesをfor eachに入れると現在は1個しか出て来なくて
値が
=#NAME?
こんなのです。エクセルの方から名前の管理を開いてもこの名前は出てきませんし、何も出てきません。
何なのでしょうか?この値は?
なにも設定されてない時の値かと思ってワークシートのあるセルに名前の設定をしみたのですが、
やはりこの値は残ったままでした。
RefersToでもvalueと同じく
=#NAME?

461460 (ワッチョイ 4666-JjaS)2022/09/01(木) 14:14:01.95ID:Xg3rwxDQ0
わからないまま、vbaから非表示を表示させるコードをコピペして削除しておきました。
こんな名前作った覚えはないですが

462デフォルトの名無しさん (ワッチョイ 4549-C0nc)2022/09/01(木) 14:38:52.05ID:nUWOz2Sg0
そっか、うんうん、非表示を表示ね、良かったね

はい次の方

463デフォルトの名無しさん (ワッチョイ 59da-Xdj5)2022/09/01(木) 15:07:23.09ID:xiyCUJHG0
ニートならロン毛にしろよ

464デフォルトの名無しさん (ワッチョイ 4666-JjaS)2022/09/01(木) 19:17:21.60ID:Xg3rwxDQ0
Range型と配列の違いが後一歩わからないのですが、
Sheet1にA1=10,A2=20,A3=30,B1=40,B2=50,B3=60....みたいにしてar(2,2)と近い感じにしてます。
Sub Sample1()
Dim ar(2, 2) As Variant
ar(0, 0) = 10
ar(1, 0) = 20
ar(2, 0) = 30
ar(0, 1) = 40
ar(1, 1) = 50
ar(2, 1) = 60
ar(0, 2) = 70
ar(1, 2) = 80
ar(2, 2) = 90
Debug.Print TypeName(ar)
Debug.Print TypeName(Worksheets("Sheet1").Range("A1:C3"))
End Sub
arはvariant型の配列でWorksheets("Sheet1").Range("A1:C3")はrange型のオブジェクトになるんですよね。

感覚的にはどちらも配列を渡している気分なのですが、セル範囲参照のrangeだからrange型オブジェクトになるってだけですか?

465デフォルトの名無しさん (スプッッ Sd82-GCvl)2022/09/01(木) 19:18:06.47ID:EeQXBP72d
馬鹿過ぎてやばい奴が来てる

466464 (ワッチョイ 4666-JjaS)2022/09/01(木) 19:23:31.46ID:Xg3rwxDQ0
for each のinの後に配列をおいても、range型オブジェクトをおいても
同じように中身を取り出してくれるから混乱してしまったのかもしれません。

467デフォルトの名無しさん (ワッチョイ 61da-6Yq+)2022/09/01(木) 19:28:08.64ID:bYXIuDKK0
もし Dim ar(2, 2, 2) As Variant なら3次元の配列としか言いようがない

468デフォルトの名無しさん (ワッチョイ 06da-eq86)2022/09/01(木) 20:43:50.82ID:QMR92n1t0
本人は切実なんだろうけどイマイチ何を理解しようとしているのかが汲み取れない。

とりあえず、シートは二次元配列みたいなものと思えばいいんじゃないかなぁ。
バリアント型の変数に範囲指定したrangeを代入したら配列が出来上がるんだから。。。

って、こういうの説明するのって余計に混乱させそうで怖いのよね。

469デフォルトの名無しさん (ワッチョイ 59da-Xdj5)2022/09/01(木) 22:31:39.49ID:xiyCUJHG0
なんでそんな事やっているんだろう。。??

470デフォルトの名無しさん (ワッチョイ 0de6-NyG/)2022/09/01(木) 23:45:17.73ID:7Zuj6Csb0
Rangeオブジェクトと配列、全く異質のものなのに同じ代入インターフェースがつかえるのが不思議なのでしょう
女学生は貧困で給食費すら払えないのに上級国民は交通費で200万円貰えるのですから

471デフォルトの名無しさん (ワッチョイ 868c-6eY1)2022/09/02(金) 00:10:13.04ID:vXxCvmAd0
>>464
配列には数字しか入っていませんが、
Rangeオブジェクトには数字以外に色や罫線やハイパーリンクなど色々な情報が入っています。というかワークシートのセルそのもの(オブジェクト)です。

472デフォルトの名無しさん (ワッチョイ ad2f-6Yq+)2022/09/02(金) 03:22:55.43ID:XYWvvS0T0
>>464
オブジェクトにはデフォルトプロパティというのがあってな
オブジェクトを参照してるつもりでも、実はそのデフォルトプロパティを参照してるんだよ

Worksheets("Sheet1").Range("A1:C3")はRange型だが、
そのデフォルトプロパティは2次元配列なのだよ

473デフォルトの名無しさん (ワッチョイ 023e-y80L)2022/09/02(金) 06:34:36.12ID:p8HOStyU0
https://www.tipsfound.com/vba/18014

このコードでcsvファイルをエクセルの指定のシートに取り込めますか?

474デフォルトの名無しさん (ワッチョイ 02d8-OFDU)2022/09/02(金) 07:13:47.06ID:rviUcujq0
>>473
やってみて聞いてるの?自分でやるのが面倒臭いからとりあえず聞いてるだけ?

475デフォルトの名無しさん (ワッチョイ 4205-6Yq+)2022/09/02(金) 07:18:17.22ID:K+fb6kZO0
最近のレベル低下には目を見張るものがあるな

476デフォルトの名無しさん (ワントンキン MM52-Pz8G)2022/09/02(金) 07:25:48.67ID:+uzTYabFM
総合相談所で総スカンされた馬鹿だろ

477デフォルトの名無しさん (ワッチョイ 59da-Xdj5)2022/09/02(金) 11:01:00.75ID:BYdQXtrB0
いや、そもそも何でそんな事やりたいのか??
という質問自体がさ

478デフォルトの名無しさん (ワッチョイ 61da-AuBP)2022/09/02(金) 12:33:00.40ID:MAC5jHq+0
よそのサイトなんだから作った奴にきけばいいのにと思う今日この頃

479デフォルトの名無しさん (ワッチョイ 59da-Xdj5)2022/09/02(金) 14:51:15.82ID:BYdQXtrB0
ど正論出ました
終了

480デフォルトの名無しさん (ワッチョイ 5f3e-NodX)2022/09/03(土) 10:31:26.76ID:XL3e+/xJ0
>>476
あれ総スカンだったんですか?
外部データの取り込みでcドライブのファイルを取り込んでいるのに

そのエクセルのファイルを他の人にコピーして渡したら同じ場所にファイルを配置しているのにファイルが読み込めないって聞いただけなのに笑

481デフォルトの名無しさん (スフッ Sd7f-k3HK)2022/09/03(土) 12:58:16.39ID:WuOEJ3Bid
あっちでも総スカンだしここでも総スカンなんだからもういいでしょ
レベル低いよあんた

482デフォルトの名無しさん (ワッチョイ 7f8e-VPUc)2022/09/03(土) 14:11:09.43ID:fgoOqg3v0
しつこい馬鹿

483デフォルトの名無しさん (ワッチョイ 07da-oTx6)2022/09/04(日) 02:41:16.33ID:+4pXrWCU0
向こうの総合相談スレはこのスレと違って厳しい人ばかりだからな。

484デフォルトの名無しさん (ワッチョイ 5f3e-NodX)2022/09/04(日) 17:26:08.83ID:nTptsQZA0
>>483
VBAのスレよりも質問スレは厳しい人ばかりなんですね

485デフォルトの名無しさん (ワッチョイ 07da-oTx6)2022/09/04(日) 21:22:49.28ID:+4pXrWCU0
少しでも的外れな質問したら総スカンだからな。
初級者だろうが容赦ないのが向こう。

486デフォルトの名無しさん (オッペケ Srbb-bBdM)2022/09/04(日) 22:38:27.70ID:I+EDFKibr
replace関数でワイルドカードを使用してるのですが、
うまく置換していくれないのでなぜですか?

やりたいこと A1セルのKKK1111というデータを2222に変換したい
replace("A1","*" & "K"& "*","2222" )

487デフォルトの名無しさん (ワッチョイ 07a5-Iguz)2022/09/04(日) 22:59:56.29ID:PXpvkR6X0
REPLACE(文字列, 開始位置, 文字数, 置換文字列)

488デフォルトの名無しさん (ワッチョイ 07da-oTx6)2022/09/04(日) 23:39:15.09ID:+4pXrWCU0
優しいなみんな
総合スレだったらフルボッコ

489デフォルトの名無しさん (ワッチョイ 5f3e-NodX)2022/09/05(月) 18:43:28.63ID:8FlTtg5u0
初心者あるあるなんだろうか

490デフォルトの名無しさん (ワッチョイ bf66-bBdM)2022/09/05(月) 22:48:54.81ID:C53zNTJD0
ありがとうございました。
ユーザー定義型と連想配列を知って少し前進しました。

検索掛けてもなかなかでないので教えてください。
dim i
for i....
使い終わったらiを未定義に戻したいんですが、
宣言の反対?になるような未定義に戻す関数?ステートメント?はありませんか?

491デフォルトの名無しさん (ワッチョイ 5f42-JTsi)2022/09/05(月) 23:44:13.97ID:ZiXiUX+x0
無いし気にする必要もない

492デフォルトの名無しさん (ワッチョイ c7da-HH83)2022/09/06(火) 02:21:14.99ID:xcONMZhZ0
>>490
ちなみに戻したい理由は何?

493デフォルトの名無しさん (スッップ Sd7f-VPUc)2022/09/06(火) 03:38:48.46ID:DWdJNYk/d
馬鹿に理由を問う虚しさ

494デフォルトの名無しさん (スフッ Sd7f-k3HK)2022/09/06(火) 05:21:21.45ID:Fb+lfM05d
変数は使い捨てだよVBAの場合

495デフォルトの名無しさん (ワッチョイ bfda-aLkc)2022/09/06(火) 06:55:14.80ID:FWLy+pWW0
プロシージャ内で宣言した変数ならプロシージャを抜ければクリアされるしマクロ全体が終了すれば全てクリアされるからあまり気にしない。
privateやpublicで宣言したオブジェクトなら明示的にnothingをsetすることはあるけど、イマドキのPCでメモリ解放もあまり気にする必要はない気もする。
エラーで止まったときを考えると念の為しておくくらいかなぁ。

496490 (ワッチョイ bf66-bBdM)2022/09/06(火) 09:27:26.00ID:uuhY1QFW0
初心者なのでプロシージャ内で処理の順番を変えたくなる時があります。
使う直前に宣言したいのでプロシージャの初めに宣言は出来ればしたくありません。
コピペでソースコードを入れ替えて処理の順番を変えるとforが1回目とfor2回目が入れ替わってしまう事があります。
だから毎度forを使う前は、foreacheもそうですが、宣言が必要かをプロシージャ内を戻って探します。
forが終わるたびに未定義に出来ればいいなと思ったのは使い終わった変数名が後からかぶっても
使い終わった時点で未定義に戻しておけばエラーも不具合も出ないからです。
他の言語だとあるのであるかなと思ったのです。

497デフォルトの名無しさん (ラクッペペ MM8f-gaJG)2022/09/06(火) 10:03:36.29ID:Z9J6cI+IM
はい、わかりました

498デフォルトの名無しさん (ワッチョイ 87cd-CzlZ)2022/09/06(火) 10:56:34.50ID:MUc/w1ud0
>>496
>他の言語だとある
これ本当?

499デフォルトの名無しさん (スッップ Sd7f-VPUc)2022/09/06(火) 11:47:55.76ID:DWdJNYk/d
馬鹿ではなく糖質かな

500デフォルトの名無しさん (スッププ Sd7f-aPzy)2022/09/06(火) 11:53:04.38ID:o3g0SSKzd
会社のパソコンでvbsからエクセルvbaを起動させメール本文、添付ファイルを作成し添付、outlookでメール送信をしたいのですがOutlookが起動しません。
エクセルから手動でvbaを起動すると正常に動作するのですが、vbsから起動するとタスクバーのエクセルが点滅し停止します。
特にエラーを吐いている様子はありません。

何か思いあたる部分があればご教示ください

501デフォルトの名無しさん (ワッチョイ 5f2c-HH83)2022/09/06(火) 12:06:14.05ID:QxRWO4Sk0
漏れの推測だけど、

>タスクバーのエクセルが点滅し
これは、バックグランドで起動しているのでは?

それで、エクセル内のマクロなどが起動しないとか?

502デフォルトの名無しさん (ワッチョイ e72f-HH83)2022/09/06(火) 12:18:01.17ID:iobTnTaB0
>>498
定義済みが未定義になるわけじゃないけど
ブロックスコープとかいうやつだな

残念ながら旧VBやVBAにはない。VB.NETにはあるけど

VBAの一番狭いスコープはプロシジャ
なので、プロシジャの先頭に宣言まとめとけって作法がある

503デフォルトの名無しさん (スッププ Sd7f-aPzy)2022/09/06(火) 13:03:51.66ID:BhZhCXYFd
>501
vba自体は動作しております。
手動でvbaを起動するとエクセルが開き添付ファイルなどを作成し、Outlookで送信するのですが
vbsでの起動だと添付ファイルまでは作成するのですが、Outlookが立ち上がらず、タスクバーのエクセルが点滅して動作が止まります。

ネットで調べても事例が出てこず、会社のパソコンなのでシステム管理者に制限をかけられているのか…
何か調べる方法がありましたら教えてください

504デフォルトの名無しさん (ラクッペペ MM8f-gaJG)2022/09/06(火) 13:07:25.60ID:Z9J6cI+IM
printfデバッグでどこまで動いているか確かめましょう!

505デフォルトの名無しさん (アウアウウー Sa8b-hVXw)2022/09/06(火) 13:13:46.25ID:Td+5EGNEa
>>496
始めに宣言を書いている方が探しやすいと思うけど
要らなさそうなものはまとめてコメントして確認すればいいわけだし

506デフォルトの名無しさん (ワッチョイ 07da-oTx6)2022/09/06(火) 15:27:46.04ID:NuTb9qxy0
VBAでメールとか初めて見た

507デフォルトの名無しさん (ワッチョイ e72f-HH83)2022/09/06(火) 15:38:34.30ID:iobTnTaB0
>>500
手動で実行できるなら、VBSで起動しているときのユーザとその権限があやしい
つかエラー吐いてないんじゃなくて、ちゃんとエラー捕まえられてないだけだと思うが

あとスクリプト系からのメール送信はいろいろセキュリティ周りでチェックされるかもしれん
とくに会社で管理されてるようなPCなら、ちゃんと管理者に許可とってからやれよ

508デフォルトの名無しさん (ワッチョイ 2749-DXwO)2022/09/06(火) 15:44:13.81ID:+5wORWUf0
メール送信用のc#のexeつくって呼び出させるようにしたことならある
あとsendgridAPIよぶの
前者は他にも使い回したな。.NETcoreだった気がするからいつまで使えるやら

509デフォルトの名無しさん (ワッチョイ 5f01-yqJ9)2022/09/06(火) 15:58:15.39ID:z3X/Y8zI0
>>498
あるものもある、例えばPowerShellにはそのものズバリのRemove-Variableなんてものがあったりする

510デフォルトの名無しさん (ワッチョイ 5f2c-HH83)2022/09/06(火) 16:28:13.42ID:QxRWO4Sk0
>>503
>タスクバーのエクセルが点滅して動作が止まります
バックグランドで起動しているだけじゃ、エクセルのマクロが実行されないのかも

printf デバッグで、どこまで動いているか確かめるべき!
エクセルのマクロの、Outlook の起動コードの前後で、何かを出力すれば?

Outlook の起動前に、端末・ファイルへ出力する
Outlook の起動コード
Outlook の起動後に、端末・ファイルへ出力する

511デフォルトの名無しさん (アウアウウー Sa8b-2LH/)2022/09/06(火) 20:05:52.59ID:D5ckGmEva
動作が止まるのは終了したからかもよ

512490 (ワッチョイ bf66-bBdM)2022/09/06(火) 20:19:56.69ID:uuhY1QFW0
>>505
なるほど。そういう方もおられるのですね。
EXCEL VBAのプロシージャはあんまり長くしない方がいいよみたいなサイト読んで影響受けてます。
コードの書き方って結構こだわりを持っている方がいるようで、自分はそれに影響を受けやすい方です。
自分もこだわりたい方なんだと思います。

EXCEL VBAを知って、宣言は直前が基本ですよみたいな記事読んで強く影響受けました。
だから使い終わるごとに未定義に出来れば毎度宣言しなおせるからすっきりするのになぁみたいな気持ちでした。
EXCEL VBAとしてはfor やfor eachに使うような変数は先頭宣言にしてやっていこうと思います。

513デフォルトの名無しさん (ワッチョイ 47ac-DXwO)2022/09/06(火) 20:29:06.28ID:nWcJdu8F0
ちゃんとfunction分けてたら直前でいいけど、
大抵クソデカ関数ひとつか、グローバル宣言祭りだろうからなあ

514デフォルトの名無しさん (ワッチョイ 5f01-yqJ9)2022/09/06(火) 20:37:51.18ID:z3X/Y8zI0
>>512
> EXCEL VBAとしてはfor やfor eachに使うような変数は先頭宣言にしてやっていこうと思います。
とりあえずそれで動くところまで持って行ってコードが固まったらこだわりのコードスタイルにリファクタリングすればいいかと

515デフォルトの名無しさん (ワッチョイ e78e-VPUc)2022/09/06(火) 21:28:56.11ID:3UeoLADl0
>>512
>他の言語だとあるのであるかなと思ったのです。

他の言語って具体的に何?
答えられない?逃げる?それともまた言い訳?

516デフォルトの名無しさん (ワッチョイ e72f-HH83)2022/09/06(火) 21:54:35.94ID:iobTnTaB0
>>512
個人的に、VBAに限定した話で宣言は直前とかいう記事はあんまり信用できないと思ってる
最近の言語ならそれで良いんだけどね

517デフォルトの名無しさん (ワッチョイ 5f01-yqJ9)2022/09/06(火) 22:58:52.94ID:z3X/Y8zI0
>>515
>>509
煽るならもうちょい知識をつけてからにした方がいい

518デフォルトの名無しさん (ワッチョイ 07da-oTx6)2022/09/06(火) 23:05:26.43ID:NuTb9qxy0
あまり複雑化しても辛くなるしな
シンプルにシンプルによ

519デフォルトの名無しさん (ワッチョイ 875f-Iguz)2022/09/07(水) 07:28:44.73ID:TmSq6TyA0
>>516
どういうこと?
最近の言語と違って
・ブロックスコープがない
・宣言と同時に代入できない
以上VBAの特徴2点を差し引いたとしても、
先頭宣言が直前宣言より優れている所なんかひとつもないと思うんだが

520デフォルトの名無しさん (ブーイモ MM8f-9tU7)2022/09/07(水) 09:01:28.19ID:l5y/t4MDM
個人的信条を議論するのは無意味

521デフォルトの名無しさん (アウアウクー MMbb-2Jzk)2022/09/07(水) 17:30:20.88ID:5SecbqGCM
変数はImmutableにするのが最近の言語でしょ
こうなるもうどこで宣言しようが関係ない

522デフォルトの名無しさん (ワッチョイ e72f-HH83)2022/09/07(水) 19:33:33.73ID:nObPwJJb0
>>519
まあ>>520に同意しつつ、一番の理由は、
VBAでの一般的なスタイルに反するからなんだが

ブロックスコープがないのに直前で変数宣言するのは、
違うブロックで宣言された変数と宣言が被るリスクが上がるだけなんだが
むしろ直前宣言が優れている点ってどこだよ?

523デフォルトの名無しさん (アウアウウー Sa8b-yqJ9)2022/09/07(水) 19:40:46.55ID:qgePcMk7a
>>519
同意する
まあ>>516は理由を書いてない時点であまり信用できないと思ってる

524デフォルトの名無しさん (アウアウウー Sa8b-yqJ9)2022/09/07(水) 19:45:10.64ID:qgePcMk7a
>>522
> 違うブロックで宣言された変数と宣言が被るリスクが上がるだけなんだが
そんなものどこで宣言しても同じだろ

> むしろ直前宣言が優れている点ってどこだよ?
コードを追う時に見える範囲に宣言あれば型とかも分かるだろ

525デフォルトの名無しさん (ワッチョイ 87cd-Iguz)2022/09/07(水) 19:47:45.63ID:URQHgzNh0
>>522
・別functionにしない
・設計が出来ない
・順番がコロコロ変わる

こういう場合は直前の宣言がいいんだろうな

526デフォルトの名無しさん (ワッチョイ 47e5-gaJG)2022/09/07(水) 19:48:48.00ID:ie60y+bR0
インデックスとはいえ変数を使い回すのはNGなのです!
VBAだとしても許されません!ロボコン0点

527デフォルトの名無しさん (アウアウウー Sa8b-XKc1)2022/09/07(水) 20:14:29.57ID:lr2lUZXda
質問でもなく他人のコードの変数をどこに書こうがどうでもいいのに書き方に熱くなる人はバカなんだろうね
まあそういう技術的な部分に関係ないところしか語れない程度が集まるスレなんだろうけどw

528デフォルトの名無しさん (アウアウウー Sa8b-hVXw)2022/09/07(水) 20:36:38.49ID:pBpkzzj3a
>>527
そんなに熱くなるなよw

529デフォルトの名無しさん (スッップ Sd7f-VPUc)2022/09/07(水) 20:40:11.15ID:dC3z0bZtd
>>517
で、答えられずに逃げたのかよ

530デフォルトの名無しさん (ワッチョイ 5f01-yqJ9)2022/09/07(水) 20:55:49.52ID:qYDBMpOU0
>>529
マジでアホなの?
PowerShellって書いてあるだろw

531デフォルトの名無しさん (ワントンキン MM3f-HKBf)2022/09/07(水) 21:25:08.49ID:dOhAzb3IM
>>530
へー、shellコマンドと言語の違いがわからない人か
納得

532デフォルトの名無しさん (ワッチョイ 5f01-yqJ9)2022/09/07(水) 21:50:42.41ID:qYDBMpOU0
>>531
PowerShellって結構リッチなプログラム言語ですけど?
頭大丈夫?

533デフォルトの名無しさん (ブーイモ MM7f-9TNW)2022/09/07(水) 22:25:03.60ID:GXE70sRqM
シェルとシェルスクリプトは間違えてませんですわー

534デフォルトの名無しさん (ワッチョイ 5f4f-ozIc)2022/09/07(水) 22:55:46.20ID:N0bzWtYO0
>>524
そうね。ブロックスコープは確かに便利。
ただ、匙加減の問題にもなるけど
ブロックスコープに慣れるとついつい
単一責任原則の考え方がおざなりになりがちで
密結合なものを作ってしまい易くなる。

なので、あくまで俺はだけど
EXCELのVBAに関してはメソッドや関数の
頭に変数定義を行うようにしている。
それでコードが読み辛くなるようであれば
その時点でリファクタリングの対象になるという考え。

535デフォルトの名無しさん (ワッチョイ e7e6-gaJG)2022/09/07(水) 23:29:34.28ID:N0PmJDO50
でも誰も読まないんだよなー

536デフォルトの名無しさん (ワッチョイ 07da-oTx6)2022/09/07(水) 23:46:23.08ID:QgSPv1dJ0
ここの回答者は上級者なんだからVBAの事端から端まで知っていると思っていたんですけど??
なんでこんなに荒れているのですか?

537デフォルトの名無しさん (ブーイモ MM8f-d2Vm)2022/09/07(水) 23:51:19.61ID:oCHm3LOdM
VBAで単一責任て
そもそも表計算ソフトで画面やDBモドキ作ってる時点でおかしいと思わないのか

538デフォルトの名無しさん (ワッチョイ 5f42-JTsi)2022/09/08(木) 00:18:03.89ID:GEpvz+Yp0
知識と人間性には何も関係がないからじゃね

539デフォルトの名無しさん (ワッチョイ 07da-oTx6)2022/09/08(木) 01:29:45.47ID:ih3U5PTX0
だって回答者に回れるって事は知り尽くしてるって事なんでしょ?
ちょっと詳しいだけじゃ回答できるはずないもんね?

540デフォルトの名無しさん (ワッチョイ e7e6-gaJG)2022/09/08(木) 01:40:01.52ID:eb3KVsRH0
>>539
ソースは?
誰の発言?

541デフォルトの名無しさん (ワッチョイ 5f01-yqJ9)2022/09/08(木) 04:43:57.30ID:dSUuwrfW0
>>534
なので、の前後の関係がよくわからん
> EXCELのVBAに関してはメソッドや関数の頭に変数定義を行うようにしている。
それこそ余計蜜結合になるかと

542デフォルトの名無しさん (ワッチョイ 7fda-ZqlE)2022/09/08(木) 06:11:23.79ID:vw1M88UR0
誰が上級者と認定したん?
ここのカキコに資格試験なんかあるかいな・・・

回答が使えるかどうか、正しいかどうかが全てじゃ。

543デフォルトの名無しさん (ワッチョイ 47da-XSui)2022/09/08(木) 06:33:16.02ID:13BgqVgC0
どこで宣言するか問題って、画面上部をスクロールせず固定出来るようになれば解決するんだろうな。
エクセルは出来るんだから、VBAの画面も出来るようにして欲しいものだ。

544デフォルトの名無しさん (アウアウウー Sa8b-hVXw)2022/09/08(木) 06:54:06.36ID:9KZ4CtoQa
>>543
VBEは昔ながらのUIなので垂直スクロールバーの上部を下にドラッグすると同一オブジェクトコードの水平分割表示ができるけれど

545デフォルトの名無しさん (ワッチョイ 5f4f-ozIc)2022/09/08(木) 08:07:26.88ID:YfOXyicz0
>>541
分かり辛かったかな?
平たく言うと変数が何に使っているか分かり辛くなるような長いコードをひとつの関数やメソッドに書くなということ。

そもそもひとつの関数やメソッドにはひとつの役割だけ持たせるべきで、そうした場合、変数が何に使ってるか分からないくらい長くなること自体あまりないし、
それで長くなるようであればそもそもの作りがおかしいのでリファクタリングの対象とする、ってことなんだけどね。

546デフォルトの名無しさん (アウアウウー Sa8b-Ro21)2022/09/08(木) 09:21:51.81ID:JEMfdspaa
VB/VBA/ExcelもAccessもOfficeごと窓からポイッ

547デフォルトの名無しさん (ワッチョイ 5f01-yqJ9)2022/09/08(木) 10:06:01.26ID:dSUuwrfW0
>>545
> 平たく言うと変数が何に使っているか分かり辛くなるような長いコードをひとつの関数やメソッドに書くなということ。
それ変数の宣言位置とは違う話だろ
まあ先頭に変数宣言するメリットを説明できないならいいや、バイバイ

548デフォルトの名無しさん (ワッチョイ 5f4f-ozIc)2022/09/08(木) 11:40:59.40ID:YfOXyicz0
>>547
なんで?
どうせ同じ関数内で同じ名称の変数なんて作れないんだから
全部纏めて同じ位置にあった方が「この変数はこのシチュエーションのときにこう言った意味で使う」とか命名し易いじゃん。

使ってる変数名を再宣言しようとして「あ」となることもないし、
同じ変数をバカみたいに使い回して本当は値変えると不味かったのに変えちゃったりとかアホなことも減るよ。

549デフォルトの名無しさん (ワッチョイ 5f4f-ozIc)2022/09/08(木) 11:47:17.27ID:YfOXyicz0
ま、そもそもそんなこと気にするくらい長いコード書いちゃいけないんだけどね。
そちらのレベルに合わせて話してもそれだけのメリットはあるよ。

550デフォルトの名無しさん (ワッチョイ 0701-w6dw)2022/09/08(木) 13:19:53.66ID:E2yDW5TJ0
Wordがどうしようもなく使いにくいので、
Excel VBAで代わりのツールを作りたいと思います。
こんな考え方は邪道でしょうか?

551デフォルトの名無しさん (ワッチョイ bf8c-KgU2)2022/09/08(木) 13:50:27.43ID:N6XG++JQ0
WordVBAを何故つかわない?
マウロ記録がないOutlookVBAやPowerpointVBAなら一瞬気持ちがわかるが

552デフォルトの名無しさん (ワッチョイ 27da-2LH/)2022/09/08(木) 14:17:07.18ID:Sm7a3fWy0
loopのカウンタを使用後に消さないと
順番入れ替えたらバグるとか気にする初心者にはvba向いてないと思う

553デフォルトの名無しさん (ワッチョイ 5f7c-Gzrn)2022/09/08(木) 16:06:28.64ID:e4Jhfn6X0
ワードにできることはエクセルでほぼ出来るからワードの使いかた忘れてしもた
しかし困ったことはない

554デフォルトの名無しさん (ワッチョイ 5f01-yqJ9)2022/09/08(木) 17:02:48.44ID:dSUuwrfW0
>>548
> 全部纏めて同じ位置にあった方が「この変数はこのシチュエーションのときにこう言った意味で使う」とか命名し易いじゃん。
コボル臭が... w
まあ使ってる近くにあれば宣言なども簡単に確認できるメリットより命名のメリットを重視する人もいるんだね

> 使ってる変数名を再宣言しようとして「あ」となる
んだから
> 同じ変数をバカみたいに使い回して本当は値変えると不味かったのに変えちゃったりとかアホなことも減るよ。
なんてなるわけないと思うけど?

555デフォルトの名無しさん (スフッ Sd7f-k3HK)2022/09/08(木) 19:47:18.35ID:wUuMBq/Ad
Excel → Markdown → Word アウトライン変換のマクロを作れば大分マトモになる予感
Excelの列で見出しを識別する感じで

556デフォルトの名無しさん (ワッチョイ 9e8c-ntgB)2022/09/10(土) 00:50:29.07ID:yQKHhevv0
intersect( activecell.ListObject.HeaderRowRange,activecell.EntireColumn).Address

テーブル上にアクティブセルがあり、そのセルの列ラベルのアドレスを調べたく
こんなのを書いたのですが、もっと他にイケてる書き方はないでしょうか

557デフォルトの名無しさん (ワッチョイ ead8-RGdV)2022/09/10(土) 10:48:25.59ID:+u60WJ7w0
activeCell.End(xlUp).Address は?
上に隣接する別のテーブルがないことが条件だけど

558デフォルトの名無しさん (ササクッテロレ Spbd-0QGi)2022/09/10(土) 15:51:20.36ID:qRafw5tCp
>>557
それだとテーブルが1行目開始でなくて
テーブルの項目名の部分にアクティブセルがあった場合は
テーブルから離れた位置にカーソルが行ってしまうな

559デフォルトの名無しさん (ワッチョイ 5d10-V+uT)2022/09/11(日) 01:14:19.08ID:W9G67fQJ0
バイナリデータの書き込みについて質問です。
hello という文字列をいったんバイナリにしてファイル書き込みするような
プログラムを書いているのですが、書き込みすると
h e l l o
というように変なゴミが入ってきます。
vbaではバイナリデータの書き込みは完全にはできないということなのでしょうか。

該当コード
https://ideone.com/MDI6yW

560デフォルトの名無しさん (ワッチョイ 5d10-V+uT)2022/09/11(日) 01:15:18.73ID:W9G67fQJ0
書き込みすると変なゴミデータが見えなくなってしまいましたが、要するに
正確に半角英数字でhelloという文字が再現できないのです。

561デフォルトの名無しさん (アウアウウー Sa21-dMtT)2022/09/11(日) 01:27:32.82ID:PnV//sAoa
>>560
どういう内容なのかダンプして確認しないのかい?

562デフォルトの名無しさん (ワッチョイ f1ce-Mjbb)2022/09/11(日) 01:41:57.90ID:yPB6Wd0g0
>>559
Option Explicit
Sub main()
  Dim bs(4) As Byte
  bs(0) = Asc("h")
  bs(1) = Asc("e")
  bs(2) = Asc("l")
  bs(3) = Asc("l")
  bs(4) = Asc("o")
  Dim fn As Integer: fn = FreeFile
  Dim fpath As String: fpath = "C:\指定のパス\output.txt"
  Open fpath For Binary As #fn Len = 1
  Dim i As Integer
  For i = LBound(bs) To UBound(bs)
    Put #fn, , bs(i)
  Next i
  Close #fn
End Sub

563559 (ワッチョイ 5d10-V+uT)2022/09/11(日) 01:50:58.58ID:W9G67fQJ0
>>562
for each で受ける変数をvariant型にするとうまくいかんということですか?
open の変数にLen=1(1バイトごと)っていれられるんですね。

564デフォルトの名無しさん (ワッチョイ a5cd-OdF3)2022/09/11(日) 01:53:10.28ID:yv0WXRwp0
>>559
説明はちゃんと読もう
vbaはかなりゆるゆる言語なので、なるべくvbaにあわせたコードにしたほうがいい
https://docs.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/put-statement

>書き込まれる変数が 数値型の Variant である場合は、Put により、Variant の VarType を識別する 2 バイトが書き込まれた後に、変数が書き込まれます。
こんなもん追いかけてられんよ
ステートメントは極力使わず、関数にした方がいいと思う

もう少し言うと、実現したい事を直接聞いた方がいい。
vbaでバイナリとかめんどくさすぎて誰もやってないので、
できるかどうかなんてあんまりみんな分かってない

>>561
してもあんま意味ないだろ

565デフォルトの名無しさん (ワッチョイ f1ce-Mjbb)2022/09/11(日) 02:05:46.07ID:yPB6Wd0g0
>>563
Len = 1 にしても無駄
あと、EachはVariantしか使えない

>>564
ところがバイナリダンプしてみると1文字あたり2バイトしか書き込まれてないんだよな
その説明の通りだと3バイトずつ書き込まれるはずなのに

566デフォルトの名無しさん (アウアウウー Sa21-dMtT)2022/09/11(日) 02:07:03.03ID:W5Eoe6lQa
>>564
今回はもう結果が出ているけれど、入出力を行ったら確認しないのか?
出力結果から意図するものとどう異なるかによって予測できる場合もあるだろ

567559 (ワッチョイ 5d10-V+uT)2022/09/11(日) 02:11:34.10ID:W9G67fQJ0
>>564
正直説明一々読むの大変なのでここで聞いてそのあたりをつけようと思ってます。

>ステートメントは極力使わず、関数にした方がいいと思う
ちょっとここがよくわからないんですがどういうことですか。

>もう少し言うと、実現したい事を直接聞いた方がいい。
vbaの練習のためにとりあえずbase64エンコーディングを実装しようとしてました。
エンコーディングはできました。デコードでつまづいて格闘してましたが、デコードもとりあえずできました。
つぎは、bmpファイルを読み込んで1x1pixcelに縦横絞ったセルのシートに画像表示させるとか
やろうと思ってます。

568デフォルトの名無しさん (ワッチョイ a5cd-OdF3)2022/09/11(日) 02:12:49.77ID:yv0WXRwp0
>>565
3バイトずつだぞ
Excel VBA 質問スレ Part77 YouTube動画>1本 ->画像>5枚

569デフォルトの名無しさん (ワッチョイ a5cd-OdF3)2022/09/11(日) 02:19:41.47ID:yv0WXRwp0
>>567
結局やりたいことはライフゲームとか、画像処理だろう
vbaは、事務処理特化なんだ。本当にやめたほうがいい。

vbaでクリエイティブな事をやろうとすると、めちゃくちゃ遅い
入出力用のセルがすごく見やすいのはわかるんだけど、別言語でやったほうがいい
具体的に言うとC#かvb.netがいい。
jsならそのままアプリにも移行できる

570559 (ワッチョイ 5d10-V+uT)2022/09/11(日) 02:24:11.91ID:W9G67fQJ0
とりあえず入門したいんで、アルゴリズムわかるやつ実装してるだけなんであんま考えてない。
最終的には機械学習実装できりゃいいなと思ってるんで、bitmap表示実装できたら
vbaでそこまでやるレベルになるかなと。

571デフォルトの名無しさん (ワッチョイ a563-4cRe)2022/09/11(日) 02:44:48.34ID:+Dglx5gI0
vbaの使い方間違ってますよ

572デフォルトの名無しさん (アウアウウー Sa21-+Wio)2022/09/11(日) 11:47:30.27ID:scHPWuyOa
他人が何をやろうと勝手なんだから質問にこたえないなら放置すればいいと思うけど
説教野郎って減らないよね

573デフォルトの名無しさん (スプッッ Sd0a-JgIN)2022/09/11(日) 13:01:03.57ID:qfkrXmQcd
>>567

>正直説明一々読むの大変なのでここで聞いてそのあたりをつけようと思ってます

死ね

574デフォルトの名無しさん (ワッチョイ 6ada-JF91)2022/09/11(日) 13:48:26.08ID:4omWB5g70
いや、普通に頭くるだろ?
ダメダメな使い方してると

575デフォルトの名無しさん (スッププ Sd0a-vfPx)2022/09/11(日) 17:18:35.58ID:9MrulJbSd
>>569
ライフゲームってなんなのかグーグルで検索したら
結果ページ上で勝手にライフゲームが始まってたわ
さすがグーグル

576デフォルトの名無しさん (ワッチョイ 11da-kBqH)2022/09/11(日) 18:42:32.58ID:+bJdyqft0
>>575
気づいたときにはライフがゲームオーバーになってるよ

577デフォルトの名無しさん (ワッチョイ f1ce-Mjbb)2022/09/11(日) 20:43:41.22ID:yPB6Wd0g0
本当だ
ブラウザの背景でライフゲームが動いてるw
無駄な機能多すぎるだろGoogle

578デフォルトの名無しさん (ワッチョイ 5e66-Ba9i)2022/09/11(日) 22:06:38.09ID:mrmcBHlY0
https://excel-ubara.com/excelvba5/EXCELVBA228.html
エクセルの神髄さんのところにあるクイックソートの引数について質問です
lngMinとlngMaxを必ず指定しないといけないようなのですが、
どんな数字を入れればいいのですか?

 vBase = argAry(Int((lngMin + lngMax) / 2))
こうなっていて、argAryインデックスの2倍を超える数値は入れられないようです。
インデックスとしての真ん中であるなら関数側でuboundとかlboundとかから計算すればいいように思いました。

バブルソートやインサートソートと違ってイマイチやってる事がわからないので、
lngMinとlngMaxの引数にいれるべき数値がわかる方おられましたら教えてください。

579デフォルトの名無しさん (ワッチョイ 9e8c-ntgB)2022/09/11(日) 22:37:51.72ID:3GTYFVAp0
>>578
配列のうちでどこをソートするか指定できるようになってるんじゃないですかね

580デフォルトの名無しさん (ワッチョイ ead8-RGdV)2022/09/11(日) 22:42:49.09ID:6zTUjY+M0
>>578
ソートしたいレンジの最初と最後のインデックス
クイックソートは最初にピボットを決めてそれより小さいものをピボットより前に、大きいものをピボットの後ろに移動して、ピボットの前の区間と後ろの区間をそれぞれクイックソートする方法を繰り返す

ピボットの決め方は色々あるけど、その人は配列の真ん中のオブジェクトを選んでるだけ。ランダムに選ぶと平均的には最も良い結果が得られるけど、もうひと手間かかる

581デフォルトの名無しさん (テテンテンテン MM3e-HjAo)2022/09/12(月) 01:30:49.61ID:0s0pxnwOM
ユーザーフォーム内のコマンドボタンではfunctionの呼び出しはできない仕様でしょうか?
似たようなコードのボタンがあり、特定ブックを取得するための同じコードを全部のボタンに書いています
ごちゃごちゃしてしまっているのできれいにしたかったのですが、functionが呼び出せず変数が空でエラーになってしまいます

582デフォルトの名無しさん (ワッチョイ e6bb-I+3W)2022/09/12(月) 07:39:53.33ID:STPpGgy+0
>>581
呼び出し出来るよ。そのエラーになったコードをここに書いてもらえれば原因がわかるかと。

583デフォルトの名無しさん (アウアウウー Sa21-bmfI)2022/09/12(月) 11:53:11.04ID:fWVKyvtQa
sub から呼ぶとか

584578 (ワッチョイ 5e66-Ba9i)2022/09/13(火) 09:42:49.11ID:g8hgly2P0
>>579
やってみたら確かに!驚きです。
>>580
クイックソートって発明品みたいなものですよね。
人間が手動で並べ替えても慣れる程にクイックソートみたいなやり方が高速になっていくんですかね。

皆さんありがとうございました。

585デフォルトの名無しさん (ワッチョイ 1149-N23U)2022/09/13(火) 10:05:15.02ID:kJFB2T9s0
いえいえ

586デフォルトの名無しさん (テテンテンテン MM3e-++ih)2022/09/13(火) 23:06:23.52ID:m4C/g6mCM
>>582
フォームが3階層くらいありますが

1.モジュールからフォームの呼び出し
Sub commentForm()

rowBtn = ActiveSheet.Shapes(Application.Caller).TopLeftCell.Row
colBtn = ActiveSheet.Shapes(Application.Caller).TopLeftCell.Column

大分類.Show vbModeless

End Sub

587デフォルトの名無しさん (テテンテンテン MM3e-++ih)2022/09/13(火) 23:09:43.50ID:m4C/g6mCM
すみません、1つ目フォーム呼び出しのモジュール内に以下のコードがあります
Public ShIndex As String

2階層目で3つの大分類の選択

2.分類選択
Private Sub CommandButton1_Click()

'コマンドボタンのタイトル反映 ※エクセルのセルを反映させています。
中分類.CommandButton1.Caption = Worksheets("2-1").Range("C1").Text
中分類.CommandButton2.Caption = Worksheets("2-2").Range("C1").Text
中分類.CommandButton3.Caption = Worksheets("2-3").Range("C1").Text
中分類.CommandButton4.Caption = Worksheets("2-4").Range("C1").Text
中分類.CommandButton5.Caption = Worksheets("2-5").Range("C1").Text

中分類.Show vbModeless

End Sub

588デフォルトの名無しさん (テテンテンテン MM3e-++ih)2022/09/13(火) 23:11:31.11ID:m4C/g6mCM
3.さらに次の分類へ

Private Sub CommandButton1_Click()

ShIndex = "2-1"

'コマンドボタンのタイトル反映 ※エクセルのセルを反映させています。

中分類1.Caption = Worksheets(ShIndex).Range("C3").Value
中分類1.CommandButton1.Caption = Worksheets(ShIndex).Range("D3").Value
中分類1.CommandButton2.Caption = Worksheets(ShIndex).Range("D7").Value
中分類1.CommandButton3.Caption = Worksheets(ShIndex).Range("D11").Value
中分類1.CommandButton4.Caption = Worksheets(ShIndex).Range("D15").Value

中分類1.Show vbModeless
End Sub

589デフォルトの名無しさん (テテンテンテン MM3e-++ih)2022/09/13(火) 23:36:32.69ID:m4C/g6mCM
4,最終の選択ボタン
コメントアウトの範囲内をfunction(wbSerch)として、値を返して変数を使用したいです
Private Sub CommandButton1_Click()
Dim wbRepName As String
'########## ここから ##########
Dim i As Long
Dim wb As Workbook
Dim wbFullPath As String
For i = 1 To Workbooks.Count
Set wb = Workbooks(i)
If wb.FullName Like "*検索ワード*" Then ' * *に挟まれた文字を含むブックを検索する
wbFullPath = wb.FullName
Exit For
End If
Next
Dim pos As Long
pos = InStrRev(wbFullPath, "\")
If (pos > 0) Then
wbRepName = Right(wbFullPath, Len(wbFullPath) - pos)
End If
'########## ここまで ##########
Dim rowRep As Long
rowRep = Worksheets("シート名").Cells(rowButton, "Q").Value
Dim num As Long
num = 1
If Workbooks(wbRepName).ActiveSheet.Cells(rowRep + 1, "H") = "" Then
Workbooks(wbRepName).ActiveSheet.Range(Workbooks(wbRepName).ActiveSheet.Cells(rowRep + 1, "H"), Workbooks(wbRepName).ActiveSheet.Cells(rowRep + 2, "H")) = _
Worksheets(ShIndex).Range(Worksheets(ShIndex).Cells(3 + (num - 1) * 4, "E"), Worksheets(ShIndex).Cells(3 + (num - 1) * 4 + 1, "E")).Value
End If
Workbooks(wbRepName).ActiveSheet.Range(Workbooks(wbRepName).ActiveSheet.Cells(rowRep + 4, "H"), Workbooks(wbRepName).ActiveSheet.Cells(rowRep + 7, "H")) = _
Worksheets(ShIndex).Range(Worksheets(ShIndex).Cells(3 + (num - 1) * 4, "F"), Worksheets(ShIndex).Cells(3 + (num - 1) * 4 + 3, "F")).Value
End Sub

590デフォルトの名無しさん (テテンテンテン MM3e-++ih)2022/09/13(火) 23:37:53.43ID:m4C/g6mCM
コードをアップする際に一部書き換えで変数が微妙に違うのは許してくださいw

591デフォルトの名無しさん (ワッチョイ 592f-aQ9k)2022/09/14(水) 01:24:17.40ID:jzWlgqKP0
>>589
大量のコード張るなら、どっかコード張るサイトあるからそこ使ってくれ

>コメントアウトの範囲内をfunction(wbSerch)として、値を返して変数を使用したいです
やれば良いとしか
自分でやって動かなかったっていうコード出せよ
エラーが出たならエラー内容も

Functionが呼び出されないんじゃなくて、呼び出したけど値を返してないか
返された値をちゃんと受け取ってないんじゃないかと予想したがな

592デフォルトの名無しさん (ワッチョイ e6bb-I+3W)2022/09/14(水) 05:04:23.30ID:Pxkwm+eH0
>>589
色々気になるところばかりですが、Functionだけについていうと

Public Function プロシージャ名() As String
'処理
プロシージャ名 = ファンクション内で作成した文字列
End Function

という感じで作って、呼び出す側は下記で

wbRepName = ファンクション名

593デフォルトの名無しさん (スプッッ Sdea-mOAX)2022/09/14(水) 08:09:29.31ID:wHV8fEyKd
>>592
ありがとうございます
やっぱりそれでいいんですよね
とりあえず動かないのは困るので、関数を呼び出すコードは削除してしまったのでまたやり直してみます

適当にネットで検索して継ぎはぎしているのですが、これはやめた方がいいみたいなところがあれば教えていただけると

594デフォルトの名無しさん (スプッッ Sdea-mOAX)2022/09/14(水) 08:09:41.99ID:wHV8fEyKd
>>592
ありがとうございます
やっぱりそれでいいんですよね
とりあえず動かないのは困るので、関数を呼び出すコードは削除してしまったのでまたやり直してみます

適当にネットで検索して継ぎはぎしているのですが、これはやめた方がいいみたいなところがあれば教えていただけると

595デフォルトの名無しさん (ワッチョイ ead8-RGdV)2022/09/14(水) 10:47:45.73ID:DQiHAQaU0
>>594
ネットで継ぎはぎはやめたほうがいい

596デフォルトの名無しさん (ワッチョイ 6ada-JF91)2022/09/14(水) 14:30:03.63ID:AS+oyxbj0
継ぎはぎっていちばんやってはダメな事でしょ
不具合でたら修正困難

597デフォルトの名無しさん (スプッッ Sd0a-JgIN)2022/09/14(水) 14:39:07.90ID:xmB1xf8ad
>>594
お前みたいな奴がVBAを使うのはやめた方がいい

598デフォルトの名無しさん (ブーイモ MM3e-lqbG)2022/09/14(水) 14:44:22.14ID:x3WDqTpPM
それな

599デフォルトの名無しさん (アウアウウー Sa21-bmfI)2022/09/14(水) 15:01:12.80ID:9jzC7a23a
ネットの情報をうのみにするのはよくない

600デフォルトの名無しさん (ラクッペペ MM3e-jm1v)2022/09/14(水) 15:23:36.39ID:mWSu9Hj1M
特にここの奴らの言うことなど……

601デフォルトの名無しさん (ワッチョイ 6ada-JF91)2022/09/14(水) 16:32:30.56ID:AS+oyxbj0
このスレも含めてネットをなんでもかんでも鵜呑みにしないように。

602デフォルトの名無しさん (ワッチョイ ea4f-0QGi)2022/09/14(水) 20:19:10.06ID:qlFB5bFT0
むしろガンガンコードのコピーでも継ぎはぎだらけでも何でもやれ
それで痛い目を見れば二度とやらなくなるだろう
ただし、他の人に迷惑を掛けない範囲でな

603デフォルトの名無しさん (ブーイモ MM3e-f1GR)2022/09/14(水) 20:25:13.51ID:tyPb8uvVM
継ぎ接ぎでもなんでも動きゃいいよVBAなんて

604デフォルトの名無しさん (ワッチョイ f1ce-Mjbb)2022/09/14(水) 22:09:32.51ID:LR6kMMNU0
どんなにひどいコードを書こうが仕事は結果がすべて
過程を見て部分点がもらえるのは高校まで

605デフォルトの名無しさん (ワッチョイ 6dda-kUnK)2022/09/14(水) 23:32:37.08ID:XFOFR3Sy0
ひどいコード書いて、エクセルに殴られたら嫌だなあ

606デフォルトの名無しさん (スップ Sdea-tpie)2022/09/15(木) 02:24:16.54ID:mZ1kOEzbd
>>604
馬鹿はメンテナンスのことを考えない
こういう馬鹿がいるからVBAが禁止の会社が出てくる

607デフォルトの名無しさん (ブーイモ MM3e-lqbG)2022/09/15(木) 07:02:34.29ID:K2oLP0MfM
と、馬鹿が申しております。

608デフォルトの名無しさん (スッププ Sd0a-vfPx)2022/09/15(木) 07:47:29.25ID:p0uH79QOd
VBA禁止はメンテがどうのこうのじゃなくて
スキルが低い人間が酷い結果をもたらすコードを書いてしまうからじゃね
下手に書くと他人の労働の成果が一瞬にして無に帰すからね

609デフォルトの名無しさん (スッップ Sd0a-rZts)2022/09/15(木) 08:13:47.40ID:V+/rW9Cpd
そもそもエクセル側でVBA使ってごちゃごちゃやる職場がセンス無い

エンジニアが管理画面を作ってVBAでやってた処理をそっちでやって、事務系の人は管理画面からcsvを落としてそれをまんま使うぐらいが良い

610デフォルトの名無しさん (ワッチョイ 5d79-VPVD)2022/09/15(木) 08:15:36.60ID:HISUe1p20
ほいきたばーかばーか

611デフォルトの名無しさん (ワッチョイ 5d79-VPVD)2022/09/15(木) 08:16:33.94ID:HISUe1p20
CSVって発想がだめだね
プロは引用符も不要になるTSVを使う
うんこ

612デフォルトの名無しさん (ワッチョイ 6610-rZts)2022/09/15(木) 08:20:49.72ID:tsRCCw+k0
いや事務員にはcsvがちょうどいいよ
tsv開けませ~んとか言われるだけ
もっと目線を合わせろ技術キモオタ

613デフォルトの名無しさん (ワッチョイ 5d79-VPVD)2022/09/15(木) 10:16:19.88ID:HISUe1p20
TSVはメモ帳で開いて全選択のコピペでシートに貼り付けできるんだよ
見事に馬鹿が露呈したな

614デフォルトの名無しさん (ワッチョイ ea4f-0QGi)2022/09/15(木) 11:34:27.47ID:9BPOZrDw0
いやいや
そこは用途に合わせようよ
PDFやEXCEL出力した場合が良い場合もあるよ

615デフォルトの名無しさん (ワッチョイ 6ada-JF91)2022/09/15(木) 14:52:36.98ID:5XNYG1220
なんで事務員がエラーの対処法を知らないんだよ。。
毎日いじってるから一通りの対応はできるだろ?

616デフォルトの名無しさん (ワッチョイ ea4f-0QGi)2022/09/15(木) 16:19:16.15ID:9BPOZrDw0
エラーの対処法「システム部にお問合せ下さい。」

617デフォルトの名無しさん (ワッチョイ 6ada-JF91)2022/09/15(木) 19:11:05.38ID:5XNYG1220
そんなのExcelできる事務員じゃないわ!

618デフォルトの名無しさん (ワッチョイ 6a42-ZPoQ)2022/09/15(木) 19:27:19.21ID:2CSrOwDy0
最低限のことしかできないって人結構いるけどな

619デフォルトの名無しさん (ワッチョイ aa59-2Uj+)2022/09/15(木) 19:44:47.37ID:bsuDXGPV0
ボタン押してるだけの事務いるいる。

620デフォルトの名無しさん (ワッチョイ b501-V+uT)2022/09/15(木) 20:05:30.90ID:/Qo8z/Hb0
ボタンの押し方で仕上がりが変わる。
優秀な事務員はボタンの押し方が素晴らしい。
日本の技術は世界一。

621デフォルトの名無しさん (US 0H1d-wT9X)2022/09/15(木) 20:17:03.66ID:QyIKtajFH
>>608
いいえ、コードは汚いしドキュメントを残さないので、便利であってもレガシーとなってしまうからですよ

622デフォルトの名無しさん (ワッチョイ 6ada-JF91)2022/09/15(木) 22:23:17.31ID:5XNYG1220
事務員=Excelを極めている

623デフォルトの名無しさん (ワッチョイ ea2c-aQ9k)2022/09/15(木) 22:31:56.27ID:QsPmWhIy0
VBA のファイル・テキスト処理などは、Ruby に比べて、圧倒的に可読性が悪い。
作った瞬間から、修正できない産業廃棄物となるw

だから、常に廃棄して新規開発しているw

624デフォルトの名無しさん (ワッチョイ 6a7c-BycT)2022/09/16(金) 00:12:03.43ID:vQLtnuER0
VBAで複雑なものを作ろうという思考がおかしい
適当に組んで動きゃいい程度のスクリプトだろ

625デフォルトの名無しさん (ワッチョイ 5d79-VPVD)2022/09/16(金) 00:37:32.30ID:df81Cjlt0
VBAに飽きたらVBSがいいよ
VBAの枷から開放される

626デフォルトの名無しさん (スッププ Sd0a-vfPx)2022/09/16(金) 00:40:41.66ID:o9yhfyBVd
>>621
いいえ、レガシーとなることの問題は認めるけど、それは禁止になる理由とはならないわ

627デフォルトの名無しさん (ワッチョイ 6ada-JF91)2022/09/16(金) 02:37:02.68ID:l4bz3k9Q0
他人がどんなに良いコードを書いてあろうが、容赦無く切り捨ててイチから書き直すのがプログラマーだと聞いたからよ

628デフォルトの名無しさん (スップ Sdea-tpie)2022/09/16(金) 04:32:30.78ID:UN95gjXqd
>>627
他人から聞いたことを鵜呑みにする馬鹿

629デフォルトの名無しさん (ワッチョイ ea4f-0QGi)2022/09/16(金) 09:26:48.43ID:jiIjsvyj0
そもそもなんだけど
どんなPG言語使ったって綺麗に書く人は綺麗に書くし
ぐちゃぐちゃにする人はぐちゃぐちゃにする

630デフォルトの名無しさん (アウアウウー Sa21-bmfI)2022/09/16(金) 11:41:36.71ID:eDTruZ7Ya
だからほっとけばいい
自分の担当部分だけ直す

631デフォルトの名無しさん (スッップ Sd0a-+Wio)2022/09/16(金) 13:52:21.47ID:Zuqq5jJMd
自分の書くコードと自分に影響する人が書くだけ気にすればいいのに
無関係の人が書くコードなんてきたなかろうがどうでもいいのにな

632デフォルトの名無しさん (ワッチョイ 11da-OdF3)2022/09/16(金) 20:53:11.37ID:IL7FnXUn0
>>627
プログラマーはプログラムを書く人だし、設計すればエンジニアだし、営業や事務処理をすることもあるよ
会社員ならわかると思うが他人のコードは他人の給料、自分のコードは自分の給料になるってわかるよね?

633デフォルトの名無しさん (ワッチョイ 9fda-VcJj)2022/09/17(土) 00:16:02.34ID:lfSciaka0
ならねぇよ。
コード書くだけで給料貰えるとかいつの時代だよ?

634デフォルトの名無しさん (スップ Sd3f-w3i5)2022/09/17(土) 02:03:15.93ID:Q8wI91eUd
下請けの下請けのそのまた下請けの派遣だろ

635デフォルトの名無しさん (ワッチョイ b7da-Mvi4)2022/09/17(土) 14:40:46.13ID:P15Vbqti0
書けないでコピペするやつのひがみw

636デフォルトの名無しさん (アウアウウー Sa5b-VcJj)2022/09/17(土) 16:20:56.81ID:93E6/MjHa
コピペばかりのヤツってある意味恥ずかしく無いのかや?
知識ありませーん!
あるのはコピペのスキルだけです!
と、言っているようなモノだぜ。

637デフォルトの名無しさん (ブーイモ MM8f-zSYE)2022/09/17(土) 18:06:13.42ID:T834+5z1M
コピペを極めるとオブジェクト指向になるのかもしれんな

638デフォルトの名無しさん (ワンミングク MM7f-s8OL)2022/09/17(土) 20:26:19.25ID:eUUvOszSM
オブジェクト指向って奥深いな

639デフォルトの名無しさん (ワッチョイ b7da-E+l9)2022/09/17(土) 20:30:59.86ID:P15Vbqti0
コードのコピーじゃなくアプリをコピーして販売したら違法だからな

640デフォルトの名無しさん (ワッチョイ 9fda-VcJj)2022/09/17(土) 20:39:13.29ID:lfSciaka0
でも現実はコピペ野良マクロ職人が各職場に溢れているんでしょ?

641デフォルトの名無しさん (アウアウウー Sa5b-T84e)2022/09/17(土) 21:30:27.81ID:c/Rfax+qa
何もかもは覚えられんからそりゃみんな多少はコピペするでしょな。
問題はちゃんと意味わかって使いこなして、修正や変更の対処ができるかどうか。

642デフォルトの名無しさん (ワッチョイ bf8c-n7fR)2022/09/17(土) 21:33:47.44ID:VC1vunq70
アマチュアはコピペと卑下するけど
プロは既存コードの利用と言って車輪の再発見で悦んでいる給料泥棒はクビにする

って誰かが言ってた

643デフォルトの名無しさん (スップ Sd3f-w3i5)2022/09/17(土) 23:02:08.58ID:Q8wI91eUd
>>642
参考にするのとコピペは違う
お前、>>627の馬鹿だろ

644デフォルトの名無しさん (ワッチョイ 9fda-VcJj)2022/09/17(土) 23:46:26.93ID:lfSciaka0
>>643
そうやってすぐ他人と同一人物と決めつけるヤツの方が余程バカだと思うけどな。
あ、思い込み癖のある病気かゴメンゴメン。

645デフォルトの名無しさん (ワッチョイ 775f-lYqs)2022/09/18(日) 05:37:23.90ID:kct9LvbO0
とあるアルゴリズムはコピペして使ったな

646デフォルトの名無しさん (アウアウウー Sa5b-bNpc)2022/09/18(日) 06:53:23.17ID:6BtvF8DRa
アルゴリズムは脳内コピペで使ってる
でないと例えばクイックソートなんて一生思いつかんし

647デフォルトの名無しさん (ワッチョイ 9f4f-500c)2022/09/18(日) 08:41:21.39ID:flQCTRcU0
参考という意味でならコピペすることはあるね。
訳も分からずただ貼り付けて使うのは論外だと思うけど。

648デフォルトの名無しさん (ワッチョイ fff2-5MWm)2022/09/18(日) 10:16:08.09ID:Nn59gXvs0
gitやらスニペットやらの今時機能たちを使う試みはよく見ますが
皆さんはどうされていますか

649デフォルトの名無しさん (スッップ Sdbf-L5JY)2022/09/18(日) 10:25:50.10ID:XVqHa/Kgd
>>648
VBAの使用を必要最小限に留める

650デフォルトの名無しさん (スップ Sdbf-okD4)2022/09/18(日) 11:33:12.72ID:Nkc7aKdEd
回答の出なくていい話題ばかりでレスが増えてうんざりだな

651デフォルトの名無しさん (アウアウウー Sa5b-8eP5)2022/09/18(日) 13:38:06.64ID:KpBP36NGa
VBAはオワコン
excelもオワプリ

652デフォルトの名無しさん (ワッチョイ 9f7c-zSYE)2022/09/18(日) 13:39:06.35ID:RKuP+gWA0
>>650
そして一番の問題はそれなのにお前が来て文句を書きなぐることか

653デフォルトの名無しさん (ワントンキン MM7f-s8OL)2022/09/18(日) 15:31:19.98ID:umLTL+l4M
>>651
代替ソフトは?

654デフォルトの名無しさん (ワッチョイ 1f32-TDLd)2022/09/18(日) 16:13:20.55ID:wwX2JCe10
VBAと他言語できる人にしつもん
今までVBAしか知らなくていま他言語勉強してます
VBAだったらエクセルのシートに書いとけば良かったデータとか
一体どこに書いとけばいいのかしら
プログラム内の配列とかじゃ電源切ったら消えちゃうでしょう
やっぱデータベースソフトとか別にいるの?
言語はPythonとC
記録したいのは株価の過去データとかです

655654 (ワッチョイ 1f32-TDLd)2022/09/18(日) 16:25:19.20ID:wwX2JCe10
ちなみにSQLとかあるのは知ってますが
数千行程度のデータでもそんなの使わなくちゃいけないのでしょうか
また別に勉強しなくちゃなんないし、面倒くさい
もっと楽な方法ないもんかと(´・ω・`)

656デフォルトの名無しさん (ワッチョイ bf8c-n7fR)2022/09/18(日) 16:34:05.92ID:K8Zbj7cX0
データベースの導入が敷居が高く億劫と思うのならば
Pythonから慣れているexcelファイルを操作すればよい
そしてプログラムを組んでいるうちにいろいろ面倒で非効率である感じ
データベースの素晴らしさに気づいたときにデータベースを始めればよい

確かにpythonとデータベースを同時に学習するのは大変だよね

657デフォルトの名無しさん (アウアウウー Sa5b-bNpc)2022/09/18(日) 16:45:16.35ID:aJoH8T5Ea
>>655
> もっと楽な方法ないもんかと(´・ω・`)
はい、解散!

658デフォルトの名無しさん (ワッチョイ 9f7c-6caV)2022/09/18(日) 16:46:45.71ID:Ufv82Dax0
>>654
VBAで作ったのをGoogleスプレッドシートに移行しつつある。
シートを複数人で同時参照できるとかメリットも多い。

659デフォルトの名無しさん (スップ Sd3f-w3i5)2022/09/18(日) 16:47:16.95ID:si+E4x/dd
csv,tsv,xml,データベースとか色々あるだろ
そういうのが難しいと思うならやめとけ

660デフォルトの名無しさん (ワッチョイ 9fd8-N4dH)2022/09/18(日) 17:54:45.16ID:69Jy4am90
>>654
Python のオブジェクトとしてデータがもう手元にあるなら pickle でそのままディスクに残せる。もしくは csv か json に出力するか
データベースでもsqliteならサーバー立てる必要もない

661デフォルトの名無しさん (アウアウウー Sa5b-VcJj)2022/09/18(日) 17:57:42.22ID:qB0Seojna
>>651
そう
そしてお前らもここも終わり

~終了~

662デフォルトの名無しさん (スップ Sdbf-okD4)2022/09/18(日) 18:49:48.79ID:Nkc7aKdEd
>>654
「とか」に何が含まれるかしらんけどその程度のデータならDBなんて使わなくても
今まで通りExcelブックでもいいし、テキストファイルでもなんでもいいのでは
今時の言語(ツール)ならそれぞれのデータにアクセスするライブラリもあるから
質問にある内容だけなら言語なんてなに使っても問題ない

>>655
自分ができる中で楽な方法を探すならまだしもできないことだらけで楽な方法なんてないんじゃない
お金があるなら外注で作ってもらえば楽かもね
世間にあるIT企業はそういうもんだし

663デフォルトの名無しさん (ワッチョイ 9fda-VcJj)2022/09/18(日) 19:07:54.85ID:N1Q6b8hc0
世の中は金あるヤツが強い

664654 (ワッチョイ 1f32-TDLd)2022/09/18(日) 19:53:45.66ID:wwX2JCe10
皆々様がたありがとう
とりあえず>>656氏の方針でいく

>>657
君はなにもわかっていない
他の商売は知らんがプログラマーの場合
「面倒くさい、なんか楽な方法ねえかな?」からスタートする
Zed Shawがそう言っている

665デフォルトの名無しさん (スップ Sd3f-w3i5)2022/09/18(日) 19:55:06.18ID:si+E4x/dd
はい、また他人の言葉を鵜呑みにする馬鹿でしたとさ

666デフォルトの名無しさん (ワッチョイ 9f01-bNpc)2022/09/18(日) 20:11:40.98ID:/3elu/X80
>>664
お前なにを勘違いしてるのか知らんけどプログラマーは
「楽をするためには苦労をいとわない」
という生物だぞ
単に楽をしたいなら>>662が言うように外注しろよw

667デフォルトの名無しさん (ワッチョイ 5701-dv3E)2022/09/18(日) 21:07:19.77ID:a87PubfG0
んなわけない。
そういうのは、安月給でヤリガイ搾取されてるような交渉力のないゴミムシ。

668デフォルトの名無しさん (ワッチョイ 9fda-VcJj)2022/09/18(日) 21:30:30.41ID:N1Q6b8hc0
このスレを含めてインターネットを鵜呑みにしてはいけません!

669デフォルトの名無しさん (ワッチョイ d7cd-W3aP)2022/09/18(日) 21:53:06.97ID:oVIBC1f90
>>655
vba、C#、python、web系色々と勉強してきたけど、
単純なデータの入出力だけならエクセルvbaがダントツで一番楽

超絶高機能なエクセルってものがあるのにわざわざ他言語を選ぶ理由がない
なおスプレッドシート+jsでも良い

670デフォルトの名無しさん (ワッチョイ 9f2c-ret5)2022/09/18(日) 22:11:40.89ID:JTgtpdd/0
プロのバックエンド・エンジニアなら、
YouTube で有名な雑食系エンジニア・KENTA の初心者向けRuby on Rails サロンが有名。
他には、RUNTEQ、東京フリーランスのデイトラなどもある

バックエンドは、Linux, Docker, AWS, データベース(DB)などが必須。
データベース・スペシャリストの資格があれば、部長クラス

RailsのO/R マッパーでは、DBの設計の仕方・組み方ばかり勉強する。
第3正規形、1対多・多対多とか、検索用インデックスの作り方など

671デフォルトの名無しさん (スップ Sd3f-w3i5)2022/09/18(日) 22:19:10.17ID:si+E4x/dd
>>670
釣り?それとも真正馬鹿?
それもいつものキチガイRubyクズ?

672デフォルトの名無しさん (ワッチョイ d7cd-W3aP)2022/09/18(日) 22:23:40.29ID:oVIBC1f90
rubyとかもうすぐ無くなる言語じゃん

673デフォルトの名無しさん (ワッチョイ bf8c-n7fR)2022/09/18(日) 22:27:42.29ID:K8Zbj7cX0
VBAももうすぐ無くなると言われてから延命してるな

674デフォルトの名無しさん (ワッチョイ 9fd8-N4dH)2022/09/18(日) 23:15:37.10ID:69Jy4am90
Rubyとか2005年で時間止まってる?

675デフォルトの名無しさん (ワッチョイ 9f7c-zSYE)2022/09/19(月) 01:07:42.95ID:iZ5Ix3Ky0
>>669
ほんとうにそう思う
データをシートに書けばいろいろ考える必要なくアクセスできるもんね
IDEでそういうとこが簡単にできるシートを作って欲しいもんだ

676デフォルトの名無しさん (ワッチョイ 9f74-mYk+)2022/09/19(月) 01:41:49.94ID:iY8r+Bg+0
この人もRubyがいいと言っている。



完全に時代遅れ。
もうむちゃくちゃ。
自分を客観視できていない。

677デフォルトの名無しさん (ワンミングク MM7f-+7S7)2022/09/19(月) 05:00:23.87ID:EY8w4DgiM
>>675
小規模なデータしか扱ったことのない馬鹿

678sage (ワッチョイ 1f32-TDLd)2022/09/19(月) 08:40:56.76ID:ReLBLDbZ0

なんか幼稚な煽りしてる奴いてるなあ
そんなことしてて楽しいのか

679デフォルトの名無しさん (スッププ Sdbf-iEjs)2022/09/19(月) 09:31:55.83ID:vK/zDm8+d
このまえ2000万レコード扱った時はC#でSQLite使った

680デフォルトの名無しさん (ワッチョイ b7ce-ldZd)2022/09/19(月) 10:27:41.73ID:WQozd2gd0
そろそろExcelもビッグデータを扱えるようにしないと時代に取り残される
最低2億レコードぐらいは一発で実用時間内で処理できないと

681デフォルトの名無しさん (ワイーワ2 FFdf-8eP5)2022/09/19(月) 11:09:06.92ID:NE4NRLG3F
tksqlite便利ですぉ

682デフォルトの名無しさん (ワッチョイ 9f42-cETI)2022/09/19(月) 11:17:10.29ID:/tS0t+5W0
それソフトよりもハードの問題じゃね

683デフォルトの名無しさん (ワッチョイ 5701-W3aP)2022/09/19(月) 14:37:24.08ID:Z9ZARiSG0
>>679
どうだった?
更新、遅くならんかった?

684デフォルトの名無しさん (スップ Sd3f-w3i5)2022/09/19(月) 14:45:49.33ID:LZxjUErQd
>>678
内容を理解できない馬鹿は黙っていればいいのに

685デフォルトの名無しさん (ワッチョイ 5701-W3aP)2022/09/19(月) 15:32:14.37ID:Z9ZARiSG0
>>680
アクセスでさえテーブル容量に2GBの制限bェあるらしいのbナ、エクセルにbサんなもの求めbトも仕方がないbフでは?

2GBでも、中小企業の在庫管理には十分だし。

エクセルの使い道がない人は、無理して使うものでもないと思います。

686デフォルトの名無しさん (スッププ Sdbf-iEjs)2022/09/19(月) 16:01:28.33ID:vK/zDm8+d
>>683
てか、VBAスレでその質問するからには、エクセルとの比較で聞いてるんだろうけど
そもそもエクセルでこのボリュームのデータ扱えないから比較できない
データベースファイルだけで4GB超えるから

687デフォルトの名無しさん (ワッチョイ 5701-W3aP)2022/09/19(月) 16:05:58.47ID:Z9ZARiSG0
>>686
SQLiteで2000万レコードについて聞いてますよ。
以前試したときは、ファイルが10GB超えるあたりから性能が悪化したんだけど、今はどうなのかなと思って。

688デフォルトの名無しさん (スッププ Sdbf-iEjs)2022/09/19(月) 16:10:19.86ID:vK/zDm8+d
>>687
遅いですよ
自分の用途だと十分だけど

689デフォルトの名無しさん (ワッチョイ 5701-W3aP)2022/09/19(月) 16:24:13.35ID:Z9ZARiSG0
そうですか。
ご親切にどうも。

690デフォルトの名無しさん (ワッチョイ bf66-hX9p)2022/09/19(月) 18:23:11.48ID:mA0CNwkF0
win10
office2019

VBAの相談なんですけど、test.xlsmというファイルで練習をしていて
エラーが出てエクセルが落ちてしまいました。
そのあと、復旧したファイルでコードチェックをしてエラーが出ないようになりました。
しかし、test.xlsmファイルを開くと「セキュリティに問題がある」うんぬんという警告が
そのファイルでだけ出るようになりました。

ささいな事ですが気になっています。
もしかして特定のコードを含んでいると出るのでしょうか?
ループ処理が多いとか。

691デフォルトの名無しさん (ワッチョイ 7702-W3aP)2022/09/19(月) 18:26:26.58ID:QQSMzDQg0
マクロの場合って必ずでなかったっけ

692デフォルトの名無しさん (ワッチョイ 9f01-bNpc)2022/09/19(月) 18:47:49.51ID:b1CdxAyP0
トラストセンターで有効にしておけば警告は出ないよ、って言うかこのスレにいる人ならほとんどこの設定にしてると思う
Excel VBA 質問スレ Part77 YouTube動画>1本 ->画像>5枚
あとは1番下の「VBA プロジェクト オブジェクト モデルへのアクセスを信頼する」がクリアされててtest.xlsmにコードを触るようなコードが入ってる場合ぐらいかな

693690 (ワッチョイ bf66-W3aP)2022/09/19(月) 21:28:16.87ID:mA0CNwkF0
>>692
ありがとうございます。
もともとそのチェックはどのファイルにも入っていませんでしたので、
触るコードを書いてるという事かと思います。
どんなコードが該当するのですか?
バグに気付けていない可能性もあるので、知りたいです。
オブジェクトモデルっていってもdictionaryを一回重複チェックで使ってるくらいで、
後はsetしてるのは条件付き書式とかworksheetとかworkbookとかrangeくらいでしょうか。
たいした事はしてないのですが、結構長くなってるので特定しづらいです。

694デフォルトの名無しさん (ワッチョイ 9f01-bNpc)2022/09/19(月) 21:42:09.79ID:b1CdxAyP0
>>693
> どんなコードが該当するのですか?
そんなもん説明しきれんわ
そもそも
> しかし、test.xlsmファイルを開くと「セキュリティに問題がある」うんぬんという警告がそのファイルでだけ出るようになりました。
のスクショなりを上げなよ

695デフォルトの名無しさん (スフッ Sdbf-EGtu)2022/09/19(月) 22:00:45.12ID:ai3lFfV6d
コードを新規作成したtest 2.xlsm にコピペしてみりゃ一発だろうに

696デフォルトの名無しさん (ワッチョイ 9f2c-ret5)2022/09/19(月) 22:01:05.04ID:s9D2fBDK0
>>679
Ruby on Rails では、2千社・2億レコードでも全く問題ないと、外人が言ってた

Railsでは、開発環境ではSQLite も使うが、
本番環境では、MySQL, PostgreSQL

Heroku では、PostgreSQL

>>676
セレブエンジニアの小松和貴は、反SES/Java で有名。
Java土方はうつ病になるから、やるなと言ってる

697デフォルトの名無しさん (スップ Sd3f-w3i5)2022/09/19(月) 22:05:09.07ID:LZxjUErQd
rubyみたいなオワコンを持ち上げるキチガイは消えろ

698デフォルトの名無しさん (ワッチョイ 9fda-VcJj)2022/09/19(月) 22:36:59.93ID:O/s366mO0
火に油を注ぐ発言はやめような

699デフォルトの名無しさん (US 0H7f-G1yF)2022/09/19(月) 23:45:50.71ID:A/Pc+E3NH
火に油を注ぐから楽しいのに

700デフォルトの名無しさん (ワッチョイ 9f7c-zSYE)2022/09/20(火) 00:31:18.18ID:Rlnm1h+Y0
それあぼーんな人だから触らないほうがいいよ

701デフォルトの名無しさん (ワッチョイ 1f32-TDLd)2022/09/20(火) 07:23:58.96ID:Qfc1UF5x0
>>697
黙れハゲ童貞

702デフォルトの名無しさん (ワッチョイ 9fe1-T84e)2022/09/20(火) 08:18:55.69ID:TKjURbNB0
なんだかんだで、納品物はエクセルで!とか言ってるからいつまでもVBAやめられなくて辛い

703デフォルトの名無しさん (ワントンキン MM7f-s8OL)2022/09/20(火) 12:12:55.21ID:ZsS5zbqxM
>>702
Excelやめてなんのソフトを代替にしたいの?

704デフォルトの名無しさん (ワッチョイ 9fda-VcJj)2022/09/20(火) 14:20:11.48ID:E6px8L9o0
Excelを使わない事務仕事なんか無いだろうね

705デフォルトの名無しさん (ブーイモ MM8f-ldZd)2022/09/20(火) 14:37:00.62ID:a8qXzxjlM
うちの会社は弥生会計をずっと使ってるぞ

706デフォルトの名無しさん (ワッチョイ 1f32-TDLd)2022/09/20(火) 17:24:35.64ID:Qfc1UF5x0
>>704
うちの会社の経理は紙の帳面だぞ
古代エジプト時代と変わらん

707デフォルトの名無しさん (スップ Sd3f-w3i5)2022/09/20(火) 17:48:30.31ID:TuCax8r2d
>>706
パピルスと現代の紙とは異なる
髪はその頃と一緒だが

708デフォルトの名無しさん (ワッチョイ b7da-E+l9)2022/09/20(火) 19:11:26.07ID:bPcXAKoD0
>>702
そんなに辛いなら転職したらいいんじゃね

709デフォルトの名無しさん (ワッチョイ 9fda-VcJj)2022/09/20(火) 20:36:15.87ID:E6px8L9o0
>>706
The 昭和

710デフォルトの名無しさん (ワッチョイ 9701-W3aP)2022/09/20(火) 20:42:24.19ID:z6cIhAGk0
昭和の頃はすでにMZ-80とか有ったからね。

711デフォルトの名無しさん (ワッチョイ bf66-W3aP)2022/09/20(火) 21:20:11.78ID:9PvWzZvw0
>>695
ありがとうございました。
それで徐々にコードを消していったら判明しました。
助かりました。

712デフォルトの名無しさん (ワッチョイ bf66-W3aP)2022/09/20(火) 21:52:40.24ID:9PvWzZvw0
ユーザー定義型を配列に入れて使っているのですが、nameでソートしたり、
idでソートしたり、ageでソートしたり、その都度いろいろなプロパティでソートをしたいのです。
いままでは一旦二次元配列に入れてソートしていましたが、二次元配列のkeyposにあたるような
key elementsみたいに引数で渡す事はできないのでしょうか?

Sub Sort(ByRef User as Usertype,ByRef Property asここがわかりません)
なんというかworksheetオブジェクトとrangeオブジェクトみたいな関係みたいな

最悪プロパティ毎に違う名前のソート関数にすれば一応好きなプロパティの値でソートして返せるのですが

こんな感じで

713デフォルトの名無しさん (ワッチョイ d75f-E+l9)2022/09/21(水) 15:26:19.55ID:IxQ+qaQI0
まずユーザー定義型をクラスにして、その後は IComparer インターフェイスでよしなに

Sorting of objects by their properties in VBA
https://scripts4all.eu/sorting-of-objects-by-their-properties-in-vba/

個人的にはここまでやるならVBA以外を検討するけどね

714デフォルトの名無しさん (ワッチョイ f749-GjCD)2022/09/21(水) 18:55:18.56ID:sEtFya3v0
別の方法としてADODBでメモリ上にテーブルを持つのもある
テーブルにぶち込んでしまえば、ソート、フィルター、その際の項目指定とかどうにでもなる
その分のメモリは必要だし、テーブルに対する出し入れの処理はあるので
配列の大きさやソートの頻度で使うかどうか考える

715712 (ワッチョイ bf66-W3aP)2022/09/21(水) 19:12:53.53ID:rqvHCnL40
>>713
そちらを見に行ってEnumの便利さに気付きました。
二次元配列のfor for ネストでやってるような処理、列が増えるほどだんだん
わからなくなりますが、enum使えば二次元配列の利便性も残しつつ
ユーザー定義型みたいに使えますね。
二次元配列の悪い所はだんだん自分が何を指定してるのかわからなくなるところだったので、
Enumと相性抜群ですね。

せっかく教えてもらった高度な手法は今回は見送りさせて頂いて、簡単なEnum&二次元配列でやってみようと思います。
感謝です。

716デフォルトの名無しさん (ワッチョイ f72f-ret5)2022/09/21(水) 20:40:31.74ID:NsHiQ7yd0
元データがどこにあって、それをソートしてどうしたいのかわからんが
普通に考えればエクセルシートに展開すれば良いんじゃないかと思うんだが

717デフォルトの名無しさん (ワッチョイ b7da-E+l9)2022/09/22(木) 09:56:35.87ID:zJSl4eTM0
たぶんEXCELのソート機能を使わず自分でソートしたいんじゃね

718デフォルトの名無しさん (アウアウウー Sa5b-8eP5)2022/09/22(木) 11:03:21.08ID:u9/ouAZsa
なぜ競プロではVBAの出番が無いのか

719デフォルトの名無しさん (ブーイモ MMcf-HYId)2022/09/22(木) 11:36:03.90ID:V4zanZlpM
遅いとか記述が冗長とかサーバーサイドで動かせないとかテクニカルな問題はいくらでもあるけど、
最大の理由は競プロやるような人はVBAなんか使いたがらないから

720デフォルトの名無しさん (ワッチョイ 9fd8-N4dH)2022/09/22(木) 18:38:55.33ID:+Wi4osLB0
>>718
年末のAdvent of CodeはVBAだかExcelだけかでやってる人たまにいる

721デフォルトの名無しさん (ワッチョイ 97da-rZTD)2022/09/23(金) 18:18:40.70ID:pQLCPMYW0
>>666
いいえて妙、ワロタw

722デフォルトの名無しさん (ワッチョイ 9fda-VcJj)2022/09/23(金) 19:12:26.46ID:27USMHor0
外注ってやっぱ高い?

723デフォルトの名無しさん (ワッチョイ 6bce-XjGR)2022/09/24(土) 01:17:31.15ID:mU6CwKwa0
素人にやらせると、見かけは安上がりだけど結果的に高く付くことが多い

724デフォルトの名無しさん (アウアウウー Sa43-Cd/v)2022/09/24(土) 03:39:42.11ID:sis0YFKKa
何人で何ヵ月かかるかで金額が変わる

725デフォルトの名無しさん (ワッチョイ 92da-pXuy)2022/09/24(土) 04:49:54.00ID:rKbJBgHg0
じゃあここのスレの方ならプロだから安心して頼むそうかな??
金額以外は

726デフォルトの名無しさん (ワッチョイ 124f-EPsI)2022/09/24(土) 05:51:09.21ID:Bbc/0kyt0
RubyはそれだけではDBとなるものを持ってないからEXCELやACCESSのVBAとは比較できない。

もっとも、同様にDBを持たない言語と比較するなら
セーフティーでガベージコレクションの概念がなくスピードの速いRust辺りと比べるとゴミ同然

727デフォルトの名無しさん (ワッチョイ c23d-dJZP)2022/09/24(土) 08:05:14.18ID:DeEi7HC40
エクスプローラーでフォルダーのプロパティを開いて
カスタマイズタブのところに「フォルダーの種類」が全般とかビデオとかになってるけど。
これをVBA/VBSで変更できる?
フォルダーのtypeを見ても全部「ファイル フォルダー」になる。

728デフォルトの名無しさん (ワッチョイ c23d-dJZP)2022/09/24(土) 09:33:48.67ID:DeEi7HC40
>>727
レジストリ操作でやりたいことができたわ。

729デフォルトの名無しさん (ワッチョイ 12e1-JMZf)2022/09/24(土) 14:15:19.28ID:qbD2jrks0
お、おう、よかったな

730デフォルトの名無しさん (ワッチョイ d697-JEMU)2022/09/25(日) 05:30:19.65ID:/q7OsFL50
一般ユーザがある列のセルを編集できないようにしたい。
でも、VBAの実行や、セル関数の結果は反映させたい。

https://support.microsoft.com/ja-jp/office/excel-%E3%81%A7%E3%82%BB%E3%83%AB%E3%82%92%E3%83%AD%E3%83%83%E3%82%AF%E3%81%99%E3%82%8B-b942fe92-5e87-0985-214b-9617b5b6d53f
↑セルのロック
という機能で試してみたがVBAマクロでの変更は許されなくてちょっと困っています。

セルに対してマウスイベントを発生させない。みたいなことを考えて、調べているが。
皆さんも悩まれる案件かと思います。もっと良い方法ないでしょうか?

731デフォルトの名無しさん (ワッチョイ 124f-EPsI)2022/09/25(日) 06:18:07.93ID:jaItMug30
VBAん中でロック解除して
処理終了間際にロックし直しってんじゃだめなの?

732デフォルトの名無しさん (ワッチョイ b35f-6O56)2022/09/25(日) 07:44:30.90ID:dPa0+M2C0
SheetSelectionイベントとIntersect使うだけでは

733デフォルトの名無しさん (ワッチョイ 136e-r4yT)2022/09/25(日) 09:13:59.54ID:nIE2ah490
お願いします。
検索をシートからではなくブックからをデフォルトにしたいです。
下記のサイトのコードを使い検索は出来るのですが、
結果表示ではなく( '<全てのシートの検索が終わったら、結果を表示します。> )、
検索値まで移動するにはどのようにコードを書けばいいか、ご教授願います。。
https://www.moug.net/tech/exvba/0040005.html

734デフォルトの名無しさん (ワッチョイ 12d8-m1DB)2022/09/25(日) 10:44:33.52ID:mk9vdghN0
>>730
worksheet_boforedoubleclick みたいなイベントプロシージャでできる

735デフォルトの名無しさん (ワッチョイ d697-JEMU)2022/09/25(日) 10:58:13.51ID:/q7OsFL50
ありがとうございました。
>>731の方法で簡単にできました。
VBA実行時に保護を解除して、終了時に再度保護をかけることで、
すんなりといけました。

736デフォルトの名無しさん (ワッチョイ 1e66-JEMU)2022/09/28(水) 13:31:05.50ID:/kKDTdjO0
A1:10もしくはA100に入力された値を配列に格納しています。
動的配列です。
Select Case 文字列A
case A1:A100のどれかに一致するなら
case B1:B100のどれかに一致するなら

みたいな書き方って出来ないのでしょうか?

737デフォルトの名無しさん (ワッチョイ 4bda-tX/F)2022/09/28(水) 13:35:10.17ID:Rj0JQSes0
ifで条件書けよ

738デフォルトの名無しさん (ワッチョイ 124f-EPsI)2022/09/28(水) 15:15:27.03ID:n6LgYqsE0
>>736
恐らく出来ない。
ただ、Select Case の後の文字列の部分をTrueとして、
A10:A100の中に該当文字列が有った場合、
Trueを返す関数を作成して、Case文の後ろに記載して
その条件に当たったかを判別して、Case文の下に
その条件下での処理を記載することは可能。

Caseにある条件のA10:A100にとある文字列が
有った場合とB10:B100にとある文字列が
有った場合と下に続く処理が同じなら、
先程言った関数の引数に対象範囲と検索対象文字列を
持たせておけばCase文を使う必要すら無い。
戻り値がTrueかFalseかをIf文で判断すれば良い。

その辺は実際の状況に合わせて上手く作ってくれ。

739デフォルトの名無しさん (ワッチョイ 92da-pXuy)2022/09/28(水) 16:15:51.79ID:vR69ytL90
select caseにtrue??
知らなかったわ何それ??

740デフォルトの名無しさん (ワッチョイ 1601-U30X)2022/09/28(水) 18:26:27.19ID:Pxqx/4k10
Do
With
End With
Loop

よりも

With
Do
Loop
End With

の方が計算が早い(PCにとっては楽)と考えてよいでしょうか

741デフォルトの名無しさん (ワッチョイ 12c7-qdT0)2022/09/28(水) 19:01:46.26ID:8l5UWazH0
>>736
こんな感じ?
Excel VBA 質問スレ Part77 YouTube動画>1本 ->画像>5枚

742デフォルトの名無しさん (アウアウウー Sa43-Eihw)2022/09/28(水) 19:28:29.47ID:Aad51sjLa
>>736
Private Function F(R As RangeRange, S As String) As Boolean
Dim C As Range
For Each C In R
If C.Value = S Then
F = True
Exit Function
End If
Next
F = False
End Function
...
Select Case True
Case F(Range("A1:100"), 文字列A)
...
Case F(Range("B1:100"), 文字列A)
...
Case ...
End Select

743デフォルトの名無しさん (アウアウウー Sa43-Eihw)2022/09/28(水) 19:32:38.30ID:Aad51sjLa
>>740
たいていのプログラムだと有意な差はでないから気にせずに作りやすい方で作れ
有意な差がでそうならまず測定

744デフォルトの名無しさん (ワッチョイ 124f-EPsI)2022/09/28(水) 19:38:38.93ID:n6LgYqsE0
>>740
これも恐らくの話で申し訳ないけど、
元々Withで設定されているインスタンスが既に生成されているものであれば、その格納アドレス先を読むだけなので
Withがループの外にあっても中にあっても処理コストは変わらないと思う。
変わったとしても繰り返し実行での誤差と見分けが付かない程度と思われる。

逆にインスタンスが生成されておらず、With New 〜 のようにWithでインスタンスを生成する場合は
ヒープエリアのメモリにそのインスタンスを展開するため、Withがループの外に有った方が処理コストは低くて済む。


・・・はず。

745デフォルトの名無しさん (アウアウウー Sa43-Cd/v)2022/09/28(水) 19:40:24.19ID:2tCqxjcra
とりっきー

746デフォルトの名無しさん (スプッッ Sd52-PyVD)2022/09/28(水) 19:51:29.67ID:30UfjVhGd
>>739

ケツの穴をガバガバにして全通しするいやらしい関数だよ

Select Case True
Case オナラ
よし通れ
Case うんこ
よし通れ
End Select

747デフォルトの名無しさん (ワッチョイ 12d8-m1DB)2022/09/28(水) 21:06:15.14ID:Apn5XmOg0
>>742
結局If文でラップしてるだけじゃん

748デフォルトの名無しさん (ワッチョイ 92da-pXuy)2022/09/28(水) 21:06:47.83ID:vR69ytL90
>>746
汚ねえな。。
こっちは夕食のカレー食ってんだぞ。。

749デフォルトの名無しさん (ワッチョイ 1201-ut7I)2022/09/28(水) 21:20:17.00ID:0sCmeNkX0
>>747
If 文でラップとか意味わからんこと言われてもw

750デフォルトの名無しさん (ワッチョイ 92da-pXuy)2022/09/29(木) 00:27:52.00ID:tkXe+LzA0
ヘイヘイヘイ~!
もしも~オブジェクト変数でぇ~宣言したぁ~値がぁ🎵
ラップ調

751デフォルトの名無しさん (ワッチョイ 4bda-Cd/v)2022/09/29(木) 01:53:20.13ID:I3DbECBa0
ラップのセンスはいまいちだね

752736 (ワッチョイ 1e66-JEMU)2022/09/30(金) 17:41:05.63ID:8DTKPQSA0
>>738-742
ありがとうございました。
変数Strの中の値が配列Listのどれかと一致するかということだったので、そのCountIFがまさにその通りでした。
それようの関数書いてSelect case True使わせていただきます。

753デフォルトの名無しさん (ワッチョイ 124f-EPsI)2022/09/30(金) 21:34:23.42ID:RGIc4eHD0
>>752
Select Case True の話持ち出しといてなんだけど
最初のCase の条件に引っ掛かってその下の処理を実行した後でも
次のCaseの条件に引っかかったらその下の処理も実行するからそれだけは気をつけてね

754デフォルトの名無しさん (スッップ Sd32-r4yT)2022/09/30(金) 22:06:41.52ID:ZYIMeitZd
>>753
そんなことないのでは?と思って試したけどやっぱりそんなことなかったんだが
普通はcaseの条件の中に入ったら次のステップはEnd Selectにいかないか?
Dim ncount As Long
ncount = 0
Select Case True
Case 0 = 0
ncount = ncount + 1
Case 1 = 1
ncount = ncount + 1
Case 2 = 2
ncount = ncount + 1
End Select
Debug.Print ncount
これは1になるんだが

755デフォルトの名無しさん (ワッチョイ 927c-cqZP)2022/09/30(金) 22:32:22.37ID:ysasb+xw0
>>754
多分breakいれなきゃいけないCとかと勘違いしてるんだと思う

756デフォルトの名無しさん (ワッチョイ 1201-ut7I)2022/09/30(金) 22:50:53.72ID:oHn8O8ll0
Select みたいな文で複数の選択肢が条件満たした場合に複数の選択肢を実行する言語って PowerShell ぐらいしか知らんけど他にもあるんだろうか?

757デフォルトの名無しさん (ワッチョイ 032f-qv7X)2022/09/30(金) 23:04:52.77ID:FO5tGPcx0
>>756
cとかそうだったはずだし、たぶん複数実行するほうが多数派なんじゃね
c#も、文法上は複数実行することになってるけど、break書いて抜けないと怒られるという
よくわからんことになってるし

758デフォルトの名無しさん (ワッチョイ 12d8-m1DB)2022/09/30(金) 23:17:37.16ID:2no5G0l30
CもそうだしJavaもそうだしPythonもそうだしJavaScriptもそう

759デフォルトの名無しさん (ワッチョイ 1201-ut7I)2022/09/30(金) 23:34:30.49ID:oHn8O8ll0
>>757-758
C/C++ はそもそも複数選択肢が条件満たすことはないよ(たいていの処理系でコンパイルエラーになる)
fall through と勘違いしてるでしょ

760デフォルトの名無しさん (ワッチョイ 12d8-m1DB)2022/09/30(金) 23:56:30.92ID:2no5G0l30
>>759
ああそうだ。勘違いです
申し訳ない

761デフォルトの名無しさん (アウアウウー Sa27-VbfW)2022/10/01(土) 00:36:40.48ID:fyOJn4KOa
>>754
これってコンパイル時に畳み込みで定数化されて同一のラベルが複数あってエラーになるとかしないのか

762デフォルトの名無しさん (スップ Sd1f-XcTz)2022/10/01(土) 01:42:48.83ID:a0drtoBbd
>>761
馬鹿にはそう思えるのだろ

763デフォルトの名無しさん (ワッチョイ 332f-kE2G)2022/10/01(土) 01:48:20.03ID:AX86MJ2c0
>>759
ああ、まさにfall throughだった

つかそうなると、fall throughじゃなくて
複数一致したら複数ブロック実行するような言語って知らないな
PowerShellってそうなのか?

764デフォルトの名無しさん (ワッチョイ 332f-kE2G)2022/10/01(土) 01:53:07.95ID:AX86MJ2c0
>>761
VBAのCaseは定数以外にいろいろ書けるから

765デフォルトの名無しさん (ワッチョイ ff01-d1zO)2022/10/01(土) 04:50:29.38ID:igg+s+OR0
>>763
複数一致
同じ条件を複数回追加すれば、それらすべてがトリガーされます。
https://learn.microsoft.com/ja-jp/powershell/scripting/learn/deep-dives/everything-about-switch?view=powershell-7.2

766デフォルトの名無しさん (ワッチョイ ff4f-PeWp)2022/10/01(土) 07:29:29.38ID:66c8QTBM0
みんないろんな言語やってるのね

767デフォルトの名無しさん (ワッチョイ ff7c-HI6Y)2022/10/01(土) 07:40:45.91ID:BiebxrBw0
他言語やってる人が暇潰しに見に来る場所って印象があるよね
質問も簡単だし答えるほうに余裕があるので他スレと比べると寛容というかギスギスしてない

768デフォルトの名無しさん (スププ Sd1f-z20m)2022/10/01(土) 13:08:15.88ID:sQwPc1U3d
Excelでデータベースを作り、各レコード?事に
〜月〜日 〜
〜月〜日 〜
みたいなログを表示したいのですがどの様にすればできるのか教えていただけませんか?

769デフォルトの名無しさん (ワッチョイ b3e6-Aqn+)2022/10/01(土) 13:10:34.86ID:PSWCeSJW0
キーボードで打ち込め

770デフォルトの名無しさん (ワッチョイ d3da-pIDl)2022/10/01(土) 13:17:44.94ID:GEkLNCKa0
>>768
入門書買って自分で勉強したらどうかな
あ、EXCELが入っているPCを持ってないと無理かも

771デフォルトの名無しさん (スププ Sd1f-z20m)2022/10/01(土) 13:31:32.89ID:sQwPc1U3d
テキストボックスにセルの値を参照するとか、繰り返しの処理とかlookup関数とかindexとmatch関数はわかります
あとはこのリストが欲しいです

772デフォルトの名無しさん (アウアウウー Sa27-e/IJ)2022/10/01(土) 13:34:23.97ID:mp76wcbAa
MSのサイトを見ればいいだけじゃね?

773デフォルトの名無しさん (ブーイモ MM7f-HI6Y)2022/10/01(土) 14:11:06.32ID:m6/aGG23M
>>771
漠然としすぎていて適切に回答できない
書式設定のこと?ファイル出力?
どこにそれを表示したいの?

774デフォルトの名無しさん (ワッチョイ ffda-qv7/)2022/10/01(土) 14:50:47.98ID:ozHkf13K0
もう自分で勉強してくれって。

775デフォルトの名無しさん (ワッチョイ ff4f-PeWp)2022/10/01(土) 15:38:51.00ID:66c8QTBM0
>>768
そもそもそのログの日付とやらはどこから持ってくるつもりなのか

776デフォルトの名無しさん (ワッチョイ ff3e-z20m)2022/10/01(土) 15:39:00.83ID:05rfSfda0
>>773
すみません
VBAのユーザーフォームで検索用のテキストボックスを作り、
検索結果に該当したレコード(行)を選択(抽出)?して
それをテキストボックス2やリストボックスに表示したいです

〜番(ID)

名前
テキストボックス(リストボックス)
〜月〜日 何をした

みたいな表示画面が作りたいです

777デフォルトの名無しさん (ワッチョイ ff3e-z20m)2022/10/01(土) 15:40:48.76ID:05rfSfda0
>>775
〜番号 名前 〜 〜 〜
の様な感じで列に追加していくやり方で作ろうかなと考えています

778デフォルトの名無しさん (ブーイモ MM7f-FQI2)2022/10/01(土) 16:48:39.94ID:vnBH5ihbM
>>776
まずワークシート上でlookup,index,matchで検索、表示できるものを作る。
それからフォームのテキストボックスに入れた値をワークシートの検索用のセルに書き込み、結果をフォーム上のテキストボックス、リストボックスに書き込むVBAを作る。

779デフォルトの名無しさん (ワッチョイ ff3e-z20m)2022/10/01(土) 16:50:40.38ID:05rfSfda0
>>778
ありがとうございます
まずはそこからですよね

780デフォルトの名無しさん (ワッチョイ d3da-pIDl)2022/10/01(土) 16:52:55.19ID:GEkLNCKa0
どこでつまずいているかを書かないで答えだけほしいとか言われてもね

781デフォルトの名無しさん (スッップ Sd1f-ufYE)2022/10/01(土) 16:55:41.93ID:HuJ3UkiEd
>>768
こんなんVBAでもなんでもなくシステムを作りたいっていってるようなもんでしょ
金払って作ってもらえよ

782デフォルトの名無しさん (ワッチョイ 332f-kE2G)2022/10/01(土) 17:09:04.65ID:AX86MJ2c0
>>768
なぜそれをエクセルでやりたいと思ったのか

今のレベルだと一から勉強レベルだと思えるが
c#かせめてVB.Net覚えたほうがいいんじゃない

783デフォルトの名無しさん (ワッチョイ ff7c-ufYE)2022/10/01(土) 18:15:10.78ID:BiebxrBw0
セルの内容(日付のところは文字列型(頭にアポストロフィ)で入れてる)
ID 名前 日付 イベント
1 名前1 2012年3月14日 Aをした
2 名前2 2012年3月15日 Bをした
3 名前3 2012年3月16日 Cをした
4 名前4 2012年3月17日 Dをした
5 名前5 2012年3月18日 Eをした
6 名前6 2012年3月19日 Fをした

※Sheet1のマクロ
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With UserForm1
y = ActiveCell.Row
.TextBox1 = Cells(y, 1)
.TextBox2 = Cells(y, 2)
.TextBox3 = Cells(y, 3) + vbNewLine + Cells(y, 4)
End With
End Sub

フォーム(UserForm1)を作って下記コントロールを配置
TextBox,TextBox1,TextBox2,TextBox3(Multiline=true),CommandButton1

UserForm1のマクロ
Private Sub CommandButton1_Click()
Sheets(1).Range("A1").AutoFilter 2, "*" & UserForm1.TextBox.Text & "*"
End Sub

ファイル開くイベントとかボタン作って下記マクロでフォームを表示
UserForm1.Show vbModeless
聞いた限りではこんなのしか思い浮かばない

784デフォルトの名無しさん (ワッチョイ ffe1-3QPM)2022/10/01(土) 18:31:08.84ID:oCrNNmAI0
VBAのPicture.Insertでリンク貼付けさせないようにクリップボード利用でPasteで貼り付けてみたら画像が異常に重くなりすぎて使い物にならない…。
おとなしくShapes.addPicture使うしかない?

785デフォルトの名無しさん (ワッチョイ b3da-3g2I)2022/10/01(土) 18:49:59.64ID:PeKIyBQF0
>>768
Listobject作ってListrowsを都度登録する仕組みを作って目的のListrows()を呼び出すユーザーフォームを作ればいいんじゃないっすかね。

786デフォルトの名無しさん (スッップ Sd1f-ufYE)2022/10/01(土) 18:55:31.78ID:HuJ3UkiEd
まず質問者は何ができて何ができないのか気になるが何もできないんだろうなと推測してる
なのでここで丸投げしてバカなお人よしに作ってもらおうとしてるんだろ

787デフォルトの名無しさん (ワッチョイ ff7c-HI6Y)2022/10/01(土) 23:20:55.43ID:BiebxrBw0
猪木が死んだ、時代が流れていく
思えばPCとの付き合いももう40年か
戦時中はと口癖のように言っていたジジイ共も消えてアマチュア無線なみにニッチな趣味だったPCが主流になるとは不思議なものだ

788デフォルトの名無しさん (ワッチョイ d3da-pIDl)2022/10/02(日) 07:27:45.20ID:ySn/5a2I0
>>784
もとの画像が大きいんじゃね、表示用の画像を別途つくってから貼り付けてみ

789デフォルトの名無しさん (ワッチョイ ff3e-z20m)2022/10/02(日) 13:27:44.47ID:TlawqFoR0
>>783
わざわざありがとうございます
助かりました

790デフォルトの名無しさん (ワッチョイ c3cd-vqPj)2022/10/02(日) 15:47:28.98ID:DdgukWIZ0
>>787
おいおいいつだよって思ったら昨日かよ

>>786
それでいいと思うんだよな
それが社会の基本だし、暇な元事務のNEETはそれで快楽を得つつ勉強になり、
転職への自信になるだろう

791デフォルトの名無しさん (ワッチョイ ff3e-z20m)2022/10/02(日) 20:54:31.26ID:TlawqFoR0
VBAは作業を登録して自動化するくらいで覚えておいた方がいいですよね

792デフォルトの名無しさん (ワッチョイ ffe1-3QPM)2022/10/03(月) 06:16:19.93ID:S2WAje4f0
>>788
800kの画像でやってみたけど15Mぐらいまで巨大化してしまう
やはりAddPictureで代用してみる

793デフォルトの名無しさん (ワッチョイ 53a2-zVVQ)2022/10/03(月) 07:27:24.16ID:4wRZXMmm0
VBEに書いたコードの整列っていうかコードを整えるっていうか自動インデントっていうかそんなショートカットキーがあったと思うけどなんだっけ?

794デフォルトの名無しさん (ワッチョイ 53ce-OAEy)2022/10/03(月) 17:56:19.40ID:M1bZx+HZ0
タブ

795デフォルトの名無しさん (ワッチョイ ff4f-PeWp)2022/10/03(月) 20:58:11.99ID:FDmFS1zQ0
>>791
変な枷付けること考えんと
好きに作っていいんやで

796デフォルトの名無しさん (ワッチョイ 6f7d-e5cN)2022/10/04(火) 15:00:55.06ID:pLalriKq0
イベントで質問

余所で作ったエクセルにVBAで改造加えてるんだけど
1マス入力だけするSheetにActiveXのコマンドボタン付けたら
Worksheet_SelectionChange
が発生しなくなった

コマンドボタン押したイベントは拾ってるので
EnableEventsがFalseってわけじゃない(イミディエイトで確認済み)

デザインモードを解除してもWorksheet_SelectionChangeイベントが起きないので
しょうが無いからまた一から作り直したんだが
この現象って頻発するもの?
ググってもOfficeの修復かEnableEventsしか解決策が出てこない

797デフォルトの名無しさん (スププ Sd1f-Ycj2)2022/10/04(火) 15:54:59.32ID:TDYI1fTGd
>>792
Sub Macro1()
ActiveSheet.Pictures.Insert "C:\Work\Sample1.jpg"
End Sub



これで400KBのpngで試してみたけど
なぜかxlsmファイルのサイズは15KB
何か別の要因とか

798デフォルトの名無しさん (ワッチョイ d3da-pIDl)2022/10/04(火) 19:28:07.31ID:uOFwOuxi0
>>796
そりゃエクセルを改造したら駄目だろ

799デフォルトの名無しさん (ワッチョイ 332f-LIzE)2022/10/04(火) 19:47:41.77ID:o+JurUyd0
>>792
オプションの詳細設定-イメージのサイズと画質 ってどうなってる?

800デフォルトの名無しさん (ワッチョイ 6f66-vqPj)2022/10/04(火) 21:08:36.46ID:vyetwO+c0
Dim ar(2) As Variant
ar(0) = 1
ar(1) = 2
ar(2) = Split("1,2,3,4,5", ",")
Dim i
For i = 0 To UBound(ar(2))
ar(2)(i) = CLng(ar(2)(i))
Next i

splitで作ったジャグ配列の中身をlong型に変換したいです。
variant変数に一度入ったらもう無理ですか?
一応他の変数に入れる事で型変換には成功するのですが。
余計な変数を二つも用意してstringで作成されたのを一時的なvariant型ノーマル配列に
おさめてmそのあとで本当に使いたい配列のジャグ配列に入れていくというのが
どうも汚い感じで腑におちません。
アドバイスもらえると助かります。

801デフォルトの名無しさん (ワッチョイ ff4f-PeWp)2022/10/04(火) 22:26:54.77ID:cce3s7590
>>800
出来ません
諦めてください

802800 (ワッチョイ 6f66-vqPj)2022/10/04(火) 22:43:48.69ID:vyetwO+c0
>>801
ありがとうございます。
ジャグ配列はRedim出来ないのがデメリットですね。
動的な配列の中にジャグ配列なのですが、なんとか先に不確定な親配列の中にある
不確定な数のジャグ配列を一時的なLong型配列に作って
そこからさらにsplitなしでなんとか作ろうとあれこれしてたら
よっぽど>>800の方法の方が処理がわかりやすくなってしまい徒労に終わりました。

諦めます。踏ん切りつきました。

803デフォルトの名無しさん (ワッチョイ 332f-LIzE)2022/10/04(火) 23:35:06.72ID:o+JurUyd0
>splitで作ったジャグ配列
>動的な配列の中にジャグ配列
ジャグ配列って用語の使い方が微妙に間違ってる気がするが...

そもそも文字列を分割して配列作ってるんだから文字列の配列になるのが当然で
Variant上等でやるなら、それを使う側がVariantで受ければいいだけでは?

まあ俺ならどうしても文字列をSplitしてLongにしたいなら
Longの配列返すSplitのラップ関数作るけど

804デフォルトの名無しさん (ワッチョイ e301-vqPj)2022/10/05(水) 04:48:52.00ID:b9GTOuH90
sqliteで作ったジャグ配列。

805デフォルトの名無しさん (アウアウウー Sa27-3QPM)2022/10/05(水) 07:10:06.74ID:8YZU4Hq7a
>>797
それでいくとうまくいくんだけどね、
通常のPictures.Insertだとリンク貼付けなのよ。他人に送付したら見れない。

だから一旦クリップボード経由でPaste使ってやってるんだがそれだと容量がヤバくなる。

806デフォルトの名無しさん (ワッチョイ ff4f-PeWp)2022/10/05(水) 08:07:32.65ID:hw4y4dFR0
そもそも何でもかんでも配列で処理しようとするのがちょっとねぇ。
例えば列に当たる要素毎に違う型を使いたいなら
ちょっと仕組みは大きくなるけどADODBのRecordsetを使うことや
1行の列データ単位の値を格納するクラスを作ってそれを行単位としてディクショナリやコレクションに追加して行くことも検討することを視野に入れると
結局後で読みやすく汎用性の高いロジックが組めたりする。

処理速度優先なら配列一択だからそのときのシュチュエーションに合わせて使い分けだね。

807デフォルトの名無しさん (ワッチョイ f35f-F/JR)2022/10/05(水) 08:19:21.40ID:SsR8S72r0
構造体ではできんの?
ジャグ使う機会無いからなんとも言えんが

808デフォルトの名無しさん (スプッッ Sd1f-ufYE)2022/10/05(水) 10:50:57.71ID:HrKgxVhUd
すぐDBとか持ち出す奴いるけどコスト考えたらそう簡単にDBなんか使わんと思うけどね
普通に配列処理用の関数のみのモジュールでコード管理すればいいだけと思うわ

809デフォルトの名無しさん (スップ Sd1f-rSe5)2022/10/05(水) 13:20:52.03ID:7KiNZ4t1d
>>808
何のコスト?

810デフォルトの名無しさん (ワッチョイ ffda-qv7/)2022/10/05(水) 14:41:00.50ID:bxBPBLxH0
やっぱ好きなように作るのが1番ね

811デフォルトの名無しさん (ワッチョイ cf10-HI6Y)2022/10/05(水) 15:47:13.70ID:DsSYxIFi0
ワークシートがDBみたいなもんだしね

812デフォルトの名無しさん (ラクッペペ MM7f-Aqn+)2022/10/05(水) 15:53:15.41ID:tZ9pwx2fM
学習コスト

813デフォルトの名無しさん (ワッチョイ ff42-JExP)2022/10/05(水) 21:19:11.66ID:/BrWnOTx0
コストコ

814デフォルトの名無しさん (ワッチョイ ffda-qv7/)2022/10/05(水) 23:35:05.88ID:bxBPBLxH0
コスパ良い

815デフォルトの名無しさん (スププ Sd1f-zUcf)2022/10/06(木) 16:49:22.22ID:wENRazb+d
例えば、誕生石を取得するGetBirthStone関数を作ろうとすれば引数は「日付 as Variant」と「月 as Integer(Long)」のどちらがいいでしょうか?

816デフォルトの名無しさん (ラクッペペ MM7f-lmfq)2022/10/06(木) 16:54:16.04ID:lmEPcDvIM
Dateではあかんのか?

817デフォルトの名無しさん (ブーイモ MM7f-HD9v)2022/10/06(木) 16:55:37.45ID:1FPDwTBGM
そんなもんVLOOKUPで誕生石シートを検索すれば十分
VBAを正しく使うコツはVBAを可能な限り書かないことだよ

818デフォルトの名無しさん (スププ Sd1f-zUcf)2022/10/06(木) 17:19:15.50ID:wENRazb+d
>>816
Date型でも大丈夫ですか?

一応、最初の部分はこう書いてみました
If Not IsDate(日付) then
GetBirthStone = CVErr(xlErrValue)
Exit Function

819デフォルトの名無しさん (ワッチョイ 238e-rSe5)2022/10/06(木) 17:48:34.71ID:KR9VbeXw0
>>817
いや、むしろVBAだけの方がメンテしやすい
データとロジックは分ける方がいい

820デフォルトの名無しさん (スッップ Sd1f-ufYE)2022/10/06(木) 19:10:02.45ID:YSVEcn1gd
>>815
元のデータが何によるかで違うけど「月 as Integer(Long)」でいいのではと思う
仮に元のデータが日付でもGetBirthStone(Month(日付))で済む
月を渡すようなケースがありえないなら日付を渡して関数内でMonthを使うでもいい

821デフォルトの名無しさん (ワッチョイ 435f-pIDl)2022/10/06(木) 19:39:53.74ID:sUmENiPE0
月だけでいい
特定の日付に依らずある月の誕生石を知りたい場合に
意味のないDate値用意しなきゃいけなくなるから可読性が落ちる

>>817
誕生石みたいに改訂されたことがニュースになるくらい固定されてる内容ならコードにベタ打ちでいいと思う
祝日みたいに毎年変動するものとか、組合せの数が多すぎる要素ならシート管理の方が扱いやすいと思うけど

822デフォルトの名無しさん (ワッチョイ d3da-pIDl)2022/10/06(木) 19:46:56.80ID:bktrTE7O0
>>815
その程度のこと自分で決められんようでは時間かかってしょうがないだろ

823デフォルトの名無しさん (ワッチョイ 6f8c-SQdC)2022/10/06(木) 19:49:13.70ID:gOgPUvPm0
>>815
Function getBirthStone(日付 As Date)
Application.Volatile True
getBirthStone = WorksheetFunction.Choose(Month(日付), "ガーネット", "アメシスト", "アクアマリン", "ダイヤモンド", "エメラルド", "ムーンストーン、真珠", "ルビー", "ペリドット", "サファイア", "オパール、トルマリン", "トパーズ", "トルコ石、タンザナイト")
End Function

こんなかんじ?

824デフォルトの名無しさん (スププ Sd1f-zUcf)2022/10/06(木) 22:32:10.00ID:wENRazb+d
>>823
ありがとうございます。

825デフォルトの名無しさん (ワッチョイ ff01-d1zO)2022/10/06(木) 22:47:25.99ID:HCQdlFdq0
>>823
わざわざワークシート関数を呼ばなくてもVBAにもChoose関数あるよ
https://learn.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/choose-function

826デフォルトの名無しさん (ワッチョイ 6f8c-SQdC)2022/10/06(木) 23:06:53.10ID:gOgPUvPm0
ほんとだw てへ

827800 (ワッチョイ 0666-Phf8)2022/10/09(日) 17:09:18.30ID:Kilq6kjS0
>>803
ラップ関数作る解決方法最高です。
頭固かったです。
他にも導入できそうなところが見つかり助かりました。
感謝です。

828デフォルトの名無しさん (ワッチョイ 6b79-Ir1l)2022/10/10(月) 21:48:05.32ID:P58+Ol8v0
>誕生石みたいに改訂されたことがニュースになるくらい固定されてる内容ならコードにベタ打ちでいいと思う
>>823を見ての通りこの手は表記ゆれが問題になる事が多いから
可能な限り外部データにした方がいい

829デフォルトの名無しさん (ワッチョイ 07a2-w8U7)2022/10/11(火) 13:53:54.44ID:uAPvvwer0
インプットボックスで入力される値が数字かどうか判断するコードってどう書けばいい?

830デフォルトの名無しさん (スッップ Sdea-zauZ)2022/10/11(火) 14:15:03.61ID:fEDU7G4fd
・符号(+-)を許すか
・ドット(小数点)を許すか
・カンマ(桁区切り)
を踏まえて文字の妥当性チェックすればいいんじゃないの

831デフォルトの名無しさん (スッップ Sdea-zauZ)2022/10/11(火) 14:17:40.55ID:fEDU7G4fd
あと自分はWorksheetFunction使うの好きじゃないけど
WorksheetFunction.IsNumber
でもいいかもね

832デフォルトの名無しさん (ワッチョイ 07ce-kEV8)2022/10/11(火) 14:26:37.29ID:H84z/pNR0
全角は?漢数字は?ローマ数字は?欧米式の桁区切りは?
入力検査は考え始めるとキリがない分野の一つだぜ

833デフォルトの名無しさん (ワッチョイ ca4f-R5DV)2022/10/11(火) 15:13:10.17ID:DoWcBI1l0
>>829
IsNumericじゃダメなの?

834デフォルトの名無しさん (ワッチョイ 07a2-w8U7)2022/10/11(火) 17:02:04.45ID:uAPvvwer0
>>833
さんきゅーそれだ
てかVariant型が数値かどうか調べられるんだな~
書き方解ったらvartypeとかtypenameでも行けそうな気がする
ちょい試してみよ

835デフォルトの名無しさん (ワッチョイ ca4f-R5DV)2022/10/11(火) 18:13:13.59ID:DoWcBI1l0
>>834
語弊があるといけないから言っておくと、
IsNumericはあくまで数値として扱える値(数値に変換出来る値)かどうかを判定するよ。
だからString型でも”123”みたいのはTrueを返すからそこは注意してね。

836デフォルトの名無しさん (ワッチョイ ff2f-SUfT)2022/10/11(火) 20:16:52.08ID:hb9m45MO0
考慮点はまだあるぞ
IsNumericって
"\3"とか"3e3"とか"&habc"とかもTrueだぜ

837デフォルトの名無しさん (スププ Sdea-h8KF)2022/10/12(水) 08:33:18.55ID:FAaW2+wFd
じゃ足し算する関数を別に作ってノーエラーで戻ってきたら数値

Sub Main()
 '全角数字も数字と見なす
 If Suujikana(StrConv(InputBox("入力せぇ"), vbNarrow)) Then
  MsgBox "数字だよ"
 Else
  MsgBox "数字じゃないよ"
 End If
End Sub


Function Suujikana(moji As Long) As Boolean
 On Error GoTo er
 moji = moji + moji
 Suujikana = True
 Exit Function
er:
 Suujikana = False
End Function

838デフォルトの名無しさん (スププ Sdea-h8KF)2022/10/12(水) 08:35:48.26ID:FAaW2+wFd
あ、これじゃだめかえらーでるあ

839デフォルトの名無しさん (スププ Sdea-h8KF)2022/10/12(水) 08:38:00.09ID:FAaW2+wFd
このやろ、variantにしたら+で文字列つくりやがって
こんのやろぉ

840デフォルトの名無しさん (スププ Sdea-h8KF)2022/10/12(水) 08:39:59.19ID:FAaW2+wFd
これでいい?らめ?

Sub Main()
 '全角数字も数字と見なす
 If Suujikana(StrConv(InputBox("入力せぇ"), vbNarrow)) Then
  MsgBox "数字だよ"
 Else
  MsgBox "数字じゃないよ"
 End If
End Sub


Function Suujikana(moji As Variant) As Boolean
 On Error GoTo er
 moji = moji * moji
 Suujikana = True
 Exit Function
er:
 Suujikana = False
End Function

841デフォルトの名無しさん (ワッチョイ ca4f-R5DV)2022/10/12(水) 09:33:08.65ID:JFXNmWRt0
>>836
まぁその辺は数値として受け取れるとも言えるからね。
その辺除外したいなら最初に“¥”や“e”や“&h”が含まれていたら数値ではないって分岐入れとけばいいだけじゃないの?

842デフォルトの名無しさん (ブーイモ MM76-5xmO)2022/10/12(水) 09:45:17.75ID:05zETGAlM
>>840
自分も同じこと考えたけど型の制約が緩いと面倒くさそうなので思考を放棄した、よく頑張ったな

843デフォルトの名無しさん (ブーイモ MM76-5xmO)2022/10/12(水) 10:05:45.44ID:05zETGAlM
そういえば昔型はあるのとないのではどっちが良いのかって記事を見たことあるな
結局型がないと論理エラーが出ないように型をちゃんと理解する必要があるって書いてた

844デフォルトの名無しさん (ワッチョイ 1be5-EVUD)2022/10/12(水) 10:15:23.77ID:FnwlmZOz0
kgとkmは単純に足し算しても意味ないからな

845デフォルトの名無しさん (ワッチョイ 07a2-w8U7)2022/10/13(木) 04:03:11.23ID:j3UF+2500
別にVBA使わなくてもワークシート関数でできるじゃんって意見どう思う?

846デフォルトの名無しさん (アウアウウー Sa2f-UxA0)2022/10/13(木) 04:08:37.62ID:QthptHxba
やりたいようにやれ

847デフォルトの名無しさん (ワッチョイ ca01-52T8)2022/10/13(木) 05:43:31.20ID:l6HSpiwg0
>>845
内容によるけどまあワークシート関数でできるならその方がいいだろうな

848デフォルトの名無しさん (ワッチョイ 03ba-1XYb)2022/10/13(木) 06:51:28.60ID:R3JkkIAh0
A1に入力されているものが消えたらB1以降の入力セルデータが右から左に自動で繰り上がってくるようにしたいのですがこれで大丈夫ですか?

これをA20くらいまで適用したいんですけど教えて貰えませんか...?

Private Sub Worksheet_Change(ByVal
Target As Range)
If Target.Address = Range("A1").Address
And IsEmpty(Target) Then
Application.EnableEvents = False
lastrow = Cells (Rows.Count,
"A").End(xIUp).Row
Range("B1:F1"&lastrow).Copy
Range("A1").PasteSpecial xIPasteValues
Range ("A"&lastrow).ClearContents
Application.EnableEvents = True
End If
End Sub

849デフォルトの名無しさん (ワッチョイ 67da-kHT+)2022/10/13(木) 11:53:03.67ID:Ue05WQwm0
キーボード操作でマクロ作って呼べばいいんじゃね

850デフォルトの名無しさん (オッペケ Sr03-REPx)2022/10/13(木) 13:03:11.83ID:8suwpN2kr
"B1:F"&lastrow
下から4行目は何の処理かな
g列以降にデータがないなら、a列削除でもいけそう

851デフォルトの名無しさん (ワッチョイ c68c-PvL/)2022/10/13(木) 13:57:54.49ID:UFLyO0SD0
xIUp >> xlUp >> xlLeft
xIPaste >> xlPaste

excel だから xl だよ
本から手入力したのかな

852デフォルトの名無しさん (ワッチョイ 0614-3fXN)2022/10/13(木) 15:04:44.40ID:xeSsgHCJ0
文字列にしてTrimして
右から一文字づつAscでコード調べて数字判別してる

853デフォルトの名無しさん (ワッチョイ 4ada-HRMU)2022/10/13(木) 18:35:01.73ID:ya6JFJPp0
>>845
関数なんか使ったことない
全部マクロでできるし

854デフォルトの名無しさん (ワッチョイ 7bac-lNao)2022/10/13(木) 19:55:20.65ID:oYcLbXFh0
ワークシート関数も便利なものは便利で、
パフォーマンスについてVBAより良い場合があるものもあった記憶がある
まあ使い分けだな

855デフォルトの名無しさん (ワッチョイ ca01-52T8)2022/10/13(木) 20:16:02.23ID:l6HSpiwg0
あたりまえだかパフォーマンスはワークシート関数の方が高いよ
そもそもマルチスレッドで動くし

856デフォルトの名無しさん (ワッチョイ 4a7c-5xmO)2022/10/13(木) 21:52:09.43ID:h4dbAy9A0
問題はたくさんのセルに関数を入れまくると超遅くなることだ

857デフォルトの名無しさん (ワッチョイ 03cd-kHT+)2022/10/13(木) 22:26:40.06ID:QRzYIXmy0
>>845
できるだけ関数に寄せる方が良いと思う
あまりに複雑になりすぎるなら、vbaでも良いって感じ

858デフォルトの名無しさん (ワッチョイ ca01-52T8)2022/10/13(木) 22:36:14.16ID:l6HSpiwg0
>>856
それVBAでやったらそのセルの分ループで回すことになるからますます遅くなるわけで...

859デフォルトの名無しさん (ワッチョイ def2-/WJo)2022/10/13(木) 23:31:54.00ID:bK0Z5PO+0
カスタム関数は使い捨て

860デフォルトの名無しさん (アウアウウー Sa2f-UxA0)2022/10/14(金) 02:09:11.91ID:CZenHna/a
ワークシート関数は自動計算で実行する
マクロ(vba)はイベントで実行する

861デフォルトの名無しさん (ワッチョイ dee3-UxA0)2022/10/14(金) 12:43:43.74ID:Ad8SzhkB0
>>845
ワークシート関数で済むならそれに越したことはない
複雑になりすぎてVBA使うのと変わらんレベルになるくらいなら、状況次第でVBA使うこともある
よく検討してみてExcel仲介する必要ないならVBSなんかも視野に入ってくる
他のより良い手段があるならそっちにする

862デフォルトの名無しさん (ワッチョイ 4a42-yNJY)2022/10/14(金) 13:06:50.25ID:fje2pDJC0
ケースバイケースという当たり前の結論
だがそれが大事

863デフォルトの名無しさん (ワッチョイ 9f4f-wXMq)2022/10/15(土) 01:10:39.87ID:zmWNo0nm0
そういや何気にVBAの中でCallByName使うとJavaScript 使えるらしいね。
使ったことないけど。

864デフォルトの名無しさん (ワッチョイ ef8c-e5nY)2022/10/15(土) 01:25:23.69ID:eU4yePu40
>>863
どういうこと? どうやるの?

865デフォルトの名無しさん (ワッチョイ 2bcd-7iBv)2022/10/15(土) 07:21:27.16ID:tw/asOzR0
>>863
文字列で言語書いて実行するのってどうも好きじゃないな
そもそも有効な場面ってあるんだろうか
http://bougyuusonnin.seesaa.net/article/191171013.html

>>864
調べなよ・・・

866デフォルトの名無しさん (ワッチョイ 9f4f-wXMq)2022/10/15(土) 09:05:24.46ID:zmWNo0nm0
>>865
さあ?
メソッドチェーンが使えるくらい?
まぁ無理して使うもんでもないような。
現にJavascript知っててもVBAに混ぜて
使うような状況なんてなったことないし、
大体記述がめんどいし。

867デフォルトの名無しさん (ワッチョイ 2bcd-7iBv)2022/10/15(土) 09:07:30.39ID:tw/asOzR0
>>866
ありがとう
やっぱりほとんど無いよね。

868デフォルトの名無しさん (ワッチョイ 0b79-BCAW)2022/10/16(日) 03:31:09.39ID:IoSf1xr/0
メリットはネイティブの手段でJSONがパースできるようになる事なんだけどVBAで必要になることはほとんどないか
ちなみに似たような方法でHtmlFileからIEのjavascriptを呼ぶ方法もある

869デフォルトの名無しさん (ワッチョイ 9f01-QrOW)2022/10/16(日) 05:54:19.77ID:zEVEZIxw0
ネイティブ?

870デフォルトの名無しさん (ワッチョイ 9f7c-z8YJ)2022/10/16(日) 06:00:43.85ID:q8mBJvHk0
予め言語側で用意されてるってことじゃない

871デフォルトの名無しさん (ブーイモ MMbf-U6r5)2022/10/16(日) 06:58:42.73ID:4eBUdjNxM
正規表現をRegExpオブジェクトで利用することはネイティブですか?

872デフォルトの名無しさん (ワッチョイ 1f74-ZEg/)2022/10/16(日) 08:27:49.05ID:6FfxZTeW0
正規表現をRegExpオブジェクトで利用したらハゲますよ

873デフォルトの名無しさん (ワッチョイ 5bda-7iBv)2022/10/16(日) 23:46:46.75ID:n3hO69PQ0
性器のことしか考えてないから禿げるんじゃね

874デフォルトの名無しさん (オイコラミネオ MM8f-MSw4)2022/10/17(月) 02:28:59.55ID:Foj5GBltM
正規表現はexcelapiを使うのが楽

875デフォルトの名無しさん (オッペケ Sr0f-v82n)2022/10/17(月) 17:47:22.14ID:LwSzkOCXr
すみません、質問させてください
range内の空白セルを除いた部分を一気に配列に入れる方法ってありますか?
例えばA1、B2、A3、B3に1が入っていて、Range(Cells(1,1) ,Cells(2,2))を選んでいる状態で配列ArrにArr(1,1)=1、Arr(1,2)=1のみを入れる。ということです
「Range(Cells(1,1) ,Cells(2,2))を選んでいる状態」というのはFunctionで関数を作ったときにこの範囲を選んでいるという意味です
CurrentRegionを使ってもA2、B2の空白まで配列に入ってきてしまって困ってます

876デフォルトの名無しさん (ラクッペペ MM7f-g1uO)2022/10/17(月) 17:53:55.90ID:c98RAUt6M
selectionでforeach回せばできる気がするけどな

877デフォルトの名無しさん (ラクッペペ MM7f-g1uO)2022/10/17(月) 18:05:29.40ID:PbBQX3S8M
一気にやるなら判定文をスピルで一気に適用するか

878デフォルトの名無しさん (オッペケ Sr0f-v82n)2022/10/17(月) 18:22:32.67ID:KXCnFpZrr
すみません、先程の質問の意図はvba 100本ノックの以下の問題を解いていましたhttps://excel-ubara.com/vba100/VBA100_062.html
最初に範囲内を配列にすべて入れてdictionaryで出す方法を考えたんですけど、範囲のところがA1:C5とかならいいのですが、A:Cだと、すべての行まで配列に入ってしまって、それの行すべて処理するようになってしまったので、数字が範囲内の最終行までを配列に入れることができれば処理速度も変わるので、そういう方法があればという質問でした

879デフォルトの名無しさん (アウアウクー MM0f-KS7Z)2022/10/17(月) 18:56:02.19ID:eqEJLsQnM
答えも解説も書いてあるんだからそれ見ろよ

880デフォルトの名無しさん (ワッチョイ bb5f-L4ib)2022/10/17(月) 20:25:02.38ID:sP2+Ci5U0
>>874
へーそんなのあるのか

881デフォルトの名無しさん (ワッチョイ 7b54-HPGf)2022/10/17(月) 21:15:18.56ID:8otnrSal0
作成依頼です。

G列に空白セルがあった場合、その空白セルの隣のセルに入力されている値をクリアにする。

というコードを作成いただけないでしょうか。

よろしくお願いします。

882デフォルトの名無しさん (ワッチョイ 2b63-KS7Z)2022/10/17(月) 22:12:03.14ID:ISXu5HOG0
いやです

883デフォルトの名無しさん (ワッチョイ 4b8e-kCmy)2022/10/17(月) 22:18:07.47ID:+NOpXqIT0
待て、これは孔明の罠だ

884デフォルトの名無しさん (ワッチョイ 9f42-M5DG)2022/10/17(月) 22:23:49.67ID:AIOop8Dz0
F、G、H列を無条件で消せばいいのね

885デフォルトの名無しさん (ワッチョイ ef8c-e5nY)2022/10/17(月) 22:24:49.52ID:tLF3dHHy0
隣とはどっちだ
あまりにも指示が不明瞭でバカが書いたとしか思えない文章
スルーで決定

886デフォルトの名無しさん (ワッチョイ 9f4f-wXMq)2022/10/17(月) 22:28:51.88ID:dYe0p6CB0
>>881
マジレスするとここは質問スレであり
作成要請スレではありません。

作る方法等を聞けば教えてくれる人もいるかも知れませんが、作ってくれと丸投げにした場合、
その見返りを要求されるか一蹴されるかして終わるのが関の山です。

自分でそう言った趣旨のスレを探すか立てるかした方が賢明と思われます。

887デフォルトの名無しさん (US 0Hbf-459s)2022/10/17(月) 22:46:52.95ID:/WpPTN/JH

888デフォルトの名無しさん (アウアウウー Sacf-23WP)2022/10/17(月) 23:47:38.34ID:yX88xE7Ya
>>884
消す方だったか、"クリア"って書くのかと思ったぜ

889デフォルトの名無しさん (ワッチョイ 4b8e-kCmy)2022/10/17(月) 23:49:43.92ID:+NOpXqIT0
>>888
甘い
空(そら)と白(しろ)で合わせて空白まで読み取らないと

890デフォルトの名無しさん (アウアウウー Sacf-ZPbQ)2022/10/18(火) 05:15:15.98ID:s0SrGZFEa
4000件くらいのデータのExcelファイルから
A. 特定の数十件の社員データを除いたデータファイル
B. Aで除いた数十件の社員のデータのみのファイル
を作成しなければなりません

元のファイルを2つFileCopyして
・Aから対象社員のデータをUINONメソッドでRangeに格納して一括削除
・Bから非対象社員のデータをUINONメソッドでRangeに格納して一括削除

もしくは

・Aから対象社員データをAutoFillterしてBに貼り付け
→Aから対象社員データ削除

を考えてますがどちらが速いでしょう
元の書式を活かしたExcelファイルが必要なので
CSV出力やExcelファイルにデータのみ転記することはできません

891デフォルトの名無しさん (ラクッペペ MM7f-g1uO)2022/10/18(火) 05:41:41.52ID:o16XpPR+M
何度も繰り返し行なう作業とか面倒な作業ならVBA使うメリットもあるけど、その程度ならシートコピーとフィルターでさっさと手作業で済ませた方が手っ取り早いのでは?

892デフォルトの名無しさん (ワッチョイ dbce-y5HG)2022/10/18(火) 07:10:04.49ID:v8qBslO70
>>890
画面の書き換えだけ止めとけば、たぶん、どの方法でも大差ないと思うよ
Unionは重いから、削除は一括じゃない方がいいかも
気になるならベンチマークとってみれば?

893デフォルトの名無しさん (スッップ Sdbf-h7FX)2022/10/18(火) 07:14:36.77ID:NY9qjYA4d
>>886
>コード書き込みや作成依頼もOK
1をよくみような

894デフォルトの名無しさん (ブーイモ MM4f-z8YJ)2022/10/18(火) 08:05:51.17ID:YCyRiw4bM
個人的にはコード作ってとか書かれてたら困ってるんす金くださいと言われてるくらい嫌なので余計に作らないわ~
書くのは勝手だけど

895デフォルトの名無しさん (ブーイモ MM7f-9zfq)2022/10/18(火) 08:46:11.19ID:q+c/s7kpM
誰もお前には頼んでないのに、俺は作らない宣言しちゃう人って自意識過剰すぎません?

896デフォルトの名無しさん (ワッチョイ 2bcd-7iBv)2022/10/18(火) 09:30:46.00ID:O7d9QRYR0
>>881
1:30で書けたけど・・・
これぐらい書くのにみんなどれぐらい時間かかるもんなの?

Sub foo()
最終行 = Cells(Rows.Count, 7).End(xlUp).Row
For i = 1 To 最終行
If Cells(i, 7) = "" Then
Cells(i, 6) = ""
Cells(i, 8) = ""
End If
Next
End Sub

897デフォルトの名無しさん (オイコラミネオ MM8f-B9R1)2022/10/18(火) 09:45:31.08ID:345TXlIrM
>>890
回答待つより実際に作って比較した方が早くない?

898デフォルトの名無しさん (スッップ Sdbf-h7FX)2022/10/18(火) 10:14:58.17ID:UuGhYYcHd
>>897
いい回答だと思う
自分でやればわかることを他人に聞くのってほんとバカなのかなと思う

899デフォルトの名無しさん (ワッチョイ 2b4f-KWxC)2022/10/18(火) 10:42:22.37ID:fjjhfMGv0
>>881
Ruby で作ってみた。
未入力の列はnil となるので、a, c も未入力となる

require 'csv'

input_text = <<TEXT
,a
b,b
,c
TEXT

output_text = String.new

CSV.filter( input_text, output_text ) { |row|
row[ 1 ] = nil unless row[ 0 ] # nil の時
}

print output_text

出力
,
b,b
,

900デフォルトの名無しさん (ワッチョイ 0f10-z8YJ)2022/10/18(火) 11:09:36.18ID:NJQ5BOf00
>>895
で、誰もお前に意見聞きたいとか頼んでないのにどうしてそんな自意識過剰な反応してんの?

901デフォルトの名無しさん (ワッチョイ 2bcd-7iBv)2022/10/18(火) 13:16:40.55ID:O7d9QRYR0
>>899
見づら!
なにこのクソ言語

902デフォルトの名無しさん (ワッチョイ 5bda-23WP)2022/10/18(火) 14:44:23.15ID:5fCnmsLA0
>>896
2~3分だな90分もかからんよ

903デフォルトの名無しさん (ワッチョイ bb5f-L4ib)2022/10/18(火) 19:46:45.52ID:LJ6jaE7r0
ちょうど今日別々のシートの範囲Unionして二次元配列にしようと思ったらエラーだったな
同一シートじゃないと無理らしいね
二次元配列同士を結合したからまあいいけど

904デフォルトの名無しさん (スププ Sdbf-imh7)2022/10/18(火) 21:13:25.02ID:bD7mk4M6d
>>896
Nextのズレが気になって気になって今日は眠れないわ

905デフォルトの名無しさん (アウアウウー Sacf-23WP)2022/10/18(火) 23:15:32.25ID:fRTdwDaSa
変数に漢字w = 0

906デフォルトの名無しさん (ワッチョイ df2d-YUgo)2022/10/19(水) 15:06:47.27ID:XsVwav6s0
マウスで範囲指定した複数のセルから値を受け取ったり書き込んだりする方法はありますですか?

"A1:C3" と指定した状態でそこに有る数値をVba側で受け取って一つ一つ何かをしたあと、
また今の指定した範囲のセルに書き込むとかです。

一つのセルであれば、ActiveCell.Value とすればいいですよね。

907デフォルトの名無しさん (アウアウウー Sacf-23WP)2022/10/19(水) 15:45:02.14ID:RzDK/9cQa
日本語が不自由な人多いな

908デフォルトの名無しさん (ワッチョイ 7b49-AA2Q)2022/10/19(水) 16:40:42.06ID:kjFQ3fMO0
>>906
Application.Selection.Valueで出し入れできる
基本的に2次元配列を操作することになるが、
単一のセルだと配列にならないとか
複数の領域が選択されていたときにどうするかとか
細かいところを考えることになる

909906 (ワッチョイ df2d-YUgo)2022/10/19(水) 20:54:47.64ID:wavRu5Wg0
>>908
大変重要なキーワードを提示いただきありがとうございます。

とりあえずの目的は達成できました。

また、これで詳しい内容をググりに行けますです。

910906 (ワッチョイ df2d-YUgo)2022/10/19(水) 22:12:45.50ID:wavRu5Wg0
ここに書いてありました
https://detail-infomation.com/vba-selection/

911デフォルトの名無しさん (ササクッテロラ Sp0f-HPGf)2022/10/20(木) 01:06:22.80ID:Rvw6iN3vp
>>896
>>899
ありがとうございます。

912デフォルトの名無しさん (ワッチョイ fb59-O2JP)2022/10/20(木) 06:04:53.46ID:I98JYgIT0
外出先でもスマホからマクロ実行したいからGASでプログラムやろうかと思ってる

913デフォルトの名無しさん (ワッチョイ 9f42-M5DG)2022/10/20(木) 07:03:58.77ID:D7MvRF2u0
勝手にやればええやん

914デフォルトの名無しさん (ブーイモ MMbf-hLuc)2022/10/20(木) 09:47:53.53ID:gU8aHBR/M
GASいいよね
Googleスプレッドシートは単一のブックを皆で共有してつつき回すのが前提だから、
Excel VBAでよくあるようにデータとマクロ用ブックを分けて部署別の複数のデータファイルをVBAでまとめて集計するみたいなことをする必要性が低くて、
そもそもGASを書かなくて済むケースが多かったりする
外部APIとのデータ連携が必要なときくらいだな

915デフォルトの名無しさん (スッップ Sdbf-h7FX)2022/10/20(木) 10:11:29.65ID:od/5Btdhd
ここで広げる話じゃねぇ

916デフォルトの名無しさん (ワッチョイ 2bcd-7iBv)2022/10/20(木) 11:53:08.75ID:jbEEQ7MN0
GASってスマホからも動かせるの?

917デフォルトの名無しさん (ブーイモ MMbf-hLuc)2022/10/20(木) 12:40:27.98ID:gU8aHBR/M
もちろん

918デフォルトの名無しさん (ワッチョイ 9f4f-wXMq)2022/10/20(木) 17:44:35.99ID:zIYHKHDh0
>>914
それってWeb版EXCELと何が違うの?

919デフォルトの名無しさん (ブーイモ MMbf-hLuc)2022/10/20(木) 17:58:16.85ID:wfln4dMhM
もちろん違わないよ
全く同じことがWeb版Excelにも言える
まあExcelにしちゃうとせっかく共有してても結局ローカルコピーを作るバカが必ず出てきて邪魔になりがちだから、間違った使い方をするのが難しいという点では好ましいかもね

920デフォルトの名無しさん (オイコラミネオ MM8f-MSw4)2022/10/20(木) 18:01:51.16ID:rx8Gs0n5M
それはWEB版を使いにくいと思ってる人が居るってことでは?

921デフォルトの名無しさん (ワッチョイ fb59-O2JP)2022/10/20(木) 23:20:50.15ID:I98JYgIT0
試しにAndroidスマホからボタン(図形)をクリックしたけどgasを実行できなかったよ
なんか色々と制約があるみたいだし、JAVAやC#でスマホアプリ作ったほうがいいな

922デフォルトの名無しさん (ワッチョイ 9f4f-wXMq)2022/10/21(金) 00:43:10.35ID:HmQfBwoT0
どんどんスレの趣旨からはなれtrくなー
そもそもスマホアプリ作るならAndroidでC#使うならXamarin使うことが前提になるしiPhoneならSwiftかObjectiveCだろ

WindowsPhoneならxamlとC#かVB.Netで作ること出来たけど死滅しちゃったからなー
Javaは実行時に中間コード翻訳が挟まるから重いし
やっぱりスマホはiPhoneをSwiftで開発するのが最強だろうな
AppleのMacで開発することが前提になるからちょいお金が必要になるけど。

ExcelのVBAやってる人はMac買うんなら別途Windows も必要だな
MacのEXCELはVBAまともに動くことを期待しない方がいいから。

923デフォルトの名無しさん (スプッッ Sd0f-kCmy)2022/10/21(金) 01:50:58.42ID:6vVdUlmSd
>>922
突っ込み所が多過ぎ

924デフォルトの名無しさん (ワッチョイ 1f74-ZEg/)2022/10/21(金) 08:00:32.41ID:K0Nv/hCp0
>>922
突っ込み所がほんと多過ぎ

925デフォルトの名無しさん (スップー Sdbf-xj4W)2022/10/21(金) 17:19:06.50ID:qYJSQXItd
質問ですが、
シートに動的に追加したボタンに対して、共通のクリックイベントを追加したいのですがやり方がわかりません。
教えてほしいです。

activesheet.buttons.addで追加したボタンに対して、
クラスモジュールで作成したクリックイベントを結びつけたいです。

926デフォルトの名無しさん (スップー Sdbf-xj4W)2022/10/21(金) 17:20:50.78ID:qYJSQXItd
動的にボタン作成しながらそのボタンに対して共通のクリックイベントを結びつける方法です

927デフォルトの名無しさん (ワッチョイ 9fd8-NYmr)2022/10/21(金) 18:49:07.97ID:7JSr5kXR0
>>926
.OnAction プロパティにプロシージャ名を設定

928デフォルトの名無しさん (ワッチョイ 7b2f-KWxC)2022/10/21(金) 19:01:18.29ID:DZ21JFev0
基本的にはボタンのOnActionにマクロ(Subのメソッド)名を設定すればいいんだが
クラスモジュールのメソッドとか直接指定できないんじゃないかな
間に標準モジュールかますとかすれば行けると思うが

929デフォルトの名無しさん (スッップ Sdbf-h7FX)2022/10/21(金) 19:01:59.59ID:2/IIqD8Nd
マクロの記録でもやればおおよそやりたい事のひな型のコードはできると思うんだよね
そういうやり方で解決できない人ってなんだろと思う
ActiveSheet.Buttons.Add(168, 108, 186.75, 66.75).Select
Selection.OnAction = "Macro1"
マクロで作ったこれを参考にすればいいんじゃないのと思うが
Addで作ったものをObject型の変数で受け取ってその変数のOnActionに代入するだけでしょ
それにググればこの程度はいくらでもでてくるんだけどね

930デフォルトの名無しさん (ワッチョイ 9f4f-wXMq)2022/10/21(金) 23:26:00.91ID:HmQfBwoT0
>>928
確かに。
何でクラスモジュールのメソッドに紐付けようとするか謎だよな。
そもそもそれにはインスタンスが生成されていなければならない訳だし
VBAのクラスはそこまで万能では無いからシングルトンパターンでよく使われるみたいに自分で自分を生成することも出来ない。

そうすると前もって生成したインスタンスのメソッドに紐付けるしかない訳だけどそんなことVBAのクラスで本当に出来るのか?と思ってしまうわな。

931デフォルトの名無しさん (スップー Sd02-x+My)2022/10/22(土) 09:44:18.85ID:+w0aEr6Jd
クラスのモジュールではなくてもいいんですけど、何かしらの共通メソッドを呼び出せるようにしたいです。

動的に作った編集ボタンが100個くらいあって、編集するフォームを呼びだす共通メソッドに紐付けたいです。

932デフォルトの名無しさん (エムゾネ FFa2-iXgQ)2022/10/22(土) 10:00:21.77ID:tvj8JbCcF
初心者向けサイトに出てくるWithEventのやつじゃないの
クリックならいけるけどEnterとか一部はだめだから使わなかった

933デフォルトの名無しさん (ササクッテロラ Sp11-CC1/)2022/10/22(土) 10:24:34.97ID:ivMt1YnGp
>>931
それは同じ関数呼んで引数で関数内で何とかするんじゃダメなの?

934デフォルトの名無しさん (ワッチョイ e9cd-80Lh)2022/10/22(土) 10:41:03.80ID:ANF77yYL0
この辺?
https://thom.hateblo.jp/entry/2016/10/13/005105

Newしたcommandbuttonにaddeventhundlerみたいなことって出来ないのかな

935デフォルトの名無しさん (ワッチョイ 82d8-fRj8)2022/10/22(土) 10:49:28.11ID:tqPxko+s0
だから何人も.OnActionだって言ってるのにアホなん?

936デフォルトの名無しさん (ワッチョイ 82da-TfLj)2022/10/22(土) 11:20:03.36ID:c1Knyq/s0
目的や使用場面が不明だけど、それは1Sheet上にボタン100ヶ必要なものなのか?
そのボタンは、どう配列・配置されるものなのか マス目に10×10とかなのか、タテとかヨコにぞろぞろ100ヶなのか
何らかのデータの塊の傍にボタンを動的に配置し、それを押すことでひな型の編集フォームを呼び出すというのか
>>934 とか上に書かれてきたサンプルを参考にして苦心して作れたとしても、結果として「それ違くね?」には成らないのか
設計の妥当性が問われる
「動的に編集ボタンをつくる」ための何らかのイベントが在るわけだし、だったらそれに結びつけた方が無駄が少ない とも

937デフォルトの名無しさん (ワッチョイ 824f-CC1/)2022/10/22(土) 15:30:44.10ID:UYHwlHOK0
>>936
確かにねー
でもリストの行の横っちょにボタン付いてて
そのボタン押すとその行のデータ読んできて処理するとか
ExcelのVBAじゃなくてもよくあることだし
そう考えると100どころか1000くらいくっついてても
それがユーザーにとって使いにくいとは言い切れない
ケースもあるから何とも言えないね

938デフォルトの名無しさん (ワッチョイ 027c-QNr5)2022/10/22(土) 16:00:19.50ID:Md3R6uzp0
ポタン100個つけるならフォームは考えないでワークシートでselectionchangeでいいと思う

939デフォルトの名無しさん (ワッチョイ e9cd-80Lh)2022/10/22(土) 16:21:19.65ID:ANF77yYL0
onclickでセルによって判別でもいいかもね

940デフォルトの名無しさん (ブーイモ MMe6-QNr5)2022/10/22(土) 17:25:01.86ID:R6+v0VTJM
>>939
あ、そっちのほうがいいね

941デフォルトの名無しさん (ワッチョイ 05da-80Lh)2022/10/22(土) 18:08:51.98ID:8rFwb/oz0
ボタンって最大何個ぐらい貼り付けできるんだろ?
メモリがあれば10万個とか貼れんのかな

942デフォルトの名無しさん (ワッチョイ d244-x+My)2022/10/22(土) 18:14:52.06ID:CPpJyo/d0
>>938
>>939
確かにボタンにこだわる必要はないですね
セルクリック時にフォーム呼び出したらいいですね

943デフォルトの名無しさん (スププ Sda2-tMZE)2022/10/22(土) 22:30:23.86ID:GMPaa0s5d
と言う事で無事解決しましたね

944デフォルトの名無しさん (ワッチョイ 82da-TfLj)2022/10/23(日) 11:33:27.17ID:le1S+yxh0
Excelのイベントに onclick とか無いけどな
OnDoubleClick ならあるけど 余計な位置でクリック・ダブルクリックした時に
そのたんびに編集フォーム出るのを対策必要かな
違うイベントに関連付けた方がいいのかな

945デフォルトの名無しさん (ワッチョイ 71ac-yrTQ)2022/10/23(日) 16:22:22.37ID:BP6ngYdb0
まあワイだったら単純にするために、
セル(か行)を選ばせて、
ボタンではその値を参照してフォームに渡させるって感じで作るけどな
シートにオブジェクト何個も置くのはワイ的に無し

946デフォルトの名無しさん (ワッチョイ 05da-ze3V)2022/10/23(日) 18:53:55.43ID:WPTFsqfB0
初心者は100ぐらい根性で書けばいいのだ

947デフォルトの名無しさん (ブーイモ MMe6-dUwF)2022/10/23(日) 20:53:35.93ID:+izIRcqGM
>>946
そのあと「これは効率が悪い」と気付いて修正するならいいけど、それしか考えられず500,1000と増やし続けているおじさんがウチの会社にいます。

948デフォルトの名無しさん (ワッチョイ d244-x+My)2022/10/23(日) 23:34:27.69ID:3vnbJWYw0
>>945
セルを選択させてボタンを押してその行の値をユーザーフォームに引き渡すの?

949デフォルトの名無しさん (ワッチョイ 4259-2VNu)2022/10/24(月) 03:27:38.59ID:lrg5VPVy0
(;・∀・)1000個やった。。プログラマはすげぇやって思ったけど効率いいやり方あるんか。

950デフォルトの名無しさん (ワッチョイ cdda-6OKV)2022/10/24(月) 06:08:08.92ID:6AUN+j8g0
似たような処理ならforでもdoでもいいから1000回ループさせればいいわいな

951デフォルトの名無しさん (アウアウウー Sa45-ze3V)2022/10/24(月) 11:49:03.56ID:iXy6XZlxa
動いているなら問題ないと思うよ

952デフォルトの名無しさん (ワッチョイ 4259-2VNu)2022/10/24(月) 20:02:23.15ID:lrg5VPVy0
時間できたら改修してみるわ

953デフォルトの名無しさん (アウアウウー Sa45-ze3V)2022/10/25(火) 13:18:15.56ID:dMEmx1y0a
問題なく動いているのを変に直してバグ入れる人よくいる

954デフォルトの名無しさん (ワッチョイ 8201-yYWu)2022/10/25(火) 14:05:40.72ID:Awxzqqqu0
ん?
俺の悪口やめろよ

955デフォルトの名無しさん (ワッチョイ c666-k5Vx)2022/10/25(火) 15:35:28.46ID:zuyTceYk0
wordVBAについて質問したいのですがここでも良いですか?
win10
2019版ですが、ページ番号5のページ全体を選択状態にしたいのですが、ググって見つかったrectangles(1)の手法は2019ではうまくいきません。
解説サイトがExcel VBAに比べてとても少ないので困っています。
ご存知のかたいませんでしょうか?

956デフォルトの名無しさん (ワッチョイ ee8e-ydIA)2022/10/25(火) 15:37:35.82ID:rYg1mhKw0
>>955
死ねよ

957デフォルトの名無しさん (ワッチョイ 82da-TfLj)2022/10/25(火) 15:39:53.50ID:PC01Ck0J0
いや、あんたじゃないよ、おれの悪口だよ

958955 (ワッチョイ c666-k5Vx)2022/10/25(火) 15:48:40.06ID:zuyTceYk0
https://www.wordvbalab.com/code/3737/
ここで解決しました。

ルール違反だったようですみませんでした。

959デフォルトの名無しさん (ワッチョイ 027c-QNr5)2022/10/25(火) 17:07:14.74ID:KrF65cxW0
>>958
956が頭おかしいだけだから気にすんな

960デフォルトの名無しさん (ワッチョイ 19da-XamW)2022/10/26(水) 01:53:51.72ID:cEMR/QGK0
今は死ねとか言っちゃいけないんだぞ!

961デフォルトの名無しさん (ワッチョイ ee8e-ydIA)2022/10/26(水) 11:34:25.48ID:gGo/2Fws0
VBAのスレはこの今に存在するし、Excelって書いてあるのに無視して質問してる
更にはあまりにくだらないないようであるし
この手の連中はつけ上がるからな

962デフォルトの名無しさん (ワッチョイ 8201-yYWu)2022/10/26(水) 14:36:09.42ID:xzd5i3vP0
なら誘導してやればいいだけだろ

VBAなんでも質問スレ Part3
http://2chb.net/r/tech/1631184381/

963デフォルトの名無しさん (ワッチョイ 05da-80Lh)2022/10/26(水) 19:48:54.22ID:EO+J62QK0
バカは死ななきゃ治らないそうですよ

964デフォルトの名無しさん (ブーイモ MMa2-TfLj)2022/10/26(水) 21:41:45.13ID:Zi5ur2ypM
>>963
それは残念でしたね

965デフォルトの名無しさん (ワッチョイ e9cd-80Lh)2022/10/26(水) 22:17:58.40ID:izoyFRHN0
>>963
あっ・・・

966デフォルトの名無しさん (スフッ Sda2-0C0d)2022/10/28(金) 13:09:52.87ID:KYP1+/DId
Excel初心者です。
カレンダーから日付入力のアドインをチェックボックスを使って表示・非表示したいのですが可能ですか?
また、スクロールしても画面内の同じ位置に表示し続けることは可能ですか?
できればコードを教えてほしいです(*_ _)

967デフォルトの名無しさん (ワッチョイ 05da-XamW)2022/10/28(金) 16:04:55.62ID:OMbpfHro0
おまいら親切すぎるんだわ
どんだけお人好しなんだ?

968デフォルトの名無しさん (ワッチョイ e9cd-80Lh)2022/10/28(金) 16:17:16.47ID:n9kqTWYK0
>>967
って思うじゃん?
ここで回答すると、違っていた時やもっといい方法があるときに上乗せして回答される
すっげーいい勉強になるんだぜ

969デフォルトの名無しさん (ワッチョイ 05da-XamW)2022/10/28(金) 18:37:43.76ID:OMbpfHro0
単にマウント取られてるんじゃなくて?

970デフォルトの名無しさん (オイコラミネオ MM69-zGee)2022/10/28(金) 19:20:57.49ID:YuCy5lGNM
マウント取られるならむしろ勉強になるだろ

971デフォルトの名無しさん (スッップ Sda2-72Rk)2022/10/28(金) 19:39:15.46ID:sCscEEFEd
優劣つけたがる奴多いけど
技術的な解決方法の話(こういう方法もあるぞ)だったらマウントいうのはおかしくないか?

972デフォルトの名無しさん (ワッチョイ 05da-80Lh)2022/10/28(金) 19:49:26.94ID:xzhsh84s0
質問に対しての回答例ならマウントという表現はおかしいと思うが
その後の雑談は確かにマウントの取り合いに見える

973デフォルトの名無しさん (ワッチョイ 0242-qYyM)2022/10/28(金) 20:29:32.46ID:TnsRe9wR0
僕が一番VBAをうまく使えるんだって言いたくなるのはわからなくはない

974デフォルトの名無しさん (ワッチョイ 05da-80Lh)2022/10/28(金) 20:42:13.46ID:xzhsh84s0
二位じゃ駄目なんですか

975デフォルトの名無しさん (ワッチョイ e9cd-80Lh)2022/10/28(金) 21:17:01.84ID:n9kqTWYK0
>>969
頼むからマウント取ってください!
とにかく俺の上のスキルを見せて欲しい。なんでもしますから!

>>971
実際、確実に上って人はいくらでもいるよ

976デフォルトの名無しさん (ワッチョイ 05da-Px48)2022/10/28(金) 21:23:26.29ID:ZY9+XqOP0
お前がぐちゃぐちゃ入ってないで解答教えてやれや
971がやきもきしてるぞ

977デフォルトの名無しさん (ワッチョイ c1da-Tk+f)2022/10/29(土) 00:12:28.15ID:LP1UZCi+0
>>966
カレンダーアドインは使ったことないんでわからん
カレンダー程度なら自作できるので融通の利かないアドインは好かんのです

978デフォルトの名無しさん (ラクッペペ MMeb-YnjT)2022/10/29(土) 02:12:02.06ID:Q43C9b/9M
汎用性のある日付入力カレンダーの自作は結構大変だろ
休日祝日の更新処理が面倒で自作はあきらめた

979デフォルトの名無しさん (オイコラミネオ MM95-QZ9y)2022/10/29(土) 07:19:37.14ID:EvNBvM9mM
>>978
最近使ってるが祝日はこれ使うと楽だぞ
https://excelapi.org/docs/datetime/holiday-list/

980デフォルトの名無しさん (ワッチョイ 1301-pRvw)2022/10/29(土) 07:56:20.37ID:y8vo38aP0
>>978
> 休日祝日の更新処理が面倒で自作はあきらめた
それ汎用性のある日付入力カレンダーでやることじゃないだろ...

981デフォルトの名無しさん (ワッチョイ f15f-OSI7)2022/10/29(土) 09:53:33.94ID:WkAX7jzB0
日数算出するの面倒いよな
うちの会社は祝日が全部休みじゃないし

982デフォルトの名無しさん (ラクッペペ MMeb-YnjT)2022/10/29(土) 10:12:47.32ID:S8npcbCXM
結局、日付入力はカレンダー形式やめてテキストボックスとスピンボタンで適当に誤魔化した

983デフォルトの名無しさん (ワッチョイ 13da-ee5o)2022/10/29(土) 11:10:55.70ID:zPpzpsf30
>>966
アドインでは無くてユーザーフォーム作ってそこにボタン配置してシート上のセル操作ならやったことある
[BttnF] という名のユーザーフォームを呼び出すのに、A1セルにボタン [cmdBttnF] を配置(ウィンドウ枠の固定でA1はずっと表示してるから)

Private Sub cmdBttnF_click()
With BttnF
.StartUpPosition = 0
.Top = 100
.Left = 800
.Show vbModeless
End With
End Sub
これだけで、画面スクロールしてもシート上の同じ位置に居続けるし、もちろんフォーム掴んで動かし回してもいい ×で閉じることもできる
うっかり閉じても、又A1セルにあるボタン押せば表示できるし

984デフォルトの名無しさん (ワッチョイ c1da-Tk+f)2022/10/29(土) 11:19:55.02ID:LP1UZCi+0
>>966
少しだけ補足すると、質問の文章がきちんと書かれていないので回答しにくい部分があって
EXCELのバージョンとカレンダーアドインについての情報がないので私の環境での説明では質問者のものと異なるかもしれない
アドインの表示/非表示はVisibleとかの表示関係のプロパティーは調べないのか
スクロール範囲は「ウインドウ枠の固定」かユーザーフォームとかが考えられるんじゃね

985デフォルトの名無しさん (ワッチョイ 13da-ee5o)2022/10/29(土) 14:34:50.58ID:zPpzpsf30
>>966 「カレンダーから日付入力」のアドインは個人用アドインに取り込まれて
毎回それをダイアログから追加するか貼り付けたまま使い続けるかの使用方法しかない様子
マクロの記録で一連の操作をしても望む動きしないし、ユーザーフォームに貼り付けるとか
コピペとかいろいろ試したけど、どれもできず断念
作者に交渉して「こういう使用方法したい」と改善依頼するしかないような 誰か他の案プリーズ

986デフォルトの名無しさん (オッペケ Src5-NQ1M)2022/10/29(土) 17:02:02.57ID:pObfyH4Kr
初心者あるあるの後だし条件

987デフォルトの名無しさん (ワッチョイ 1901-Uvty)2022/10/29(土) 18:34:46.28ID:XVu26ZuG0
質問です。
VBAの処理の途中経過をログのようにコマンドプロンプトに表示させたいのですが、
どうすればよろしいでしょうか?
高速だと尚嬉しいです。

988デフォルトの名無しさん (ワッチョイ c1da-Tk+f)2022/10/29(土) 19:12:37.96ID:LP1UZCi+0
>>987
表示だけならユーザーフォームにテキストボックス貼り付けるだけでいいんじゃね

989デフォルトの名無しさん (ワッチョイ 69cd-Tk+f)2022/10/29(土) 22:00:56.05ID:Ty5cM9IY0
>>987
debug.printでイミディエイトウィンドウじゃだめなの?
フロートさせることもできるからわざわざコマンドプロンプトに投げなくてもいいと思う
Excel VBA 質問スレ Part77 YouTube動画>1本 ->画像>5枚

990デフォルトの名無しさん (ワッチョイ 1901-Uvty)2022/10/29(土) 22:52:21.52ID:XVu26ZuG0
ありがとうございます。
フォームか、イミディエイトウィンドウを独立に出すのですね。
VBAを別のシステムから呼び出すのですが、エクセルをアクティブにしていなくても前面に出てきますでしょうか?

991デフォルトの名無しさん (ワッチョイ 39ac-Gg+7)2022/10/29(土) 23:18:52.58ID:PRTnNeqn0
別の、、システム?

992デフォルトの名無しさん (ワッチョイ 134b-8o/i)2022/10/29(土) 23:36:52.05ID:pTxh4CzU0
Pythonとかじゃね

993デフォルトの名無しさん (ラクッペペ MMeb-YnjT)2022/10/29(土) 23:38:18.77ID:epZm7Ut5M
Excelを他のシステムから呼び出すならVBAではなくてOfficeアドイン(COMアドイン)

994デフォルトの名無しさん (スッップ Sd33-iO6U)2022/10/29(土) 23:45:53.72ID:VMSbDQpEd
そこまでの事するわりにここで質問するとかw

995デフォルトの名無しさん (ワッチョイ 1901-Uvty)2022/10/30(日) 01:27:01.53ID:PMPwr2WR0
すみませんいろいろとあるのですが、とりあえずイミディエイトウィンドウで試してみます

996デフォルトの名無しさん (ワッチョイ 13da-8NBT)2022/10/30(日) 03:01:55.11ID:fzG7wj8e0
よく分からんけど、VBSなら呼び出しも黒窓も両方できるぞ。

997デフォルトの名無しさん (ワッチョイ 13d8-6og/)2022/10/30(日) 08:52:03.88ID:OaWd/xmf0
>>996
コマンドラインプロンプトからvbs経由でエクセルのマクロ叩くのはいいけど、そのマクロからDebug.Print的なのを画面に書き出すのはどうやるの?マクロからテキストファイル開いてログを書き出す方法ならわかるけど

998デフォルトの名無しさん (ワッチョイ 13da-ee5o)2022/10/30(日) 10:19:47.96ID:5A/AyQcT0
ドラマや映画の中でよくある、でっかいマルチモニター複数枚に
犯人画像や防犯カメラ映像、それに並べてプロファイリングや位置情報やらの隅っこで
黒窓の中に意味不明な文字列がズラズラ流れてるような そんなのを作りたいんだと思う おれはつくりたい

999デフォルトの名無しさん (ワッチョイ 1901-Uvty)2022/10/30(日) 10:52:42.98ID:PMPwr2WR0
>>998
イメージとしてはそうです。
ありがとうございます。
黒窓だとログっぽさが出て使う人がわかりやすいかなぁと思っていた次第です。
Microsoft同士なのに単純には出来ないんですね

1000デフォルトの名無しさん (スッップ Sd33-iO6U)2022/10/30(日) 11:37:34.89ID:LcJSLwmnd
ログっぽさとかw
VBAだけでやろうとせずにPowershellでも使ってファイルに出力したログをずっと表示するような仕組みでいいんじゃないの
画面に流しても見逃したらログのいみなくね?


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

TOPへ TOPへ  

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


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

 ↓「Excel VBA 質問スレ Part77 YouTube動画>1本 ->画像>5枚 」を見た人も見ています:
Excel VBA 質問スレ Part67
Excel VBA 質問スレ Part66
Excel VBA 質問スレ Part68
Excel VBA 質問スレ Part61
【RIFT】 Rift: Planes of Telara 質問スレ Part5
Counter-Strike: Global Offensive 質問スレ Part3
【TESO】The Elder Scrolls Online 質問スレ Part27
【TESO】The Elder Scrolls Online 質問スレ Part46
【PS/XB】Elden Ring エルデンリング 質問スレ Part3
【TESO】The Elder Scrolls Online 質問スレ Part24
【TESO質問】The Elder Scrolls Online 質問スレ Part1
【TESO】The Elder Scrolls Online 質問スレ Part6 [無断転載禁止]
【TESO】The Elder Scrolls Online 質問スレ Part25 [無断転載禁止]
【TESO】The Elder Scrolls Online 質問スレ Part15 [無断転載禁止]
【PoE】 Path of Exile 質問スレ part22
【PoE】 Path of Exile 質問スレ part14
【FFBE】 FINAL FANTASY BRAVE EXVIUS 質問スレ6
【PoE】 Path of Exile 質問スレ part33
【PoE】 Path of Exile 質問スレ part23
【MGO】METAL GEAR ONLINE 質問スレ Part14
【FFBE】 FINAL FANTASY BRAVE EXVIUS 質問スレ7 [無断転載禁止]
【PoE】 Path of Exile 質問スレ part15 [無断転載禁止]
【ソロ専用】アナザーエデン 時空を超える猫 質問スレ 36匹目 【アナデン】
【ソロ専用】アナザーエデン 時空を超える猫 質問スレ 33匹目 【アナデン】
【ソロ専用】アナザーエデン 時空を超える猫 質問スレ 8匹目 【アナデン】
【ソロ専用】アナザーエデン 時空を超える猫 質問スレ 13匹目 【アナデン】
【ソロ専用】アナザーエデン 時空を超える猫 質問スレ 25匹目 【アナデン】
【ソロ専用】アナザーエデン 時空を超える猫 質問スレ 30匹目 【アナデン】
【ソロ専用】アナザーエデン 時空を超える猫 質問スレ 39匹目 【アナデン】
【PC】Terraria 質問スレ Part17
PSVita 質問スレ part1 [無断転載禁止]
au Xperia Z1 SOL23 質問スレ part3
Florensia -フローレンシア- 質問スレ Part1
Tasker 質問スレ 17
【臨】 質問スレ 【床】
d払い 質問スレ Part1
iTunes 質問スレ Part19
ChMate 質問スレ Part55
ポケモンGo 質問スレ Lv.66
ポケモンGO 質問スレ Lv35
ポケモンGo 質問スレ Lv.59
ポケモンGo 質問スレ Lv.68
メギド72 質問スレ Part515
ポケモンGo 質問スレ Lv.40
Warframe 質問スレ RANK32
ポケモンGO 質問スレ Lv27
ポケモンGo 質問スレ Lv.65
ポケモンGo 質問スレ Lv.44
ポケモンGo 質問スレ Lv.64
ポケモンGO 質問スレ Lv14
ポケモンGo 質問スレ Lv.67
Fallout4 PC 質問スレ 25cap
三国ヒーローズ 質問スレ Part6
スター・ウォーズ 質問スレ EP6
スター・ウォーズ 質問スレ EP9
Tree of savior 質問スレ Part4
au by KDDI 質問スレ Part.240
au by KDDI 質問スレ Part.234
Tree of Savior 質問スレ Part39
【PC】Warframe 質問スレ RANK41
スター・ウォーズ 質問スレ EP4
スター・ウォーズ 質問スレ EP5
【PC】Warframe 質問スレ RANK57
Tree of Savior 質問スレ Part25
Fate/Grand Order 質問スレ Lv.22
03:10:22 up 4:13, 1 user, load average: 8.90, 8.60, 8.58

in 0.082350969314575 sec @0.082350969314575@0b7 on 011317