- 1 名前:デフォルトの名無しさん [2025/01/24(金) 03:31:15.25 ID:l239yW+P.net]
- ExcelのVBAに関する質問スレ
コード書き込みや作成依頼もOK 次スレは>>980が立てること 無理なら細かく安価指定 関連スレ Excel VBA 質問スレ Part79(ワッチョイあり) https://mevius.5ch.net/test/read.cgi/tech/1674875532/ Excel VBA 質問スレ Part80(ワッチョイあり) https://mevius.5ch.net/test/read.cgi/tech/1700826110/ ※前スレ Excel VBA 質問スレ Part79 https://mevius.5ch.net/test/read.cgi/tech/1674874007/ Excel VBA 質問スレ Part80 https://mevius.5ch.net/test/read.cgi/tech/1685489018/ Excel VBA 質問スレ Part81 https://mevius.5ch.net/test/read.cgi/tech/1713416618/
- 841 名前:デフォルトの名無しさん mailto:sage [2025/05/25(日) 12:53:50.40 ID:ubpRgCst.net]
- >>822
そうですね! Excelなのだからデータはワークシートに格納するのがスジですね!
- 842 名前:デフォルトの名無しさん mailto:sage [2025/05/25(日) 13:20:14.05 ID:fZ8kzLje.net]
- AIみたいな解答ワラタ
- 843 名前:デフォルトの名無しさん [2025/05/25(日) 16:48:27.92 ID:zOE9ehCa.net]
- ホントにAIに聞いた。
個別の条件にも柔軟に対応できる function を作るには、いくつかのアプローチが考えられます。例えば、以下のような方法を試してみてはいかがでしょうか。 1. パラメータを活用する 2. Enum または定数を使う 3. コールバック関数を使う
- 844 名前:デフォルトの名無しさん mailto:sage [2025/05/25(日) 17:36:59.25 ID:QBoxveBd.net]
- 何をしたいのかが謎
型によって処理を分岐させたいってことかね Function 関数(処理対象) 型名 = TypeName(処理対象) Select Case 型名 Case "Dictionary" Case "File" Case "Folder" End Select End Function
- 845 名前:デフォルトの名無しさん mailto:sage [2025/05/25(日) 18:31:50.10 ID:czPn1bap.net]
- >>823
そういう話じゃなくVBS廃止の副作用で連想配列や正規表現が死ぬって話
- 846 名前:デフォルトの名無しさん [2025/05/25(日) 18:42:26.13 ID:rOBfPREU.net]
- >>827
VBS廃止の副作用で死ぬのは噂や推測じゃなくて公式の情報なの?
- 847 名前:デフォルトの名無しさん [2025/05/25(日) 19:07:30.81 ID:IvH5YvLQ.net]
- ファイルシステムオブジェクトでフォルダの中のファイル名一覧と、ファイルパスを取得したい時もあれば、
ファイル名に部分一致するファイルのパスを取得したい時もある
- 848 名前:デフォルトの名無しさん [2025/05/25(日) 19:13:49.79 ID:5C/Jye7Q.net]
- 従来の正規表現の代用って無いの
- 849 名前:デフォルトの名無しさん mailto:sage [2025/05/25(日) 19:54:07.08 ID:czPn1bap.net]
- >>828
逆にあれだけ情報出ててなんで死なないと思うの? https://techcommunity.microsoft.com/blog/windows-itpro-blog/vbscript-deprecation-timelines-and-next-steps/4148301 >>830 vba-regex by sihlfallっていう、 RegExp代替のフルVBAで書かれた正規表現エンジンがある
- 850 名前:デフォルトの名無しさん mailto:sage [2025/05/25(日) 19:58:13.45 ID:bo3VS07C.net]
- >>829
はい! if文で条件分岐すれば、簡単に実現できます!
- 851 名前:デフォルトの名無しさん [2025/05/25(日) 20:04:43.89 ID:IvH5YvLQ.net]
- 私はVBAの正規表現が死んだら、パワークエリーでJavaScriptの正規表現を使うわ
set オブジェクト = nothingって必ずした方が動作が確実になるのでしょうか? Wordのドキュメントやアプリ
- 852 名前:ケーションを処理する時にエラーが出たのでそう思いました。 []
- [ここ壊れてます]
- 853 名前:デフォルトの名無しさん mailto:sage [2025/05/25(日) 22:03:34.39 ID:QBoxveBd.net]
- 正規表現はREGEX関数が実装されたのでVBAでやる必要なし
- 854 名前:デフォルトの名無しさん [2025/05/25(日) 22:32:05.60 ID:d/seLvao.net]
- >>822
知ったか乙 良く調べて書き直せ
- 855 名前:デフォルトの名無しさん mailto:sage [2025/05/26(月) 02:34:52.38 ID:J879X3+V.net]
- >>835
Microsoft Scripting Runtimeに依存してるからVBSと共に死ぬ FSOなんかはScripting Runtimeには依存してないから引き続き使える 間違ってるなら指摘して 認識改めるから
- 856 名前:デフォルトの名無しさん mailto:sage [2025/05/26(月) 09:38:22.00 ID:G1Vrdcz4.net]
- >>820 が聞きたいのは
https://www.limecode.jp/entry/syntax/bind-set-filesystemobject この辺の処理の仕方なんでは? 最後まで精読すれば、どういう書き方をすれば より都合が良くなるか、それなり理解が深まるような
- 857 名前:デフォルトの名無しさん [2025/05/26(月) 09:53:10.39 ID:wHcYCN0P.net]
- >>833
>set オブジェクト = nothing それ書かないで過去に何度か問題起きてたような ファイルopenして、close書かなくても勝手に閉じてくれるとしても、書いたほうがいいようなもん たった1行各程度で未然にトラブル防げるなら書いとけと (かと言って、親オブジェクトから連なる小オブジェクトはいちいちnothingせずに、親オブジェクトだけ書いちゃうことも多いけどな。小さい処理だと特に)
- 858 名前:デフォルトの名無しさん [2025/05/26(月) 12:08:21.83 ID:chNfFSjB.net]
- >>836
間違えている どのDLLに何が入っているかだ
- 859 名前:デフォルトの名無しさん [2025/05/26(月) 13:55:33.90 ID:cvwCoF8H.net]
- >set オブジェクト = nothingって必ずした方が動作が確実になるのでしょうか?
した方が良いじゃなくてするべき
- 860 名前:デフォルトの名無しさん [2025/05/26(月) 17:21:30.90 ID:c1JRhLC0.net]
- コピペ荒らしこのスレだけ来ないの面白いな
- 861 名前:デフォルトの名無しさん [2025/05/26(月) 18:35:02.01 ID:FaOK97dk.net]
- >>837
すみません 今の私は例えばファイルシステムで言えば、 フォルダの中の全てのフォルダ名とフォルダパスを取得 フォルダの中の全てのファイル名とファイルパスを取得 フォルダの中に指定のファイル名と異なるファイルがあれば削除 と言う様に、 それぞれのサブプロシージャを作成する事しかできていません なので、一つのサブプロシージャに条件に応じて複数の処理が行えないかなと思いました 原作論で言えば、一つの処理しかできないサブプロシージャこそ正しいのかもしれませんが あと、それぞれのプロシージャでファイルシステムオブジェクトを宣言とセットをしてしまっています nothingは今までプロシージャを抜けた時点で解放されるから特にする必要がないと思っていましたが、Wordを操作する様になって、nothingをしないと処理が止まってしまうので意識する様になりました
- 862 名前:デフォルトの名無しさん mailto:sage [2025/05/26(月) 19:11:18.49 ID:mCaBFscc.net]
- Sub Yaritai(i as integer)
if (i and 1) <> 0 then Call Sub1() elseif (i and 2) <> 0 then Call Sub2() End Sub
- 863 名前:デフォルトの名無しさん [2025/05/26(月) 20:30:26.44 ID:sP5+kUYx.net]
- >>842
ご自分で言ってる通り、ひとつのモジュール、関数、メソッド等にはひとつの役割を与えて作るのがセオリーです。ちなみにそれを単一責任原則と言います。 ひとつのプロシージャ内で出来るかと言えば、再起処理やStaticな変数を上手く使えば恐らく出来ないことは無いでしょうが、そうするメリットをあまり感じません。 ひとつのプロシージャで処理するのではなく、ひとつのクラスとしてその辺の処理を行うことを検討しては如何でしょうか? そうすればメンバ変数として宣言したもののインスタンスをコンストラクタで生成することも出来ますし、デストラクタで解放することも出来ますよ
- 864 名前:デフォルトの名無しさん [2025/05/26(月) 20:36:57.49 ID:sP5+kUYx.net]
- ×再起処理
◯再帰処理 誤変換すまんこ
- 865 名前:デフォルトの名無しさん [2025/05/26(月) 21:18:23.47 ID:FaOK97dk.net]
- >>844
クラスモジュールを一通りやった事がありますが、いまいちクラスモジュールの使い方を知りません どうすればそれぞれの機能をクラスモジュールで効率的に実装できるでしょうか?
- 866 名前:デフォルトの名無しさん mailto:sage [2025/05/26(月) 22:59:03.14 ID:Eh03XDLb.net]
- セルから機種依存文字を直接拾ってくるのは難しいですか?
例えば☐(unicode:2610)が入ってるセルをクリックすると☑(unicode:2611)に書き換える、みたいなのを実装する場合、 if(Range("A1").text="☐")then だとRange("A1").textでセルの文字は取得できませんよね? (もちろん「="☐"」で直接比較することもできませんが) どうにかしてセルの機種依存文字を拾ってきてその種類を判定することは可能でしょうか?
- 867 名前:デフォルトの名無しさん mailto:sage [2025/05/26(月) 23:15:54.66 ID:MWZ/4kNq.net]
- >>847
Hex(WorksheetFunction.Unicode(Range("A1")))
- 868 名前:デフォルトの名無しさん mailto:sage [2025/05/27(火) 15:49:48.18 ID:j5Gfr/Ar.net]
- >>847
>Range("A1").textでセルの文字は取得できませんよね? 取得はできる。VBEで使えない文字だからソースに直接その文字を書けないだけ Dim CHECK_ON As String: CHECK_ON = ChrW(&H2610) Dim CHECK_OFF As String: CHECK_OFF = ChrW(&H2611) If Range("A1").Value = CHECK_ON Then Range("A1").Value = CHECK_OFF Else Range("A1").Value = CHECK_ON End If
- 869 名前:デフォルトの名無しさん mailto:sage [2025/05/27(火) 17:59:07.28 ID:2OPk25Mu.net]
- >>848
解決しました。 ありがとうございます。
- 870 名前:デフォルトの名無しさん [2025/05/27(火) 20:17:39.42 ID:3QS90eHP.net]
- Excelの話ではないからスレ違いなんですが、 Wordのドキュメントの2ページ目の行に文字列を挿入するにはどうしたらいいでしょうか?
2ページ目の〜行目にと言う様な指定はできないのでしょうか?
- 871 名前:デフォルトの名無しさん [2025/05/27(火) 20:38:35.17 ID:0hlUsnMF.net]
- >>851
スレチとわかっていて厚かましい 死ね
- 872 名前:デフォルトの名無しさん [2025/05/27(火) 20:52:46.35 ID:OuONf5SF.net]
- >>852
この馬鹿モンが! >>851 いい質問ですね ExcelのほうがメジャーでWordはマイナーなのだけど WordのVBAをはじめた人にとっては初期段階でやりたい操作なのではないでしょうか? 簡単ではないですが解決策はあります たしかinformationみたいな名のプロパティを使ったような気がする (もうWordVBAは数年使ってないから忘れた) ChatGPT使えば教えてくれるかも
- 873 名前:デフォルトの名無しさん mailto:sage [2025/05/27(火) 20:54:35.84 ID:DtCiAPP8.net]
- >>853
死ね
- 874 名前:デフォルトの名無しさん mailto:sage [2025/05/27(火) 22:13:59.20 ID:JUnNHiQe.net]
- >>851
ActiveWindow.ActivePane.Pages(2).Rectangles(1).Range = "文字列" & ActiveWindow.ActivePane.Pages(2).Rectangles(1).Range
- 875 名前:デフォルトの名無しさん [2025/05/28(水) 00:45:03.58 ID:7WzKj5D7.net]
- フォームを作るのに標準のコントロールやAPIでは動かないことがあったから、ついにPowershellで作り始めちゃった
- 876 名前:デフォルトの名無しさん mailto:sage [2025/05/28(水) 01:00:15.46 ID:+7HocyMO.net]
- PowerShellは
System.Collections.Genericが使えるからかなり楽だよなぁ VBAと違ってフォームデザイナが標準で付いてないのが難だが
- 877 名前:デフォルトの名無しさん [2025/05/28(水) 07:40:29.71 ID:LbsE8EcH.net]
- VSの方が楽なんでは
PS使ったことないけど
- 878 名前:デフォルトの名無しさん [2025/05/28(水) 08:42:06.86 ID:WNN+73zR.net]
- PowerShellはbatと違って、一手間や権限設定が必要と聞いたからやめた震え声
本当にそうなのですか?
- 879 名前:デフォルトの名無しさん [2025/05/28(水) 08:58:57.33 ID:DZlhdmsz.net]
- 震え声で言ってるの?
- 880 名前:デフォルトの名無しさん mailto:sage [2025/05/28(水) 09:02:42.36 ID:3/66YXCT.net]
- スレタイを音読してみよう
- 881 名前:デフォルトの名無しさん [2025/05/28(水) 09:56:27.88 ID:0RI44N1Y.net]
- エグザイル ビバ しつもんしる
- 882 名前:デフォルトの名無しさん [2025/05/28(水) 20:05:51.40 ID:WNN+73zR.net]
- VBAでファイルやフォルダのパスはいつも一覧表で利用しているのですが、当然属人化するリスクがあるので、もっと柔軟にパスを設定できる方法を探しています。
今考えているのは、ファイルやフォルダが見つからなかった時にダイアログを開いてフォルダやファイルを選択させ、選択したファイルやフォルダのパスをセルに記入する、と言う方法なのですが、もっと簡単で確実で柔軟な方法はないでしょうか?
- 883 名前:デフォルトの名無しさん mailto:sage [2025/05/28(水) 20:44:52.08 ID:Z5h4paoG.net]
- 自分は設定シートを用意して、そこに記述してあるものを参照してる
- 884 名前:デフォルトの名無しさん mailto:sage [2025/05/28(水) 20:50:09.42 ID:bd87TuSw.net]
- ログインユーザーのマイドキュメントをルートにして開く
具体的には「HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\Personal」 のパス
- 885 名前:デフォルトの名無しさん [2025/05/28(水) 21:40:10.79 ID:WNN+73zR.net]
- >>864
その設定用シートに 例えばフォルダやファイルを複数選択した状況で右クリックのパスをコピーでシートに貼り付ける という事さえも出来ない、わからない人も想定しないといけない訳で、、、
- 886 名前:デフォルトの名無しさん [2025/05/28(水) 21:58:53.67 ID://Fv0twK.net]
- >>863
エクスプローラーからファイルをドラッグドロップ
- 887 名前:デフォルトの名無しさん [2025/05/28(水) 22:16:15.52 ID:WNN+73zR.net]
- >>867
知らなかったです これができるなら本当に希望が見えてきました
- 888 名前:デフォルトの名無しさん [2025/05/28(水) 22:18:57.59 ID:QfAx2JsO.net]
- 馬鹿ばっか
- 889 名前:デフォルトの名無しさん [2025/05/28(水) 23:46:46.18 ID://Fv0twK.net]
- >>868
https://excel.syogyoumujou.com/memorandum/d_and_d_1.html このやり方が簡単そう
- 890 名前:デフォルトの名無しさん [2025/05/29(木) 07:11:07.31 ID:cC95Jm/J.net]
- >>870
よくよく考えれば当たり前なんだけど、ドラッグ&ドロップで追加する機能もあるんだ これは便利だ
- 891 名前:デフォルトの名無しさん [2025/05/29(木) 17:25:49.51 ID:fp+yAGdo.net]
- FileSystemObject の TextStream が使えないなら ADODB の Stream を使えばいいじゃない
と思ったら挙動が違ってびっくり
- 892 名前:デフォルトの名無しさん [2025/06/01(日) 20:16:56.40 ID:wTah86rB.net]
- 初歩的な質問で申し訳ないですが、マクロ実行中にエラーなどでデバック画面、エディタ画面に移動せずに、エラーハンドリングなどを実行してプロシージャを終了するにはどうしたらいいですか?
- 893 名前:デフォルトの名無しさん mailto:sage [2025/06/01(日) 21:54:45.65 ID:fzXRF4Kq.net]
- >>873
On Error Resume Next
- 894 名前:デフォルトの名無しさん mailto:sage [2025/06/02(月) 00:34:11.70 ID:14Td775l.net]
- [ツール] [オプション] [全般]
エラーでトラップ ●エラー処理対象外のエラーで中断 ということではなくて?
- 895 名前:デフォルトの名無しさん mailto:sage [2025/06/02(月) 00:35:28.23 ID:14Td775l.net]
- ×エラーでトラップ
◯エラートラップ
- 896 名前:デフォルトの名無しさん [2025/06/02(月) 07:36:05.35 ID:hx4qvUMZ.net]
- >>614
on error goto ラベル名 vba エラーハンドリング で検索して例を見た方が早いよ
- 897 名前:デフォルトの名無しさん mailto:sage [2025/06/02(月) 08:46:36.26 ID:IeMpK/LE.net]
- >>614
そんなひとつのモジュールに詰め込んだら管理しにくいでしょ。 モジュールは分ける。
- 898 名前:デフォルトの名無しさん mailto:sage [2025/06/02(月) 09:24:06.39 ID:3Ov4fjqk.net]
- >>878
何を基準にかを書かかないと役立たずじゃない?
- 899 名前:デフォルトの名無しさん mailto:sage [2025/06/02(月) 15:03:33.91 ID:DSKTrfoz.net]
- 馬鹿はそんなことも判らないのか
- 900 名前:デフォルトの名無しさん mailto:sage [2025/06/02(月) 15:07:32.82 ID:OjGRkHiP.net]
- >>880
スレタイ読めない馬鹿w
- 901 名前:デフォルトの名無しさん [2025/06/02(月) 19:50:00.14 ID:K2UVQp3e.net]
- >>614
ひとつのモジュールにはひとつの役割を ひとつのプロシージャにもひとつの役割を 与えて書けばいいんじゃない? もちろん、モジュールとプロシージャでは 与える役割が全然変わってくるけど 例えばモジュールに車という役割を与えたら プロシージャには走る役割を与えたり 後はセンス
- 902 名前:デフォルトの名無しさん [2025/06/02(月) 20:06:38.96 ID:Xhmb9taU.net]
- ありがとうございます
やはり on error goto ラベル名 なのですね
- 903 名前:デフォルトの名無しさん [2025/06/02(月) 20:25:45.14 ID:gI3jZeU7.net]
- on error resume next
ヤバそうな処理 if err.number<>0 then エラーリカバリー end if on error goto0
- 904 名前:デフォルトの名無しさん [2025/06/02(月) 20:45:44.86 ID:Xhmb9taU.net]
- >>884
エラーが発生している、あるいはしそうな処理がある、というよりは、マクロ実行中にどんなバグでも発生したら、発生した時点で終了させる必要があります
- 905 名前:デフォルトの名無しさん mailto:sage [2025/06/02(月) 21:35:59.74 ID:nQl9pEtd.net]
- 終了前に
err.number = エラー番号 をセットしてジャンプさせるハンドラがいる こわー
- 906 名前:デフォルトの名無しさん mailto:sage [2025/06/02(月) 22:06:18.54 ID:ZCDsMgZ+.net]
- Sub Div0()
On Error GoTo Err MsgBox 1 / 1 MsgBox 1 / 0 MsgBox 1 / -1 Err: MsgBox "ゼロで割るな、クソが" End End Sub
- 907 名前:デフォルトの名無しさん mailto:sage [2025/06/02(月) 22:26:41.07 ID:ncJUEcFA.net]
- Err: の前で Exit Sub しないと
- 908 名前:デフォルトの名無しさん [2025/06/03(火) 07:35:55.27 ID:o/OLh2ct.net]
- 異常が起きる前にファイル開いてた場合、closeしないで終了してしまうとかある
- 909 名前:デフォルトの名無しさん [2025/06/03(火) 07:39:00.03 ID:/ZJ1mBw3.net]
- VBAのツール作りは時間がかかるのが当たり前でしょうか?
作り方は分かっているし、作るツールもたいしたものではないのに、それでも1日2日では終わらないです
- 910 名前:デフォルトの名無しさん [2025/06/03(火) 10:48:59.43 ID:Kk3A2bVT.net]
- ものによる、人による、まともにテストしてるかにもよる
- 911 名前:デフォルトの名無しさん mailto:sage [2025/06/03(火) 10:57:06.67 ID:Q0vXXWY4.net]
- どうせ著作権侵害や不正アクセスツールだろ
- 912 名前:デフォルトの名無しさん [2025/06/03(火) 19:25:30.47 ID:gpacmpqZ.net]
- >>890
まぁそうだね だから綺麗に部品化しておくことが大事なんだよ それを後で使い回せるようにね
- 913 名前:デフォルトの名無しさん [2025/06/03(火) 20:26:44.49 ID:/ZJ1mBw3.net]
- 自分が勤めている会社で理解者や協力者を増やそうと、少しでもVBAに興味を示した人や、VBAを齧っている人を相手に勉強会を開催しても、結局VBAがわかる人は少ない
という話を聞きますが、やっぱりVBAといえど、難しいのでしょうか? Power Queryでもそういう話を聞きます
- 914 名前:デフォルトの名無しさん mailto:sage [2025/06/03(火) 21:02:42.93 ID:cgHky4oh.net]
- VBAが難しくないんだったらさっさとVBA卒業して本職のITエンジニアになった方が稼げるからねえ
向上心がありすぎてもいけない、中途半端なツールなので
- 915 名前:デフォルトの名無しさん [2025/06/03(火) 21:09:44.47 ID:Kk3A2bVT.net]
- チンタラ残業代稼いでる人にとって効率化は最大の敵
VBAにしろRPAにしろ最大の抵抗勢力よ
- 916 名前:デフォルトの名無しさん [2025/06/03(火) 22:04:21.82 ID:gr7bEf2i.net]
- >>872 で愚痴って終わりなのもアレだから一応書いとく
・事象 FileSystemObject.TextStream.ReadLine と ADODB.Stream.ReadText(adReadLine) が同じ結果にならない ・原因 改行コードが CRLF と LF が混じったお行儀のよろしくないファイルだった ・対処 LineSeparator = adLF として Replace(ReadText(adReadLine), vbCr, "") とやったらOKだった
- 917 名前:デフォルトの名無しさん mailto:sage [2025/06/03(火) 23:26:25.06 ID:aKU11sxP.net]
- >>897
Microsoftのマニュアルよりも詳しい説明 ADODB.Stream: https://atsumitm.iobb.net/its/its-050.php TextStream: https://atsumitm.iobb.net/its/its-051.php
- 918 名前:デフォルトの名無しさん [2025/06/03(火) 23:46:58.61 ID:gpacmpqZ.net]
- >>894
VBAは比較的間口が広くてとっつき易い言語ではあるとは思うよ ただ、何の言語でもそうだけど教える人がいると受動的になりがちで聞いてりゃ分かるようになると思ってしまうのはマズい 聞いてりゃ分かるようになる言語なんて存在しない 分かる人が少ないのは結局、VBAを本当に必要であることを迫られる立場に無いからだと思う VBA出来なきゃ今いる会社をクビになるくらいに迫られたら大概の人は理解する でも教えてくれる人がいるということは恵まれたことだと思うよ このスレにいる大多数の人は恐らく独学で仕事場で使えるようにならざるを得なかった立場なんじゃないかな
- 919 名前:デフォルトの名無しさん [2025/06/03(火) 23:58:42.71 ID:/ZJ1mBw3.net]
- >>899
私も完全独学で覚えました というプログラミングは独学で学んでいる人ばかりではないのですか? プログラミングスクールは役に立たないし、かと言って会社は教えてくれない
- 920 名前:897 [2025/06/04(水) 00:06:22.21 ID:/Ak3M73b.net]
- >>898
このサイトぐぐるとよく見かけるようになったけど、詳しすぎて理解できないw
- 921 名前:デフォルトの名無しさん mailto:sage [2025/06/04(水) 00:40:57.38 ID:b8XC2mTd.net]
- 自学できない人はダメだよね
- 922 名前:デフォルトの名無しさん mailto:sage [2025/06/04(水) 05:30:19.54 ID:3c6clsCg.net]
- 独学って、大半の人は言語に固有の文法と、開発環境に依存する実行方法を覚えただけでしょ
だからデータ型の違いとか文字コードとかアルゴリズムとかファイルシステムとか、基本がわかってないから別の言語に手を出せない
- 923 名前:デフォルトの名無しさん [2025/06/04(水) 06:02:44.09 ID:/hC9EQXc.net]
- ここ見てりゃわかるけど、コピペで動いて偉くなったつもりの馬鹿ばっかだから
- 924 名前:デフォルトの名無しさん [2025/06/04(水) 07:11:35.77 ID:jKpT1SFo.net]
- >>903
そうね それはその通りだと思うわ だから>>894の言ってる教えている人が そもそものVBAの基本的な型やら 分岐や演算とかよく使うObjectの扱いとかを 最初に教えていることを切に願うわ
- 925 名前:デフォルトの名無しさん [2025/06/04(水) 07:34:51.95 ID:BFbm2+Cn.net]
- >>900
覚えるのは自分、教わったのに覚えてないようでは学べてない あと文法は覚えてもアルゴリズムは考えるもの 教わってないからできないって言ってるのは初心者以下な
- 926 名前:デフォルトの名無しさん [2025/06/04(水) 07:44:26.54 ID:f2CAL3f8.net]
- やる必要性がないからやらないけど、Pythonが簡単というならPythonだってわかる気がするし、C言語がFor eachもない様な単純な言語だというならそれはそれでできそうな気もする(Copilotがあるから尚更)。
ローコードにしろスクラッチにしろそれは同じ。 既製品のソフトウェアを導入するか、VBAで作成するかならどちらが安いと思いますか? もしVBAの方が安いなら世の中マクロだらけだと思うのです。
- 927 名前:デフォルトの名無しさん mailto:sage [2025/06/04(水) 08:21:45.39 ID:B6zQeN2g.net]
- 誰も責任を負いたくない、率先して矢面に立ちたくない方々だらけだから
- 928 名前:デフォルトの名無しさん mailto:sage [2025/06/04(水) 08:50:54.30 ID:yTwvetl9.net]
- >>907
マクロだらけだよ それらを管理する人(作成者)が抜けていくから管理不能になる そういった事象を解決する銀の弾丸としてRPAやノーコードツールが喧伝されたけど、 管理する人がいないって意味では同じなので同じことが繰り返されてる
- 929 名前:デフォルトの名無しさん mailto:sage [2025/06/04(水) 10:16:27.04 ID:pOYKhOcI.net]
- >改行コードが CRLF と LF が混じったお行儀のよろしくないファイル
CSVなら普通にあるな 行儀の問題じゃない
- 930 名前:デフォルトの名無しさん mailto:sage [2025/06/04(水) 10:36:26.59 ID:yTwvetl9.net]
- 行儀だよ
少なくともRFC上においては行末がCRLFであると規定されてる ファイルの最後のみがどうでもよい
- 931 名前:デフォルトの名無しさん mailto:sage [2025/06/04(水) 11:22:31.03 ID:ZuFYF6Nx.net]
- >>907
どっちが安いって、保守コストまで考えて言ってる? そりゃ作りっぱなしならVBAのが安上がりだけど、それじゃ後で困るって話をしてるんでしょ
- 932 名前:デフォルトの名無しさん [2025/06/04(水) 12:21:29.23 ID:pOYKhOcI.net]
- LFは行末じゃないよ
- 933 名前:デフォルトの名無しさん [2025/06/04(水) 14:36:42.79 ID:p0LJP29f.net]
- CSVの行改行と項目内改行が使い分けられてないわけが無い
使い分けられてなければ復元不可能になる
- 934 名前:デフォルトの名無しさん [2025/06/04(水) 14:39:56.22 ID:p0LJP29f.net]
- >>914
"あれば可能だが無いの見たことあるのよね…
- 935 名前:デフォルトの名無しさん mailto:sage [2025/06/04(水) 16:28:29.01 ID:3c6clsCg.net]
- 標準の改行コードはOSによって違う
CR、LF、CR+LF、LF+CR、すべてのパターンが実在する フィールドに改行やコンマを含めたい場合、レコードの区切りと違うコードを割り当てる場合もあれば、クォートなどの記号でフィールドの範囲を明示する場合もある Windows版Excelはダブルクォートでフィールドの範囲を指定するのが基本
- 936 名前:デフォルトの名無しさん mailto:sage [2025/06/04(水) 16:30:20.58 ID:3c6clsCg.net]
- >>915
それは固定長かセパレータ(コンマ)の数をカウントしてるかどっちかかな
- 937 名前:デフォルトの名無しさん mailto:sage [2025/06/04(水) 18:23:31.04 ID:RQn0r/Lq.net]
- >>916
CR MacOS(UNIX化前) LF UNIX、MacOS(UNIX化後) CR+LF Windows、DOS LF+CR ← なんてOS?
- 938 名前:デフォルトの名無しさん [2025/06/04(水) 18:39:20.47 ID:f2CAL3f8.net]
- >>909
RPAにしろ、ノーコードにしろ、なんにしろ、そうなりますよね。 結局社内でどれだけ学習意欲のある人を揃えるかによりそう。
- 939 名前:デフォルトの名無しさん mailto:sage [2025/06/04(水) 19:22:49.50 ID:7S8kDVf/.net]
- >>913
由来のタイプライターを鑑みたらLFは本来行頭に来るべきものだけど、 現実的には行末
- 940 名前:デフォルトの名無しさん mailto:sage [2025/06/04(水) 19:55:51.24 ID:frrYvMiA.net]
- 頑張ってVBA勉強したところでプログラミングスキルとしては流石に時代遅れ&最底辺だし、
事務員としてスキルアップしたいならツールに入れ込むより業務知識を強化した方がいいし、 組織の中で出世したいなら自分でVBA書くより他人に書かせて継続的にスケールする仕組みを作るべき そして、めでたく業務効率化できたとして、いず」行き着く先は「脱Excelで属人化解消&業務効率化」でVBA職人は悪者扱いだ 本当にVBAを広めたいのなら、個人の意欲に頼るのではなく、組織として適切なインセンティブを設けることだな
- 941 名前:デフォルトの名無しさん [2025/06/04(水) 20:02:53.71 ID:f2CAL3f8.net]
- >>921
結局、経営者次第だよね まるでITや業務効率化に興味がないなら何もできない 社員の進言に耳を傾けないなら騙されもするし、せ
|

|