Excel VBA 質問スレ Part77at TECH
Excel VBA 質問スレ Part77 - 暇つぶし2ch1:デフォルトの名無しさん
22/07/17 07:07:35.59 tS4zKdphH.net
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
↑同じ内容を3行貼り付けること
ExcelのVBAに関する質問スレ
コード書き込みや作成依頼もOK
次スレは>>980が立てること
無理なら細かく安価指定
※前スレ
Excel VBA 質問スレ Part76
スレリンク(tech板)
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured

2:デフォルトの名無しさん
22/07/17 07:10:10.39 tS4zKdphH.net
3行貼り付けても
2行になるんだな この呪文↓
!extend:checked:vvvvv:1000:512

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

4:デフォルトの名無しさん
22/07/17 09:31:50.50 v2iZkzZwM.net
Excelの使い方すらわからない馬鹿な人と例のあいつはお断りです
Ruby馬鹿の釣りに引っ掛かる人も馬鹿な人もお断り

5:デフォルトの名無しさん
22/07/17 15:05:00.70 QiBhjgara.net
1行目は本物の呪文
2行目は次回スレ立て時用の呪文
3行目は間違って消す馬鹿除けの保険

6:デフォルトの名無しさん
22/07/17 16:11:39.66 iyijmfZc0.net
>>5
美しくて泣く

7:デフォルトの名無しさん
22/07/17 18:41:41.02 4QBMdWYX0.net
マクロで比較して、無い項目だけを追記するという事をしたいんです。
業務の日程と進捗を管理しているシートを作る際、毎回[元になる大日程表]を編集して自分の作っているシートに手動で転記しています。
これを自動化したいんですが可能でしょうか?
今思っているのは元データと自分のシートでは作り(テンプレ)が違うのでまず元データを自分のシートと同じ列体系にする(E列からG列は元データにはないステータス等の項目があるため)
それを自分のデータのテンプレに貼り付け
貼り付けたテンプレシートと今のシートを比較して今のシートには無いデータだけを今のシートに追記する
ということをしたいのですが可能でしょうか?
またデータは機種ごとの納期順に並べているのですが対応は可能か、また機種を選んで(この機種だけを)比較して追記出来るのかも知りたいです。
機種ごとの区切りは空白をあけてB列に機種を書いて区切っています
区切りは難しいなら後で挿入すればいいかと思っています
1から5行目はハイパーリンク等があり実際にデータがある(始まるのは)のは6行目から800行目くらいです

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

9:デフォルトの名無しさん
22/07/17 21:53:53.41 lEW2LcQY0.net
クソコードは徹底的に弾圧するのがこのスレです

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

11:デフォルトの名無しさん
22/07/17 22:26:12.07 pcAahLMQ0.net
関数名で表された仕事だけ副作用なくこなし
関数内のコードレベルで何やってんのかまで
呼び出し側が気にしなくていい作りにする。

12:デフォルトの名無しさん
22/07/17 22:43:35.33 jcjjA0XP0.net
>>10
・オブジェクトごとの操作/参照をクラスにまとめる
・テストを書いておく(Debug.Assert)
でも確認作業に半日もかかるのはそもそものやり方自体がおかしいと思う

13:デフォルトの名無しさん
22/07/17 22:47:05.49 4J5I9HKr0.net
>>10
わかりやすい名前を付ける
コメントをしっかり書く
プライドを捨てる

14:デフォルトの名無しさん
22/07/17 23:39:51.10 2HUxCZvI0.net
>>13
私はコメントを書かない
コメントは嘘をつく
コメントとコードが合致していることを保証する方法がない
そもそもコメントのメンテまで手がまわらない

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

16:デフォルトの名無しさん
22/07/18 01:07:31.38 bK0MLmyI0.net
>>10
痴呆症か?

17:デフォルトの名無しさん
22/07/18 01:59:24.29 eH+87J0s0.net
コメント書くのは基本中の基本て新入社員時代のVBA研修で教わったけどなぁ。

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

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

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

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

21:デフォルトの名無しさん
22/07/18 04:09:47.08 eH+87J0s0.net
かといって書かないよりはマシ

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

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

24:デフォルトの名無しさん
22/07/18 07:40:03.74 eH+87J0s0.net
書く人によってそれぞれクセが出やすいからコメントあると嬉しい

25:デフォルトの名無しさん
22/07/18 08:00:31.93 sapaqXZv0.net
>>10
先にfunctoinとコメントだけ書いておく
実際のコードはコメントに合わせてのんびり書けば良い

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

27:デフォルトの名無しさん
22/07/18 18:45:03.91 1+7+/g6j0.net
>>10
1日やっても完結しない巨大なジュールやプロジェクトの場合は
初めに全体の設計をやって仕様書つくるもんじゃね

28:デフォルトの名無しさん
22/07/18 18:47:09.39 1+7+/g6j0.net
モジュール

29:デフォルトの名無しさん
22/07/18 21:18:12.43 N5Namf5L0.net
>>10
モジュールわけてるよね
ねんのため

30:10です
22/07/18 22:44:32.04 5BAUqTL80.net
必要なところはモジュールを分けてます
ただコードを書く際にどことどこに影響あるのかとかを把握するのにいちいち時間がかかる感じです。
設計の段階でミスがある感じですかね?

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

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

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

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

> ・テストを書いておく(Debug.Assert)
いわゆるTDDです。thom先生の記事見た方が早い
URLリンク(thom.hateblo.jp)

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

34:デフォルトの名無しさん
22/07/19 06:08:17.00 I3VG04Vs0.net
> クラスやシートA
シートAってなんだ…「シート」です

35:デフォルトの名無しさん
22/07/19 12:34:10.12 QvSB1dsY0.net
>>33
概ね同意だけど
その辺キチンと考えて作れていたらVBA卒業だよ
クラスに限らずメソッド、関数なんかも
それが持つ役割毎に分けて作って
それなりの場所に格納しておけばあまり迷子に
なることもないよね。
ただ、VBAはモジュール毎にフォルダ作って
階層分けられないのがちょっとね。
それと1モジュール1クラスって制限が無ければ
かなり良い感じで作れるのに残念。

36:デフォルトの名無しさん
22/07/19 12:44:16.34 2mzjLS5ja.net
モジュール毎にexcelファイルを分けるとすっきり

37:10です
22/07/19 14:49:29.27 wVlkUnGaM.net
皆さんありがとうございます。
不勉強な所でのつまづきのようですのでまた1から見直してみます。
>>33
わざわざ教えてくれてありがとうございます。参加にさせて貰います。

38:デフォルトの名無しさん
22/07/19 22:45:19.33 kKc46inh0.net
初心者で意味不明な質問で申し訳ありませんが
在庫管理で
返却日が入った品物は行ごと削除して
別シートに貼り付けて整理したいのですが、
Do LoopにIf Thenつけて
Cut Pasteを組み合わせれば
できそうですか?

39:デフォルトの名無しさん
22/07/19 22:51:31.87 BYkKL3v00.net
>>38
できるね
でも返却日でソートしたほうがはやくね

40:デフォルトの名無しさん
22/07/19 23:02:08.60 kKc46inh0.net
>>39
ごめんなさい
自分の知識だとソート云々のやり方が
分からないです
ちょっと検索して勉強してみます

41:デフォルトの名無しさん
22/07/19 23:17:01.56 giabuxB5d.net
>>40
>4を読め

42:デフォルトの名無しさん
22/07/20 06:59:57.92 qBG4++P70.net
>>41
失礼しました
Excelのソートはわかります
VBでソートして別シートに移せるのかと思いました
ワンクリックで
別シートに移すが1番重要視したいことなので

43:デフォルトの名無しさん
22/07/20 07:33:41.33 bRggQ/0k0.net
>>42
Excelの機能のほとんどはVBAでも使える
別シートに移してから、Excelのソート機能をVBAから呼び出すんよ

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

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

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

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

48:デフォルトの名無しさん
22/07/20 17:49:07.46 mz71iafY0.net
新しいシート用意してソート用に使いたく無ければ
EXCELにADO接続してSQLで取得した
Recordsetをシートに貼り付けるという手もあるよ。
少し大掛かりになってしまうかも知れないけど
そういう仕組みのモジュールを一つ作っておけば
後々同じようなことが出てきた場合に
結構楽になる。

49:デフォルトの名無しさん
22/07/20 18:20:30.35 hcgHwgQ6d.net
そもそもExcelの使い方すらろくにわからん頭で思い付いたことだからまともに相手をしても無駄

50:デフォルトの名無しさん
22/07/20 18:50:54.91 QKDnNcR/0.net
相手のレベルに合わせた回答ができないRuby厨と同じだな

51:デフォルトの名無しさん
22/07/20 20:05:56.52 mz71iafY0.net
>>50
ADO接続なんてネットでちょっと調べればすぐ出てくる。
SQLだってSELECT ~FROM [シート名$] WHERE~ 程度の簡単なもの。
つまり初心者であってもちょっと調べればすぐに分かる範囲。
相手のレベルというよりお前さんのレベルが初心者以下なのでは?

52:デフォルトの名無しさん
22/07/20 20:30:27.87 yiSU6HA/0.net
ADOって消える消える言われて全然消えないな

53:デフォルトの名無しさん
22/07/20 20:40:21.12 bRggQ/0k0.net
VBAって消える消える言われて全然消えないな

54:デフォルトの名無しさん
22/07/20 21:53:08.66 BaO5YoZA0.net
VBAが消えるはユーザーが勝手に言ってるだけだが
ADOは、公式にOLEDB非推奨が出たけど、取り消されたりしたからな

55:デフォルトの名無しさん
22/07/20 21:55:26.21 QKDnNcR/0.net
>>51
はいはい、Rubyでもやってろ

56:デフォルトの名無しさん
22/07/20 22:01:03.48 yiSU6HA/0.net
>>54
知らなかった
軽く調べてみたら、2018年にOLE DBの非推奨が取り消しになったのね

57:デフォルトの名無しさん
22/07/20 22:53:19.49 dmRxss6E0.net
そいやアレ代替あるの?

58:デフォルトの名無しさん
22/07/21 11:53:53.93 HtCJq1nnM.net
officescriptじゃね

59:デフォルトの名無しさん
22/07/21 12:03:52.84 jQSVcGnW0.net
初心者にありがちなやつ
Select,Selection
Active◯◯
Copy,Paste
他は?

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

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

62:デフォルトの名無しさん
22/07/21 12:32:01.87 0IzTDkvO0.net
>>61
そう、365です。
描画は止まってても実際は動いてるのも全く一緒ですね。
一度保存して開きなおすと治る?試してみます

63:デフォルトの名無しさん
22/07/21 13:04:59.71 sCo3tE9G0.net
>>59
思い付くのは、Next iとかをNextだけで終わらせるヤツ。
特に若いヤツに多い。

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

65:デフォルトの名無しさん
22/07/21 13:29:18.37 V7ED8gxj0.net
>>63
あれ不要だよな、センスが悪い

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

67:デフォルトの名無しさん
22/07/21 14:11:56.94 gJFaDpGv0.net
>>60
VBEのイミディエイトウインドウなりでApplication.ScreenUpdating = Trueを実行すれば良いだけでは

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

69:デフォルトの名無しさん
22/07/21 15:06:53.79 0IzTDkvO0.net
>>67
Trueにしても更新されないままなんだよね
MS障害で連携とれてないんか

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

71:デフォルトの名無しさん
22/07/21 17:06:17.40 yukJsBqWd.net
わかったわかった
そうしろそうしろ

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

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

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

74:デフォルトの名無しさん
22/07/21 18:33:51.30 7CG+4UZvd.net
>>69
GPUオフは?

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

76:デフォルトの名無しさん
22/07/21 18:45:53.15 lyHIL7tOM.net
卒倒する前にエラーでコンパイル通らないだろ

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

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

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

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

80:デフォルトの名無しさん
22/07/21 20:07:36.67 gJFaDpGv0.net
ついてようがついてまいがインデントさえ正しきゃ好きにしろで終わり

81:デフォルトの名無しさん
22/07/21 20:09:11.68 VJl0SG/3a.net
呆れたわ
お前ら本当に上級者かよ?

82:デフォルトの名無しさん
22/07/21 20:16:07.12 KsRI+X9I0.net
正直どうでもいいくせにご飯何膳いくつもりだよ笑

83:デフォルトの名無しさん
22/07/21 20:57:19.02 KTgkocG90.net
>>69
Twitterでも報告されてるな

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

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

85:デフォルトの名無しさん
22/07/21 23:26:47.96 obwhbA970.net
>>64
これちょいと前からなってたけどおま環かと思ってfalseにしないで回避してたわ
Twitter見たら前からなってる人も居たみたいね

86:デフォルトの名無しさん
22/07/22 11:13:35.20 y5iLWMChd.net
CreateObject(“Internetexplorer.Application“)が突然エラーを吐くようになった
普通のIEはまだ起動できるのに
他の人どうですか?

87:デフォルトの名無しさん
22/07/22 11:20:33.73 P7NcnZ58M.net
再起動

88:デフォルトの名無しさん
22/07/22 11:21:00.52 3zl+a5GK0.net
それも365?
何かIEはもうやめてEDGEに移行してくれって
随分前からMSからお達しがあったからその関係じゃないかな?
素直にEDGEに移行すれば?

89:デフォルトの名無しさん
22/07/22 11:28:21.24 y5iLWMChd.net
うへ、再起動したら治った
上の人ありがとうございます
でも何でだろう

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

90:デフォルトの名無しさん
22/07/22 13:04:28.34 RhXUUwNi0.net
正式なアナウンス?

91:デフォルトの名無しさん
22/07/22 15:29:50.23 Nxononph0.net
スタッフの個人ブログは正式アナウンスじゃないよ

92:デフォルトの名無しさん
22/07/22 19:04:07.42 Jcs8pkA+0.net
こないだのオフ会楽しかったな
URLリンク(blog.tirakita.com)

93:デフォルトの名無しさん
22/07/23 21:33:12.94 1FRkz0ow0.net
密です

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

95:デフォルトの名無しさん
22/07/25 10:04:05.83 Envy3B37M.net
Next iってVisualじゃないBASICでインデント付けずにフラットに書くことが多かった時代の名残でしょ

96:デフォルトの名無しさん
22/07/25 10:30:09.76 qmzvdF1J0.net
いつの話題だよ

97:デフォルトの名無しさん
22/07/25 10:31:25.87 aQHcIofRd.net
ネタがないから蒸し返したいんでしょ

98:デフォルトの名無しさん
22/07/25 14:14:33.64 TIxxPU060.net
>>95
インデントは余分にメモリ使うからな

99:デフォルトの名無しさん
22/07/25 16:11:05.58 GzNr1keE0.net
その環境だとNEXT IのIを省略した方が省メモリーじゃなかったっけ?

100:デフォルトの名無しさん
22/07/25 16:15:14.91 I+fEELmC0.net
確かコマンドごとにコードが決まっててそれでメモリを削ってた気がする
PRINTの命令コードは何番みたいに

101:デフォルトの名無しさん
22/07/25 16:21:50.51 +mm9gF5i0.net
>>99
あのー
このレベルの懐古厨にマウントは無理だよ

102:デフォルトの名無しさん
22/07/25 16:33:12.29 GzNr1keE0.net
>>100
環境に依ったような気がする
>>101
マウント厨かよw

103:デフォルトの名無しさん
22/07/25 16:38:39.42 phnqPDxNM.net
? が勝手にPRINTになるやつね
行末;とか意外と難しいよね

104:デフォルトの名無しさん
22/07/25 18:11:29.36 aiOwBskw0.net
>>103
わからない馬鹿は書かなければいいのに

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

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

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

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

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

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

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

111:デフォルトの名無しさん
22/07/25 20:15:29.72 GzNr1keE0.net
>>103のセミコロンはPRINTの改行抑止の話じゃねーの?
>>110
a = 1; のどこに関数が?

112:デフォルトの名無しさん
22/07/25 21:09:51.78 6AaHjHdw0.net
>>110
行末っていうか文末な
>>111
>>103はそういう意味かもしれんとも思ったが、それに対する>>105は...
PRINT AよりPRINT A;が早いからPRINTはセミコロンつけろっていうのは太古の昔にはあったなあ

113:デフォルトの名無しさん
22/07/25 21:59:22.05 CW1FoItD0.net
如何にこのスレがじじいばかりか
よく分かるレスだなぁ

114:デフォルトの名無しさん
22/07/25 22:26:52.71 2R2hqyBdd.net
しかもスレチな話題をずっとするし害悪でしかない

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

116:デフォルトの名無しさん
22/07/25 23:25:00.63 qmzvdF1J0.net
高田純次はすごいよな
昔話・自慢話・説教は嫌われるからしないってのを徹底してる
方やここの老害共は

117:デフォルトの名無しさん
22/07/26 18:51:38.02 bRnWAQLB0.net
ブーメラン返ってきてるぞ

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

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

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

120:デフォルトの名無しさん
22/07/27 10:42:22.72 y3iJ04t7M.net
vba shell.application getdetailsof

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

122:デフォルトの名無しさん
22/07/27 11:13:16.58 elZrgoJKa.net
>119
URLリンク(scripting.cocolog-nifty.com)

123:デフォルトの名無しさん
22/07/27 11:19:05.52 Uy/d0pUP0.net
質問させてください。
URLリンク(keizann.blog.shinobi.jp)
こちらのものを利用させていただきデータを収集しているのですが、これだと希望する場所にたどり着けないです。
例えばXPathのように2番目のliの中の〜みたいな書き方はできるのでしょうか?

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

125:デフォルトの名無しさん (ラクッペペ MMeb-FUOq)
22/07/27 11:48:06 y3iJ04t7M.net
VBAなんでも質問スレ Part3
スレリンク(tech板)

ただし…

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

127:デフォルトの名無しさん
22/07/27 15:54:35.41 t59wwtHz0.net
エクスプローラーが突然ハゲになる症状を治す方法を教えてくれまいか

128:デフォルトの名無しさん
22/07/28 21:40:24.00 5mhazMD10.net
>>127
再起動

129:デフォルトの名無しさん
22/07/29 11:13:15.94 OVkASiTwd.net
>>123
最近ウェブページ操作することが多くて参考にならないかと思ってちょいみてみた
情報取得だけならこういう方法も処理が軽いからありなのかと勉強になったわ
取得したHTMLからお目当ての文字列を切り出すのにGetText関数を重層的に用いるのな
GetText自体は簡単なもので、切り出したい文字列の前と後ろにある文字列を指定することで
その間に挟まれている文字列を取得するというもの
何度か繰り返しこの関数を使うことで、目的の文字列にたどり着く
うまいこと前後の文字列を指定してあげないと切り出しが狂ってしまって目標にたどり着けないので、その辺はHTMLをじっくり見ながらやってみるしかない
タグにクラス名とかIDとか細かく設定されてるから、その辺を前後の文字列にうまいこと含ませながらやるのかな
取得したい文字列が存在する複数ページに共通する部分を使っていかないとダメっていう難しさはありそう

130:デフォルトの名無しさん
22/07/29 13:56:47.64 rkOqpdOk0.net
(なんでHTMLDocument使わないんだろう…)

131:デフォルトの名無しさん
22/07/29 14:12:34.81 SQeCuMJr0.net
>>123
XPathを知ってるなら、そっちを使えばいいんじゃないの?
だいたいスクレイピングといえば、FindElementByCssとかFindElementByXPathをつかうもので、
なんでわざわざ別のやり方をやりたいのか意味がわからん。

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

133:デフォルトの名無しさん
22/07/29 16:37:10.32 idOVuMm7a.net
対応するASCIIコードを並べて送る

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

135:デフォルトの名無しさん
22/07/29 18:22:52.40 Msj+MKnH0.net
COMポート送受信なんて、普通はそれ用のコントロールつかうんじゃね
MSCOMMとか今はもう動かのかな

136:デフォルトの名無しさん
22/07/29 19:50:13.57 rpK6f4vc0.net
>>134
そんな簡単にはできない

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

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

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

140:134
22/07/29 21:44:49.02 4rYLg7AVd.net
回答ありがとうございます
>>135,137
MSCOMMというものを使う方法もあるのですね
調べてみます
>>138
ASCIIコードの対応でSTXが&H2、ETXが&H3ですよね
一気に送るというのは配列で渡すような形ですか?
基礎的な部分から分かっていないのできつい予感が

141:デフォルトの名無しさん
22/07/29 21:58:07.50 Msj+MKnH0.net
つか通信する相手は何だよ?
相手側機器に、通信用のライブラリとかないのか?

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

143:デフォルトの名無しさん
22/07/29 23:29:37.37 uqH2D3BDd.net
何でExcelで直接入出力する必要があるのか
馬鹿は発想からして馬鹿なんだよな

144:デフォルトの名無しさん
22/07/29 23:58:33.41 47SIIXKm0.net
>>140
> MSCOMMというものを使う方法もあるのですね
可能ならmscomm32.ocx使った方が遥かに楽
Win32APIだとボーレートとかの指定はSetCommState()を呼ばないとダメだし
あと送信はWriteFile()で書き込めばいいだけだけど受信は何らかの要因で読めない時にキャンセルできるようにしないと使い勝手悪いのでSetCommTimeouts()でタイムアウト設定して制御を戻す必要あるけどmscomm32.ocxだと受信でイベントが発生するからそういう処理が楽
> ASCIIコードの対応でSTXが&H2、ETXが&H3ですよね
ああすまんそこは大丈夫なのね、失礼した
> 一気に送るというのは配列で渡すような形ですか?
そう Byte 型の配列を渡す
> 基礎的な部分から分かっていないのできつい予感が
脅かすようで申し訳ないけど結構ハードル高いよ
特にReadFile()の方はバッファサイズを間違えるとExcel自体が落ちたりするし
どうしても茨の道を進みたい/進まざるを得ないならまずはファイルに対してCreateFile/ReadFile/WriteFile/CloseHandleから練習した方がいいかも

145:134
22/07/30 00:32:26.79 EONGri1rd.net
>>144
回答ありがとうございます
制限があるわけではないのでmscomm32.ocxを使う方向で行こうと思います
先が長そうな感じはかなりありますね・・・
まずはCreateFile、ReadFile、WriteFile、CloseHandleでファイルを操作するところからやってみます

146:デフォルトの名無しさん
22/07/30 03:02:20.62 OeV/oYE+0.net
まずVBAでやるべきかどうか考えたほうが良いんじゃね
相手側がそれ用のコンポーネントでも用意してない限り、VBAでやるような案件じゃないぞ

147:デフォルトの名無しさん
22/07/30 03:31:29.08 S23h7zaP0.net
>>123 です。
レスいただいた方々ありがとうございます。
スプレッドシートの ImportXML でXPathは理解しました。
HTML/CSSは書けますがそれ以外はさっぱりで…。
HTMLDocument、FindElementByCss、FindElementByXPathなど
調べていて出てきましたがどう書き出してどうエクセルに書き込むか
一から十までのものが見当たらず挫折しました。
>>129 さん!書き込み、非常に参考になりました。
<td></td>
<td></td>
<td></td>
などは無理なようですが、どうにかclassなどが振ってあるサイトを探せました。
ありがとうございます。

148:デフォルトの名無しさん
22/07/30 03:43:44.39 GJbGwXKe0.net
>>123
if文で真偽値を二度判定するあたりなどは、もうさすがにやめてほしいわ。

149:デフォルトの名無しさん
22/07/30 03:50:55.80 GJbGwXKe0.net
>>147
Cells()だらけなのにExcelシートに値をセットしていないと思うのか?

150:デフォルトの名無しさん
22/07/30 05:00:33.23 eVUB+9l60.net
というか簡単に取れるけど
kabu_kode = ThisWorkbook.Sheets("Sheet2").Cells(1, X).Value
If kabu_kode <> "" Then
driver.Get "URLリンク(finance.yahoo.co.jp) & 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:デフォルトの名無しさん
22/07/30 09:15:05.30 paa5jUiAa.net
>>143
++
ほんそれ

152:デフォルトの名無しさん
22/07/30 16:06:41.35 2k62MWGF0.net
>>143
縛りプレイが大好きなんだよきっと

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

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

155:デフォルトの名無しさん
22/07/30 18:40:37.03 zHogqexf0.net
>>145
ARDUINO とかで遊んでるやつもいて
VBA シリアル通信
でググれば事例は出てくるからまずはここら辺を参考にすればいいかと
URLリンク(kats-eye.net)
>>146,151-152 みたいな何の参考にもならないレスは無視していい

156:デフォルトの名無しさん
22/07/30 18:51:57.99 zHogqexf0.net
>>154
喧嘩売ってんの?w
URLリンク(kode.co.jp)

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

158:デフォルトの名無しさん
22/07/30 20:21:34.38 hXWLTBTp0.net
>>155
運用することを考慮しない馬鹿

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

160:デフォルトの名無しさん
22/07/30 21:17:32.71 abWJW+vX0.net
>>159
乱数の範囲によって方法が変わってくる

161:デフォルトの名無しさん
22/07/30 21:38:00.74 zHogqexf0.net
>>158
おまえ>>145の状況知ってるの?
まさか状況知らずにダメ出ししちゃう無能君かな?w

162:134
22/07/30 21:41:59.73 EONGri1rd.net
>>155
VBAのシリアル通信で調べていた際にARDUINOという単語を見かけたことはありましたが同じようにシリアル通信ができるのですね
中身を見た限り基本的な部分は同じようにできそうなので参考にしてみます

163:デフォルトの名無しさん
22/07/30 22:52:18.66 bNASqKAqd.net
>>159
CSVで出力してPythonでmatplotlib使えば一発よ

164:デフォルトの名無しさん
22/07/30 22:56:19.11 hXWLTBTp0.net
>>161
典型的なパソコンにちょっと詳しいだけの馬鹿

165:デフォルトの名無しさん
22/07/30 23:02:16.93 wkD5AAYO0.net
>>164
完全同意!
>>164とかまさにそれだよな

166:デフォルトの名無しさん
22/07/31 05:06:02.46 VbPtQjeWr.net
>>160
整数0から20で要素数70です
>>163
csv使うならワークシート関数でいいです

167:デフォルトの名無しさん (ワッチョイ 7a01-Jv5Y)
22/07/31 05:59:25 UwyiR8NW0.net
>>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:デフォルトの名無しさん
22/07/31 06:45:31.55 +RcSx9lzr.net
>>167
なるほど調べるのが整数限定ですからね
一般化して考えてたので思いつかなかったです
ありがとうございました

169:デフォルトの名無しさん
22/08/01 16:35:43.44 9g/R1AFs0.net
セルA1に 1:00:00 の
ような時間データが入っています
これを変数に格納したいのですが
上手く行きません
最終的に変数の左2文字 1: を
格納して他のセルに入っている
12:15:00 などの左2文字と比較
したいのです
エクセルVBAは独学で詳しく
わからないのですが、知見を
お借りしたく質問させていた
だきました
よろしくおねがいします
24歳OL

170:デフォルトの名無しさん
22/08/01 16:40:09.61 9ms8u+Pj0.net
なぜ24歳OLと入れた

171:デフォルトの名無しさん
22/08/01 16:44:24.88 Rl1xejp60.net
そのほうが教えてくれそうだから

172:デフォルトの名無しさん
22/08/01 18:17:38.73 quoUWzO9d.net
VBAを知らないのではなくExcelのことをろくに知らないだけだな

173:デフォルトの名無しさん
22/08/01 18:34:36.42 ymJlKbsOM.net
>>169
VBA入門の最初の1ページからこのスレで説明しろと?

174:デフォルトの名無しさん
22/08/01 18:38:01.34 MuDoyFKF0.net
>>169
格納する変数の型が正しくないのかも

175:デフォルトの名無しさん
22/08/01 19:43:29.98 kaXTkJ9F0.net
>>169
シートの名前は?

176:デフォルトの名無しさん
22/08/01 19:44:55.66 b27MMuGu0.net
コロンは除外したほうが比較しやすい
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)
22/08/01 20:06:19 c2lbE9aCM.net
Hour関数ならVariant型変数

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

179:デフォルトの名無しさん
22/08/01 20:20:09.25 b27MMuGu0.net
>>178
たしかに

180:デフォルトの名無しさん
22/08/01 20:42:04.99 A4DKp3HMM.net
いつものあいつだろ

181:デフォルトの名無しさん
22/08/02 09:23:38.92 WVu/C7lVa.net
24歳OL
小娘になりすましかRudy厨

182:デフォルトの名無しさん
22/08/02 09:42:27.92 VTHaYhDHd.net
>>169の質問は「1:」とコロンも取り出したいという話なんだからまずはそれを回答しないとだめじゃないか?
そのうえで比較するのが違いがあるかなら1:00:00は「1」で12:15:00は「12」でもいいと思うから>>176みたいな回答を補足したほうがいいと思うが
なので回答としては Left(Range("A1").Text, 2) とでも答えてやればいいとおもうんだが

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

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

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

186:デフォルトの名無しさん
22/08/02 14:56:05.83 g2MjUr00r.net
>>169です
たくさんレスいただき本当にありがとうございます
参考になるレスがたくさんで感謝しかありません
具体的な一例まで書いて頂けて助かります
これからで教えて頂いた内容を参考に
プログラムしてみます
この度は本当にありがとうございました
m(_ _)m@24歳OL

187:デフォルトの名無しさん
22/08/02 15:48:33.16 M1mz9f8+0.net
@24歳OLってことは、
24歳OLは地点の名称ってことだったんだな

188:デフォルトの名無しさん
22/08/02 16:09:24.35 Gd43XZqn0.net
まあ24歳の改行には見えんしな

189:デフォルトの名無しさん
22/08/02 16:18:40.57 f8W0+U3I0.net
10進法で24ではなく16進法とか32進法で24だろ
こんな釣りに引っ掛かって意気揚々と答える馬鹿ども

190:デフォルトの名無しさん
22/08/02 16:35:13.65 ouwdvJliM.net
=HEX2DEC(24)

191:デフォルトの名無しさん
22/08/02 17:59:32.64 9ai4+8EuM.net
お前ら食い付きすぎ

192:デフォルトの名無しさん
22/08/02 18:46:55.49 M1mz9f8+0.net
>>189
基数が変わると@の意味が変わるってこと言ってる?

193:デフォルトの名無しさん
22/08/02 18:50:18.70 3Auutz710.net
社会人二年目が終わり、そろそろVBA・・・ってパターンの24歳OLもあり得るのでは?

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

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

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

197:デフォルトの名無しさん
22/08/02 19:53:54.38 3Auutz710.net
チヤホヤしていいのは、12歳までか。

198:デフォルトの名無しさん
22/08/02 20:57:14.71 OnsfUwTz0.net
OLために一人一生懸命なのいるな

199:デフォルトの名無しさん
22/08/02 22:24:42.35 A3tAvDnUM.net
ネタに反応すんなよw
セルの書式が標準だったら、本当に面倒くさいのがExcel。

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

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

202:デフォルトの名無しさん
22/08/03 12:44:22.01 7S+90b7b0.net
>>201
バカはお前だ。
>>689が「時間データ」と銘打っているのだからそこに入っているのは「文字列データ」ではない。シリアル値だ。
そのシリアル値が入ったセルの列幅を縮めてみろ。
まともに動かなくなるぞ。
valueでセル値を取得してFormatなりで文字列に変換した後で切り出しを行え言ってるんだ。
そんなことも理解出来ないこんな小さいロジックでバグるコードドヤ顔で晒してるような奴がよくこの業界で生き残ってこれたもんだ。呆れるわ。

203:デフォルトの名無しさん
22/08/03 12:46:24.42 7S+90b7b0.net
>>689じやねーわ
>>169だわ

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

205:デフォルトの名無しさん
22/08/03 13:20:32.60 08s1J+Jsd.net
このクソ暑い日に本人そっちのけで戦う熱量に恐れ入るわ

206:デフォルトの名無しさん
22/08/03 13:27:57.05 7S+90b7b0.net
>>204
既に回答済みだわ
集中力が無いのか
読解力が無いのか
バカなのか
或いはその全てか

207:デフォルトの名無しさん
22/08/03 14:14:17.64 teV/av1J0.net
今日も暑苦しいねえ

208:デフォルトの名無しさん
22/08/03 14:15:56.82 teV/av1J0.net
なんかこれ一人で自演してるように思えて来たw

209:デフォルトの名無しさん
22/08/03 14:16:15.91 coj1xImd0.net
そんなユーザーなら誰でも知っているような話をどや顔で言い争うのやめてくれませんか?
見てて恥ずかしいし建設的じゃない。

210:デフォルトの名無しさん
22/08/03 18:07:13.51 Mw+Wxdkh0.net
>>209
反面教師と思ってああならないように気を付けようぜ

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

212:デフォルトの名無しさん
22/08/03 18:56:42.70 EBW1aqTx0.net
Excel板なんてあんのか。

213:デフォルトの名無しさん
22/08/03 19:26:06.29 NOMH7G4CM.net
ビジネスsoft板のことだろ

214:デフォルトの名無しさん
22/08/03 19:28:37.44 EBW1aqTx0.net
これはご親切にどうも。

215:デフォルトの名無しさん
22/08/03 20:54:58.72 coj1xImd0.net
何故仲悪いのか理解できたわ

216:デフォルトの名無しさん
22/08/03 21:31:27.92 PUzG+4xX0.net
相手の立場やレベルを考慮しないで言った通りのことしかできないやつは使えないって事なんだが
他人の話を額面通りにしか受け取れないのは、障がいだぜ
一度医者に行くことを薦めるわ

217:デフォルトの名無しさん
22/08/03 22:36:18.83 Mw+Wxdkh0.net
>>216
ブーメラン戻ってきてますよ

218:デフォルトの名無しさん
22/08/04 11:16:31.18 zN4tRRWc0.net
よっぽど悔しかったんだろ?

219:デフォルトの名無しさん
22/08/04 12:00:42.26 CwkjhMxBa.net
>>208

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

221:デフォルトの名無しさん
22/08/04 16:47:37.44 cXYjQ5Ck0.net
じぇんじぇん

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

223:デフォルトの名無しさん
22/08/04 17:28:53.56 kI29Y1SHF.net
>>206
なんでtextプロパティで取得する前提なのかがわからない。

224:デフォルトの名無しさん
22/08/04 17:39:47.72 Lldfidgm0.net
>>222
URLリンク(neos21.net)

225:デフォルトの名無しさん
22/08/04 20:26:30.10 WbKEV01G0.net
うちの会社は、プログラミング禁止になったよ
ちなみに代替手段はなし
マクロでやってたこと全部手作業になった
マジで物理作業量が跳ね上がってしまった

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

227:デフォルトの名無しさん
22/08/04 22:20:34.12 QBsI6Re20.net
>>225
へぇー経緯は?
作った後テストしてなかったとか
IEEE754のせいで小数点計算がズレたとか?

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

229:デフォルトの名無しさん
22/08/04 23:14:37.44 isEYuHXY0.net
システム屋が作ったものではないと、そのひとしかわからないから、重要業務の担当者を外した巨大企業を知っている。
昔は我流でやるのが流行っていたから、プログラマでない人間が作ると、とんでもないものができているのが当たり前だった。

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

231:デフォルトの名無しさん
22/08/05 00:23:11.85 Bo4EfhoE0.net
>>230
それが正確ならいいんだけどな。

232:デフォルトの名無しさん
22/08/05 00:38:13.23 umVys4oP0.net
>>225
面白そう
口パクみたいな感じで、働いてるフリすりゃいいんだろ?
実際には裏でVBSでも動かしておいて

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

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

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

236:デフォルトの名無しさん
22/08/05 08:01:13.52 fMQMo2cEM.net
過去にタダ乗りされて酷い目にあったから使ってても教えない

237:デフォルトの名無しさん
22/08/05 08:25:59.90 D4FWb9o5d.net
どうしたら上手く運用出来るかを考えずに一律禁止にしてしまうところがJapですね

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

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

240:デフォルトの名無しさん
22/08/05 11:33:11.96 GN+Cpyju0.net
Excelユーザーは誰もがVBAを使いこなしてると思い込んでいたわ
初心者の頃

241:デフォルトの名無しさん
22/08/05 11:46:42.49 m45XxceE0.net
まるで初心者じゃないみたいな言い方だな

242:デフォルトの名無しさん
22/08/05 13:00:55.34 569iYGpd0.net
じゃあランク付けしてくれよ
ちなオレは軍曹クラス

243:デフォルトの名無しさん
22/08/05 13:03:45.49 PPjNiJ/gd.net
マニアじゃないから軍事用語なんか使われても強さがわからんわ
ケロロ軍曹しか知らんし

244:デフォルトの名無しさん
22/08/05 15:11:50.94 Bo4EfhoE0.net
Excelそのものも少数の人間だけが知っている運用ルールがあったりする。
わけのわからない表の解読に困ることもあるし、日本人はチームワークが得意だから、暗号のような記載ルールを勝手に決めていることもある。

245:デフォルトの名無しさん
22/08/05 18:30:26.77 9JwePxXo0.net
軍曹は部下が11人いるので、課長クラスでは?

246:デフォルトの名無しさん
22/08/05 18:37:25.28 m45XxceE0.net
表計算ソフトを誰がどんな使い方しようが関係ないし、なんとも思わない

247:デフォルトの名無しさん
22/08/05 18:44:56.08 9JwePxXo0.net
セルを小さくしてドット絵のようにして図解を描いたことならある。

248:デフォルトの名無しさん
22/08/05 19:17:52.69 Q4Ghv2JD0.net
元帥(名誉職・総司令官)⇒ 名誉会長
大将 ⇒ 会長
中将 ⇒ 代表取締役社長
少将 ⇒ 専務
大佐 ⇒ 常務
中佐 ⇒ 平取締役
少佐 ⇒ 事業部長
大尉 ⇒ 副事業部長
中尉 ⇒ 本部長
少尉 ⇒ 副本部長
准尉 ⇒ 本部長代理
曹長 ⇒ 部長
軍曹(ケロロ)⇒ 副部長
伍長(ギロロ)⇒ 部長代理
兵長(ドロロ)⇒ 課長
上等兵 ⇒ 課長代理
一等兵 ⇒ 主任
二等兵(タママ)⇒ 平社員
副部長くらいかなw

249:デフォルトの名無しさん
22/08/05 19:56:38.88 vZ1ATXrm0.net
>>247
パックマン作ったやつもいるけどな

250:デフォルトの名無しさん
22/08/05 20:00:30.00 vZ1ATXrm0.net
>>248
ごめん、軍曹を舐め過ぎた
上等兵くらいでした

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

252:デフォルトの名無しさん
22/08/05 23:46:50.13 Q4Ghv2JD0.net
>>251
ネタにガチ突っ込みされてもw

253:デフォルトの名無しさん
22/08/06 00:52:54.67 RyjK6DAd0.net
元帥クラスって誰辺り?
Office tanaka?

254:デフォルトの名無しさん
22/08/06 09:07:43.92 tdNHMM1PM.net
>>253
あの人以上はほぼいないだろうからそれでいいんじゃね
上等兵の俺はオブジェクト指向が解らんでつ

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

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

257:デフォルトの名無しさん
22/08/06 12:06:15.13 sbIyICn+0.net
いっぺんでもやってみるとわかる、教えるのって難しい
パソコンやExcelのことを周りからよく質問されるけど、いつも四苦八苦する

258:デフォルトの名無しさん
22/08/06 13:34:52.70 IcxH468v0.net
教えるのもマンツーマンなら比較的簡単だけどな

259:デフォルトの名無しさん
22/08/06 13:42:21.52 xsmVc9Uv0.net
>>258
いやらしいな

260:デフォルトの名無しさん
22/08/06 15:38:42.52 eSBCWCwIa.net
>>225
>>228
どういう業種なんだろ
馬鹿な対応っぷりからすると御役所系?

261:デフォルトの名無しさん
22/08/06 15:43:10.30 eSBCWCwIa.net
>>257
せっかく教えても肝心な質問した方が話聴いてなかったりするからな

262:デフォルトの名無しさん
22/08/06 15:45:16.89 xsmVc9Uv0.net
ネットで検索するような解決手段を教えた方がいい。

263:デフォルトの名無しさん
22/08/06 19:40:38.17 bSEd2c570.net
>>256
確かに。
まあアピールポイントに特徴ある人だと思う

264:デフォルトの名無しさん
22/08/06 21:13:56.39 xsmVc9Uv0.net
講演活動は知識だけの人が多いからなあ

265:デフォルトの名無しさん
22/08/06 21:38:32.41 IcxH468v0.net
ちょっと何言ってるかわからない

266:デフォルトの名無しさん
22/08/07 02:04:59.69 Zc4u6CYP0.net
>>265
実務経験ゼロでも成り立つ
講演、物書き、教育は、実務経験ゼロの会社がたくさんある。
だから、実例がすぐに出ない。

267:デフォルトの名無しさん
22/08/07 05:34:07.23 tUFhHO190.net
実例も知識じゃねーの

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

269:デフォルトの名無しさん
22/08/07 10:59:56.86 iThpGePG0.net
性格や考え方に問題あっても知識があるならいいんじゃね
実務経験があっても知識のない上司に相談して解決するならそうすればいいし
そもそも自分に知識があれば全て解決できるわけなんだが

270:デフォルトの名無しさん
22/08/07 11:09:10.44 UpuFs56f0.net
日本の企業は人材の性格も重要視するもんね。
能力あっても人間がクソなら採用見送ったり出世対象から外したり。

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

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

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

274:デフォルトの名無しさん
22/08/07 15:39:52.33 TKajqBRY0.net
>>273
確かにそうだな
ここはお前の力の魅せどころだぞ

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

276:デフォルトの名無しさん
22/08/07 17:53:18.30 iCiStKaEd.net
VBAと関係ないおっさん達の自分語りはいつ頃終わりますか?

277:デフォルトの名無しさん
22/08/07 17:57:35.06 fAQAAmLc0.net
>>276
お前みたいに構うやつがいなくなるまで無理じゃね

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

279:デフォルトの名無しさん
22/08/07 18:32:46.70 NS+q4Bfp0.net
まぁ質問者がいないときはいつもこんな感じだけどな

280:デフォルトの名無しさん
22/08/08 10:19:45.18 wk4U/6Hx0.net
質問いいですか?

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

282:デフォルトの名無しさん
22/08/08 22:16:45.25 bMElgXf+d.net
VBA でモテるにはどうしたら良いですか?

283:デフォルトの名無しさん
22/08/08 22:25:23.54 ptVxpUmad.net
そんなことをここで聞いてる時点で無理

284:デフォルトの名無しさん
22/08/09 10:07:28.51 b44kZqNV0.net
Excelできれば女子にモテるぞww
とか言われたからExcel始めたけど
ウソだったわ。
逆にキモがられるようになったら。

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

286:デフォルトの名無しさん
22/08/09 11:12:29.84 SavN6yJh0.net
Excel出来るようになったのではなく他に問題があるのでは🤔

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

288:デフォルトの名無しさん
22/08/09 14:53:29.86 b44kZqNV0.net
>>287
分かった。
Wordに移行するわ。

289:デフォルトの名無しさん
22/08/09 15:01:15.06 SavN6yJh0.net


290:デフォルトの名無しさん
22/08/09 15:23:13.16 8JIsTWChM.net
Excelできるけど仕事はできない人

291:デフォルトの名無しさん
22/08/09 20:40:53.82 AVc3PDFp0.net
パワポ男子の方が格好いいと思うなあ

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

293:デフォルトの名無しさん
22/08/10 09:10:02.43 ph9U25aD0.net
エクセルのVBAって2000から現在までの間に
ここで大きく変更があって互換性に問題があるみたいなのありますか?

294:デフォルトの名無しさん
22/08/10 10:06:18.63 kx7L/9BB0.net
>>292
一応言っておくけどお前のやろうとしてることは犯罪だし、回答書くと犯罪幇助になるから

295:デフォルトの名無しさん
22/08/10 10:07:16.58 kx7L/9BB0.net
>>293
2007 辺でグラフ周りが色々変わって過去のマクロでエラー出たことがある

296:デフォルトの名無しさん
22/08/10 10:10:55.76 uspPIoStd.net
そこそこあると思うよ
なので自分はバージョンごとにコードを振り分けたりした
実際に試したほうがいいんじゃないかな

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

298:デフォルトの名無しさん
22/08/10 10:36:03.23 p8b8cWYPd.net
>>292
こいつみたいなのがまさにこういうパターンだ
馬鹿が内容も理解せずコピペで作ったマクロのせいで間違いが発生していた
コピペ主体だからメンテ不可能だった
そのくせ馬鹿は自分が他の人より偉いと思い込んでいた

299:デフォルトの名無しさん
22/08/10 11:45:31.80 uspPIoStd.net
犯罪の質問なんて無視しとけよ
構うお前も同じなんだぞ

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

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

302:デフォルトの名無しさん
22/08/10 12:55:04.32 /NkHb0sD0.net
>>292
マクロ作るのもあなたの業務だったのでは?
会社で仕事して給料もらえてたのにそれ以上のことなんかないよ

303:デフォルトの名無しさん
22/08/10 13:53:09.69 kx7L/9BB0.net
> 犯罪なのは分かったからやめとくわ
犯罪じゃないと思ってたのかよ...
まじでヤベー奴やんw

304:デフォルトの名無しさん
22/08/10 14:04:12.08 0PwnBNIZ0.net
気持ちは分かるが犯罪はいけないな。
次回からはそういうことに備えて
マクロにパスワード掛けて
時間が経ったら期限切れのメッセージでも
ポップアップして処理を中断させる
ようにでもしておけばいい。
もっとも、自分の作業効率化のために
頼まれてもいないのに勝手に作ったというなら
根こそぎ消しても問題ないとは思うけどな
どうしてもしたいというなら
法テラスにでも相談しに行けばいい。

305:デフォルトの名無しさん
22/08/10 14:26:23.92 Mq4biE7dM.net
If Date > 退職日 Then
Exit Sub
End If
あとは全部インデントなくすとかコロンで繋げるとかプロシージャ名を処理内容と紐づかないものにするとか
色々引き継ぎの嫌がらせは考えたことあるけど、やったら何訴えられるかわからんからやらない

306:デフォルトの名無しさん
22/08/10 14:28:02.85 5QJKzNy5d.net
てか保守出来る人居ないなら何もしなくてもそのうち会社は面倒事に巻き込まれるだろ
フォーマットがちょっと変わったり、新しい特殊な項目が追加されて使いものにならなくなったりするし

307:デフォルトの名無しさん
22/08/10 15:51:28.73 uspPIoStd.net
放置すればいいものを
くだらない話には食いつく奴ばかりだね

308:デフォルトの名無しさん
22/08/10 15:58:20.27 AlyojMao0.net
123 10
123 11
123 15
空白
空白
124 18
124 22
空白
125 20
空白
126 15
126 10
みたいな並びのコードがあって、
上下のコードが同じ場合、コードの隣の数字を10%で割り戻した数字を計算したものと、10の数字をそのままにしたものを2つ持っておいて、コードが変わるところまでそれぞれ計算したら、コード単位で10%で割り戻したものの合計値と、割り戻してないものの合計値の差分を
一行挿入して差額として123のいくらと転記
空白行は無視。
差額が出ない場合(基本的にはないけど)は行の挿入はしない、
というvbaって作るの可能?
差額を持たせることまではできたんだが、
挿入のところでこれ無理では?と思って止まってます。

309:デフォルトの名無しさん
22/08/10 16:00:49.46 AlyojMao0.net
ちなみにデフォルトで入ってる空白は無視です

310:デフォルトの名無しさん
22/08/10 18:18:34.25 kx7L/9BB0.net
>>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:デフォルトの名無しさん
22/08/10 19:06:30.56 LEtlyiDn0.net
スマホからこんだけ入力するのは感心するわ

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

313:デフォルトの名無しさん
22/08/10 20:46:14.74 kx7L/9BB0.net
>>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:デフォルトの名無しさん
22/08/10 20:48:55.75 p8b8cWYPd.net
こんなことがわからない奴が金計算をVBAでするなんて

315:デフォルトの名無しさん
22/08/10 20:57:23.40 ph9U25aD0.net
テキストファイルからキーワードが含まれてる行をセルに書き込みたいです
キーワードが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:デフォルトの名無しさん
22/08/10 21:00:16.39 hNnMWsb/0.net
なんで商品と価格のReplaceを分けるのか

317:デフォルトの名無しさん
22/08/10 21:07:20.86 0PwnBNIZ0.net
>>315
InStrは嫌いなの?

318:デフォルトの名無しさん
22/08/10 21:43:46.56 AlyojMao0.net
>>313
ありがとうございます、
勉強中なので質問なんですが、
C1:N0 =0:N1=0の中の:ってどういう意味なんでしょうか?

319:デフォルトの名無しさん
22/08/10 22:04:25.44 NcNdkaPG0.net
突っ込みどころ満載の質問久しぶりね

320:デフォルトの名無しさん
22/08/10 22:24:43.27 kx7L/9BB0.net
>>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:デフォルトの名無しさん
22/08/10 22:31:30.17 uspPIoStd.net
>>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:デフォルトの名無しさん
22/08/10 23:03:22.07 kx7L/9BB0.net
>>318
VBA マルチステートメント
でググってくれ

323:デフォルトの名無しさん
22/08/10 23:23:06.57 20iS7AqN0.net
>>318
改行みたいなもん。たとえば
N0 = 0
N1 = 0
という複数行のコードを1行にまとめることができる
N0 = 0: N1 = 0
だけど、やらない方がいいと言われている

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

325:デフォルトの名無しさん
22/08/11 20:39:49.16 Eqlf5oxG0.net
>>324
変数宣言と一緒に初期値設定する人はよく見かけるしアリだと思う。
同様に実は特殊な場合に限りIf文を一行で記載することもある。
本来構造化言語で使わない方が良いとされているGoto文も特殊な場合に限り使うこともある。
VBAは結構何でもありの言語だからその辺、仕事場のコーディングルールや
作ってる人のマイルールによって随分違いが出てくる。
一概にどんな方法をとることが最善とは言えないから人の書いたソース見てると面白い。

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

327:310 (ワッチョイ 1301-lJ3c)
[ここ壊れてます] .net
俺も本来はマルチステートメントは使わないけど、5chのレスは行数制限あるからマルチステートメントにしてるだけ
そもそもこの手の話は好みもあってどっちが正しいとかはないからそろそろやめようよ

328:デフォルトの名無しさん
22/08/11 22:00:47.13 /ib3rHvC0.net
そもそもダメだとか誰が言っているのだろうか。。

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

330:310 (ワッチョイ 1301-lJ3c)
[ここ壊れてます] .net
>>328
> だけど、やらない方がいいと言われている
みたいな意見があるから

331:デフォルトの名無しさん
22/08/12 00:11:05.61 gP2cSn76d.net
コーディングルールなんて宗教みたいなもんだけど、一応マルチステートメントは推奨されないという意見のが多数
リーダブルコードにも書いてあるし、MS公式も推奨しないと言ってる
URLリンク(docs.microsoft.com)
明確に禁止したがってる人は肌感覚でもっと少数派だけどね

332:デフォルトの名無しさん
22/08/12 00:24:13.41 nWfz+VWs0.net
どうせ仕事でVBA作ってる質問者なんて少ないやろ

333:310
22/08/12 05:00:53.71 zAuzG+foa.net
>>331
おっちゃんそれVBAじゃなくてVB.NETのドキュメントやで

334:デフォルトの名無しさん
22/08/12 05:44:37.34 Icr7mfuu0.net
Van.Netなら変数宣言と同時に初期値設定出来るから
引き合いに出すのもお門違いだな

335:デフォルトの名無しさん
22/08/12 06:23:06.84 dDX14IC1M.net
>>334
van.netなどない、このハゲ!

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

337:デフォルトの名無しさん
22/08/12 09:02:48.49 Icr7mfuu0.net
>>335
すまん、VB.Netの間違いだった
しかし俺は禿げてはいない。頭頂点しかな!!

338:デフォルトの名無しさん
22/08/12 09:16:28.60 Icr7mfuu0.net
>>336
まあコードをエクスポートしたものを載っけておくくらいかな。
Bisual Sutadioみたいにエデイタ上から設定するのは無理だと思った。
て言うかコードだけ取っておいてもexcelのVBAの場合はexcelそのものに影響されるところも多いから
excelごと取っておいてソースを比較したいときだけ何かのツールでソースの比較を行った方がいいと思う。

339:デフォルトの名無しさん
22/08/12 12:38:04.21 Oc3JB1Iir.net
Bisual Sutadio

340:デフォルトの名無しさん
22/08/12 12:52:14.02 kbIhrpmL0.net
>>336
今のVBAでGitは見たことないけど
昔VSSで管理するアドインがあったから、アドイン作ればできるんじゃね
>>338
マクロ入ってるエクセルはどうか知らんが、今のエクセルってXMLをzipで固めただけのはずだから
Zip解答してソース管理に突っ込む手もあるかもしれん
つかお前の誤字はわざとかこのハゲ

341:デフォルトの名無しさん
22/08/12 16:32:51.36 BEh6dSX60.net
お前ら禿好きだな

342:デフォルトの名無しさん
22/08/12 16:38:58.11 eSjTAJcc0.net
↑この人ハーゲマンです

343:デフォルトの名無しさん
22/08/12 17:59:10.79 BEh6dSX60.net
いきなし禿げたんよ。
去年の夏位まではふさふさだった

344:デフォルトの名無しさん
22/08/12 20:16:41.08 ijOecH2p0.net
それはコロナだから治療行けよ。

345:デフォルトの名無しさん
22/08/12 21:06:52.17 rQBVWxEE0.net
Dim Eight As Typhoon
Set Eight As Typhoon
Debug.Print Eight.HPa

346:デフォルトの名無しさん
22/08/12 21:35:36.13 JWVBEjPKr.net
質問です
エクセルでvba書くとハゲるというのは本当ですか?
それともハゲじゃないとまともなコードにならないということでしょうか?

347:デフォルトの名無しさん
22/08/13 00:36:53.33 7+qtu9p80.net
>>345
Set Eight = New Typhoon

348:デフォルトの名無しさん
22/08/13 00:54:21.19 C3GQNRB30.net
Print Eight.Name
Mary

349:デフォルトの名無しさん
22/08/13 07:49:57.82 Q44FuubAd.net
>>346
ハゲる→外に出られなくなる→VBAしか無い人生に陥る

350:デフォルトの名無しさん
22/08/13 18:00:34.01 +/onKVXv0.net
禿が気になるなら頭ツルッツルにするという構想は無いのかね?

351:デフォルトの名無しさん
22/08/13 18:44:02.54 qT7WXGgOd.net
Dim Hair As Object
Set Hair = Nothing

352:デフォルトの名無しさん
22/08/13 21:29:48.82 +/onKVXv0.net
>>351
座布団100枚

353:デフォルトの名無しさん
22/08/13 22:55:44.03 ZiFcsOVE0.net
>>346
こら!良い大人ならスキンヘッドと言いなさい!

354:デフォルトの名無しさん (ワッチョイ d2bd-nhkz)
[ここ壊れてます] .net
スキンヘッドが似合う顔ならスキンヘッドにしてるんですよ・・・

355:デフォルトの名無しさん
22/08/14 11:14:09.47 VI2zLni0a.net
ezoe職務質問されたってよ

356:デフォルトの名無しさん
22/08/14 13:17:19.86 RtZKjyzz0.net
>>355
QZ は逮捕・拘留11日を食らったってよ


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch