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/
探検
Excel VBA 質問スレ Part82
レス数が900を超えています。1000を超えると表示できなくなるよ。
1デフォルトの名無しさん
2025/01/24(金) 03:31:15.25ID:l239yW+P830デフォルトの名無しさん
2025/05/25(日) 19:13:49.79ID:5C/Jye7Q 従来の正規表現の代用って無いの
831デフォルトの名無しさん
2025/05/25(日) 19:54:07.08ID:czPn1bap >>828
逆にあれだけ情報出ててなんで死なないと思うの?
https://techcommunity.microsoft.com/blog/windows-itpro-blog/vbscript-deprecation-timelines-and-next-steps/4148301
>>830
vba-regex by sihlfallっていう、
RegExp代替のフルVBAで書かれた正規表現エンジンがある
逆にあれだけ情報出ててなんで死なないと思うの?
https://techcommunity.microsoft.com/blog/windows-itpro-blog/vbscript-deprecation-timelines-and-next-steps/4148301
>>830
vba-regex by sihlfallっていう、
RegExp代替のフルVBAで書かれた正規表現エンジンがある
832デフォルトの名無しさん
2025/05/25(日) 19:58:13.45ID:bo3VS07C833デフォルトの名無しさん
2025/05/25(日) 20:04:43.89ID:IvH5YvLQ 私はVBAの正規表現が死んだら、パワークエリーでJavaScriptの正規表現を使うわ
set オブジェクト = nothingって必ずした方が動作が確実になるのでしょうか?
Wordのドキュメントやアプリケーションを処理する時にエラーが出たのでそう思いました。
set オブジェクト = nothingって必ずした方が動作が確実になるのでしょうか?
Wordのドキュメントやアプリケーションを処理する時にエラーが出たのでそう思いました。
834デフォルトの名無しさん
2025/05/25(日) 22:03:34.39ID:QBoxveBd 正規表現はREGEX関数が実装されたのでVBAでやる必要なし
835デフォルトの名無しさん
2025/05/25(日) 22:32:05.60ID:d/seLvao836デフォルトの名無しさん
2025/05/26(月) 02:34:52.38ID:J879X3+V >>835
Microsoft Scripting Runtimeに依存してるからVBSと共に死ぬ
FSOなんかはScripting Runtimeには依存してないから引き続き使える
間違ってるなら指摘して
認識改めるから
Microsoft Scripting Runtimeに依存してるからVBSと共に死ぬ
FSOなんかはScripting Runtimeには依存してないから引き続き使える
間違ってるなら指摘して
認識改めるから
837デフォルトの名無しさん
2025/05/26(月) 09:38:22.00ID:G1Vrdcz4 >>820 が聞きたいのは
https://www.limecode.jp/entry/syntax/bind-set-filesystemobject
この辺の処理の仕方なんでは? 最後まで精読すれば、どういう書き方をすれば
より都合が良くなるか、それなり理解が深まるような
https://www.limecode.jp/entry/syntax/bind-set-filesystemobject
この辺の処理の仕方なんでは? 最後まで精読すれば、どういう書き方をすれば
より都合が良くなるか、それなり理解が深まるような
838デフォルトの名無しさん
2025/05/26(月) 09:53:10.39ID:wHcYCN0P >>833
>set オブジェクト = nothing
それ書かないで過去に何度か問題起きてたような
ファイルopenして、close書かなくても勝手に閉じてくれるとしても、書いたほうがいいようなもん
たった1行各程度で未然にトラブル防げるなら書いとけと
(かと言って、親オブジェクトから連なる小オブジェクトはいちいちnothingせずに、親オブジェクトだけ書いちゃうことも多いけどな。小さい処理だと特に)
>set オブジェクト = nothing
それ書かないで過去に何度か問題起きてたような
ファイルopenして、close書かなくても勝手に閉じてくれるとしても、書いたほうがいいようなもん
たった1行各程度で未然にトラブル防げるなら書いとけと
(かと言って、親オブジェクトから連なる小オブジェクトはいちいちnothingせずに、親オブジェクトだけ書いちゃうことも多いけどな。小さい処理だと特に)
839デフォルトの名無しさん
2025/05/26(月) 12:08:21.83ID:chNfFSjB840デフォルトの名無しさん
2025/05/26(月) 13:55:33.90ID:cvwCoF8H >set オブジェクト = nothingって必ずした方が動作が確実になるのでしょうか?
した方が良いじゃなくてするべき
した方が良いじゃなくてするべき
841デフォルトの名無しさん
2025/05/26(月) 17:21:30.90ID:c1JRhLC0 コピペ荒らしこのスレだけ来ないの面白いな
842デフォルトの名無しさん
2025/05/26(月) 18:35:02.01ID:FaOK97dk >>837
すみません
今の私は例えばファイルシステムで言えば、
フォルダの中の全てのフォルダ名とフォルダパスを取得
フォルダの中の全てのファイル名とファイルパスを取得
フォルダの中に指定のファイル名と異なるファイルがあれば削除
と言う様に、
それぞれのサブプロシージャを作成する事しかできていません
なので、一つのサブプロシージャに条件に応じて複数の処理が行えないかなと思いました
原作論で言えば、一つの処理しかできないサブプロシージャこそ正しいのかもしれませんが
あと、それぞれのプロシージャでファイルシステムオブジェクトを宣言とセットをしてしまっています
nothingは今までプロシージャを抜けた時点で解放されるから特にする必要がないと思っていましたが、Wordを操作する様になって、nothingをしないと処理が止まってしまうので意識する様になりました
すみません
今の私は例えばファイルシステムで言えば、
フォルダの中の全てのフォルダ名とフォルダパスを取得
フォルダの中の全てのファイル名とファイルパスを取得
フォルダの中に指定のファイル名と異なるファイルがあれば削除
と言う様に、
それぞれのサブプロシージャを作成する事しかできていません
なので、一つのサブプロシージャに条件に応じて複数の処理が行えないかなと思いました
原作論で言えば、一つの処理しかできないサブプロシージャこそ正しいのかもしれませんが
あと、それぞれのプロシージャでファイルシステムオブジェクトを宣言とセットをしてしまっています
nothingは今までプロシージャを抜けた時点で解放されるから特にする必要がないと思っていましたが、Wordを操作する様になって、nothingをしないと処理が止まってしまうので意識する様になりました
843デフォルトの名無しさん
2025/05/26(月) 19:11:18.49ID:mCaBFscc Sub Yaritai(i as integer)
if (i and 1) <> 0 then
Call Sub1()
elseif (i and 2) <> 0 then
Call Sub2()
End Sub
if (i and 1) <> 0 then
Call Sub1()
elseif (i and 2) <> 0 then
Call Sub2()
End Sub
844デフォルトの名無しさん
2025/05/26(月) 20:30:26.44ID:sP5+kUYx >>842
ご自分で言ってる通り、ひとつのモジュール、関数、メソッド等にはひとつの役割を与えて作るのがセオリーです。ちなみにそれを単一責任原則と言います。
ひとつのプロシージャ内で出来るかと言えば、再起処理やStaticな変数を上手く使えば恐らく出来ないことは無いでしょうが、そうするメリットをあまり感じません。
ひとつのプロシージャで処理するのではなく、ひとつのクラスとしてその辺の処理を行うことを検討しては如何でしょうか?
そうすればメンバ変数として宣言したもののインスタンスをコンストラクタで生成することも出来ますし、デストラクタで解放することも出来ますよ
ご自分で言ってる通り、ひとつのモジュール、関数、メソッド等にはひとつの役割を与えて作るのがセオリーです。ちなみにそれを単一責任原則と言います。
ひとつのプロシージャ内で出来るかと言えば、再起処理やStaticな変数を上手く使えば恐らく出来ないことは無いでしょうが、そうするメリットをあまり感じません。
ひとつのプロシージャで処理するのではなく、ひとつのクラスとしてその辺の処理を行うことを検討しては如何でしょうか?
そうすればメンバ変数として宣言したもののインスタンスをコンストラクタで生成することも出来ますし、デストラクタで解放することも出来ますよ
845デフォルトの名無しさん
2025/05/26(月) 20:36:57.49ID:sP5+kUYx ×再起処理
◯再帰処理
誤変換すまんこ
◯再帰処理
誤変換すまんこ
846デフォルトの名無しさん
2025/05/26(月) 21:18:23.47ID:FaOK97dk847デフォルトの名無しさん
2025/05/26(月) 22:59:03.14ID:Eh03XDLb セルから機種依存文字を直接拾ってくるのは難しいですか?
例えば☐(unicode:2610)が入ってるセルをクリックすると☑(unicode:2611)に書き換える、みたいなのを実装する場合、
if(Range("A1").text="☐")then
だとRange("A1").textでセルの文字は取得できませんよね?
(もちろん「="☐"」で直接比較することもできませんが)
どうにかしてセルの機種依存文字を拾ってきてその種類を判定することは可能でしょうか?
例えば☐(unicode:2610)が入ってるセルをクリックすると☑(unicode:2611)に書き換える、みたいなのを実装する場合、
if(Range("A1").text="☐")then
だとRange("A1").textでセルの文字は取得できませんよね?
(もちろん「="☐"」で直接比較することもできませんが)
どうにかしてセルの機種依存文字を拾ってきてその種類を判定することは可能でしょうか?
848デフォルトの名無しさん
2025/05/26(月) 23:15:54.66ID:MWZ/4kNq >>847
Hex(WorksheetFunction.Unicode(Range("A1")))
Hex(WorksheetFunction.Unicode(Range("A1")))
849デフォルトの名無しさん
2025/05/27(火) 15:49:48.18ID:j5Gfr/Ar >>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
>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
850デフォルトの名無しさん
2025/05/27(火) 17:59:07.28ID:2OPk25Mu851デフォルトの名無しさん
2025/05/27(火) 20:17:39.42ID:3QS90eHP Excelの話ではないからスレ違いなんですが、 Wordのドキュメントの2ページ目の行に文字列を挿入するにはどうしたらいいでしょうか?
2ページ目の〜行目にと言う様な指定はできないのでしょうか?
2ページ目の〜行目にと言う様な指定はできないのでしょうか?
852デフォルトの名無しさん
2025/05/27(火) 20:38:35.17ID:0hlUsnMF853デフォルトの名無しさん
2025/05/27(火) 20:52:46.35ID:OuONf5SF854デフォルトの名無しさん
2025/05/27(火) 20:54:35.84ID:DtCiAPP8 >>853
死ね
死ね
855デフォルトの名無しさん
2025/05/27(火) 22:13:59.20ID:JUnNHiQe >>851
ActiveWindow.ActivePane.Pages(2).Rectangles(1).Range = "文字列" & ActiveWindow.ActivePane.Pages(2).Rectangles(1).Range
ActiveWindow.ActivePane.Pages(2).Rectangles(1).Range = "文字列" & ActiveWindow.ActivePane.Pages(2).Rectangles(1).Range
856デフォルトの名無しさん
2025/05/28(水) 00:45:03.58ID:7WzKj5D7 フォームを作るのに標準のコントロールやAPIでは動かないことがあったから、ついにPowershellで作り始めちゃった
857デフォルトの名無しさん
2025/05/28(水) 01:00:15.46ID:+7HocyMO PowerShellは
System.Collections.Genericが使えるからかなり楽だよなぁ
VBAと違ってフォームデザイナが標準で付いてないのが難だが
System.Collections.Genericが使えるからかなり楽だよなぁ
VBAと違ってフォームデザイナが標準で付いてないのが難だが
858デフォルトの名無しさん
2025/05/28(水) 07:40:29.71ID:LbsE8EcH VSの方が楽なんでは
PS使ったことないけど
PS使ったことないけど
859デフォルトの名無しさん
2025/05/28(水) 08:42:06.86ID:WNN+73zR PowerShellはbatと違って、一手間や権限設定が必要と聞いたからやめた震え声
本当にそうなのですか?
本当にそうなのですか?
860デフォルトの名無しさん
2025/05/28(水) 08:58:57.33ID:DZlhdmsz 震え声で言ってるの?
861デフォルトの名無しさん
2025/05/28(水) 09:02:42.36ID:3/66YXCT スレタイを音読してみよう
862デフォルトの名無しさん
2025/05/28(水) 09:56:27.88ID:0RI44N1Y エグザイル ビバ しつもんしる
863デフォルトの名無しさん
2025/05/28(水) 20:05:51.40ID:WNN+73zR VBAでファイルやフォルダのパスはいつも一覧表で利用しているのですが、当然属人化するリスクがあるので、もっと柔軟にパスを設定できる方法を探しています。
今考えているのは、ファイルやフォルダが見つからなかった時にダイアログを開いてフォルダやファイルを選択させ、選択したファイルやフォルダのパスをセルに記入する、と言う方法なのですが、もっと簡単で確実で柔軟な方法はないでしょうか?
今考えているのは、ファイルやフォルダが見つからなかった時にダイアログを開いてフォルダやファイルを選択させ、選択したファイルやフォルダのパスをセルに記入する、と言う方法なのですが、もっと簡単で確実で柔軟な方法はないでしょうか?
864デフォルトの名無しさん
2025/05/28(水) 20:44:52.08ID:Z5h4paoG 自分は設定シートを用意して、そこに記述してあるものを参照してる
865デフォルトの名無しさん
2025/05/28(水) 20:50:09.42ID:bd87TuSw ログインユーザーのマイドキュメントをルートにして開く
具体的には「HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\Personal」
のパス
具体的には「HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\Personal」
のパス
866デフォルトの名無しさん
2025/05/28(水) 21:40:10.79ID:WNN+73zR867デフォルトの名無しさん
2025/05/28(水) 21:58:53.67ID://Fv0twK >>863
エクスプローラーからファイルをドラッグドロップ
エクスプローラーからファイルをドラッグドロップ
868デフォルトの名無しさん
2025/05/28(水) 22:16:15.52ID:WNN+73zR869デフォルトの名無しさん
2025/05/28(水) 22:18:57.59ID:QfAx2JsO 馬鹿ばっか
870デフォルトの名無しさん
2025/05/28(水) 23:46:46.18ID://Fv0twK871デフォルトの名無しさん
2025/05/29(木) 07:11:07.31ID:cC95Jm/J872デフォルトの名無しさん
2025/05/29(木) 17:25:49.51ID:fp+yAGdo FileSystemObject の TextStream が使えないなら ADODB の Stream を使えばいいじゃない
と思ったら挙動が違ってびっくり
と思ったら挙動が違ってびっくり
873デフォルトの名無しさん
2025/06/01(日) 20:16:56.40ID:wTah86rB 初歩的な質問で申し訳ないですが、マクロ実行中にエラーなどでデバック画面、エディタ画面に移動せずに、エラーハンドリングなどを実行してプロシージャを終了するにはどうしたらいいですか?
874デフォルトの名無しさん
2025/06/01(日) 21:54:45.65ID:fzXRF4Kq >>873
On Error Resume Next
On Error Resume Next
875デフォルトの名無しさん
2025/06/02(月) 00:34:11.70ID:14Td775l [ツール] [オプション] [全般]
エラーでトラップ
●エラー処理対象外のエラーで中断
ということではなくて?
エラーでトラップ
●エラー処理対象外のエラーで中断
ということではなくて?
876デフォルトの名無しさん
2025/06/02(月) 00:35:28.23ID:14Td775l ×エラーでトラップ
◯エラートラップ
◯エラートラップ
877デフォルトの名無しさん
2025/06/02(月) 07:36:05.35ID:hx4qvUMZ878デフォルトの名無しさん
2025/06/02(月) 08:46:36.26ID:IeMpK/LE879デフォルトの名無しさん
2025/06/02(月) 09:24:06.39ID:3Ov4fjqk >>878
何を基準にかを書かかないと役立たずじゃない?
何を基準にかを書かかないと役立たずじゃない?
880デフォルトの名無しさん
2025/06/02(月) 15:03:33.91ID:DSKTrfoz 馬鹿はそんなことも判らないのか
881デフォルトの名無しさん
2025/06/02(月) 15:07:32.82ID:OjGRkHiP >>880
スレタイ読めない馬鹿w
スレタイ読めない馬鹿w
882デフォルトの名無しさん
2025/06/02(月) 19:50:00.14ID:K2UVQp3e >>614
ひとつのモジュールにはひとつの役割を
ひとつのプロシージャにもひとつの役割を
与えて書けばいいんじゃない?
もちろん、モジュールとプロシージャでは
与える役割が全然変わってくるけど
例えばモジュールに車という役割を与えたら
プロシージャには走る役割を与えたり
後はセンス
ひとつのモジュールにはひとつの役割を
ひとつのプロシージャにもひとつの役割を
与えて書けばいいんじゃない?
もちろん、モジュールとプロシージャでは
与える役割が全然変わってくるけど
例えばモジュールに車という役割を与えたら
プロシージャには走る役割を与えたり
後はセンス
883デフォルトの名無しさん
2025/06/02(月) 20:06:38.96ID:Xhmb9taU ありがとうございます
やはり on error goto ラベル名 なのですね
やはり on error goto ラベル名 なのですね
884デフォルトの名無しさん
2025/06/02(月) 20:25:45.14ID:gI3jZeU7 on error resume next
ヤバそうな処理
if err.number<>0 then
エラーリカバリー
end if
on error goto0
ヤバそうな処理
if err.number<>0 then
エラーリカバリー
end if
on error goto0
885デフォルトの名無しさん
2025/06/02(月) 20:45:44.86ID:Xhmb9taU >>884
エラーが発生している、あるいはしそうな処理がある、というよりは、マクロ実行中にどんなバグでも発生したら、発生した時点で終了させる必要があります
エラーが発生している、あるいはしそうな処理がある、というよりは、マクロ実行中にどんなバグでも発生したら、発生した時点で終了させる必要があります
886デフォルトの名無しさん
2025/06/02(月) 21:35:59.74ID:nQl9pEtd 終了前に
err.number = エラー番号
をセットしてジャンプさせるハンドラがいる
こわー
err.number = エラー番号
をセットしてジャンプさせるハンドラがいる
こわー
887デフォルトの名無しさん
2025/06/02(月) 22:06:18.54ID:ZCDsMgZ+ Sub Div0()
On Error GoTo Err
MsgBox 1 / 1
MsgBox 1 / 0
MsgBox 1 / -1
Err:
MsgBox "ゼロで割るな、クソが"
End
End Sub
On Error GoTo Err
MsgBox 1 / 1
MsgBox 1 / 0
MsgBox 1 / -1
Err:
MsgBox "ゼロで割るな、クソが"
End
End Sub
888デフォルトの名無しさん
2025/06/02(月) 22:26:41.07ID:ncJUEcFA Err: の前で Exit Sub しないと
889デフォルトの名無しさん
2025/06/03(火) 07:35:55.27ID:o/OLh2ct 異常が起きる前にファイル開いてた場合、closeしないで終了してしまうとかある
890デフォルトの名無しさん
2025/06/03(火) 07:39:00.03ID:/ZJ1mBw3 VBAのツール作りは時間がかかるのが当たり前でしょうか?
作り方は分かっているし、作るツールもたいしたものではないのに、それでも1日2日では終わらないです
作り方は分かっているし、作るツールもたいしたものではないのに、それでも1日2日では終わらないです
891デフォルトの名無しさん
2025/06/03(火) 10:48:59.43ID:Kk3A2bVT ものによる、人による、まともにテストしてるかにもよる
892デフォルトの名無しさん
2025/06/03(火) 10:57:06.67ID:Q0vXXWY4 どうせ著作権侵害や不正アクセスツールだろ
893デフォルトの名無しさん
2025/06/03(火) 19:25:30.47ID:gpacmpqZ894デフォルトの名無しさん
2025/06/03(火) 20:26:44.49ID:/ZJ1mBw3 自分が勤めている会社で理解者や協力者を増やそうと、少しでもVBAに興味を示した人や、VBAを齧っている人を相手に勉強会を開催しても、結局VBAがわかる人は少ない
という話を聞きますが、やっぱりVBAといえど、難しいのでしょうか?
Power Queryでもそういう話を聞きます
という話を聞きますが、やっぱりVBAといえど、難しいのでしょうか?
Power Queryでもそういう話を聞きます
895デフォルトの名無しさん
2025/06/03(火) 21:02:42.93ID:cgHky4oh VBAが難しくないんだったらさっさとVBA卒業して本職のITエンジニアになった方が稼げるからねえ
向上心がありすぎてもいけない、中途半端なツールなので
向上心がありすぎてもいけない、中途半端なツールなので
896デフォルトの名無しさん
2025/06/03(火) 21:09:44.47ID:Kk3A2bVT チンタラ残業代稼いでる人にとって効率化は最大の敵
VBAにしろRPAにしろ最大の抵抗勢力よ
VBAにしろRPAにしろ最大の抵抗勢力よ
897デフォルトの名無しさん
2025/06/03(火) 22:04:21.82ID:gr7bEf2i >>872 で愚痴って終わりなのもアレだから一応書いとく
・事象
FileSystemObject.TextStream.ReadLine と ADODB.Stream.ReadText(adReadLine) が同じ結果にならない
・原因
改行コードが CRLF と LF が混じったお行儀のよろしくないファイルだった
・対処
LineSeparator = adLF として Replace(ReadText(adReadLine), vbCr, "")
とやったらOKだった
・事象
FileSystemObject.TextStream.ReadLine と ADODB.Stream.ReadText(adReadLine) が同じ結果にならない
・原因
改行コードが CRLF と LF が混じったお行儀のよろしくないファイルだった
・対処
LineSeparator = adLF として Replace(ReadText(adReadLine), vbCr, "")
とやったらOKだった
898デフォルトの名無しさん
2025/06/03(火) 23:26:25.06ID:aKU11sxP >>897
Microsoftのマニュアルよりも詳しい説明
ADODB.Stream: https://atsumitm.iobb.net/its/its-050.php
TextStream: https://atsumitm.iobb.net/its/its-051.php
Microsoftのマニュアルよりも詳しい説明
ADODB.Stream: https://atsumitm.iobb.net/its/its-050.php
TextStream: https://atsumitm.iobb.net/its/its-051.php
899デフォルトの名無しさん
2025/06/03(火) 23:46:58.61ID:gpacmpqZ >>894
VBAは比較的間口が広くてとっつき易い言語ではあるとは思うよ
ただ、何の言語でもそうだけど教える人がいると受動的になりがちで聞いてりゃ分かるようになると思ってしまうのはマズい
聞いてりゃ分かるようになる言語なんて存在しない
分かる人が少ないのは結局、VBAを本当に必要であることを迫られる立場に無いからだと思う
VBA出来なきゃ今いる会社をクビになるくらいに迫られたら大概の人は理解する
でも教えてくれる人がいるということは恵まれたことだと思うよ
このスレにいる大多数の人は恐らく独学で仕事場で使えるようにならざるを得なかった立場なんじゃないかな
VBAは比較的間口が広くてとっつき易い言語ではあるとは思うよ
ただ、何の言語でもそうだけど教える人がいると受動的になりがちで聞いてりゃ分かるようになると思ってしまうのはマズい
聞いてりゃ分かるようになる言語なんて存在しない
分かる人が少ないのは結局、VBAを本当に必要であることを迫られる立場に無いからだと思う
VBA出来なきゃ今いる会社をクビになるくらいに迫られたら大概の人は理解する
でも教えてくれる人がいるということは恵まれたことだと思うよ
このスレにいる大多数の人は恐らく独学で仕事場で使えるようにならざるを得なかった立場なんじゃないかな
900デフォルトの名無しさん
2025/06/03(火) 23:58:42.71ID:/ZJ1mBw3901897
2025/06/04(水) 00:06:22.21ID:/Ak3M73b >>898
このサイトぐぐるとよく見かけるようになったけど、詳しすぎて理解できないw
このサイトぐぐるとよく見かけるようになったけど、詳しすぎて理解できないw
902デフォルトの名無しさん
2025/06/04(水) 00:40:57.38ID:b8XC2mTd 自学できない人はダメだよね
903デフォルトの名無しさん
2025/06/04(水) 05:30:19.54ID:3c6clsCg 独学って、大半の人は言語に固有の文法と、開発環境に依存する実行方法を覚えただけでしょ
だからデータ型の違いとか文字コードとかアルゴリズムとかファイルシステムとか、基本がわかってないから別の言語に手を出せない
だからデータ型の違いとか文字コードとかアルゴリズムとかファイルシステムとか、基本がわかってないから別の言語に手を出せない
904デフォルトの名無しさん
2025/06/04(水) 06:02:44.09ID:/hC9EQXc ここ見てりゃわかるけど、コピペで動いて偉くなったつもりの馬鹿ばっかだから
905デフォルトの名無しさん
2025/06/04(水) 07:11:35.77ID:jKpT1SFo906デフォルトの名無しさん
2025/06/04(水) 07:34:51.95ID:BFbm2+Cn907デフォルトの名無しさん
2025/06/04(水) 07:44:26.54ID:f2CAL3f8 やる必要性がないからやらないけど、Pythonが簡単というならPythonだってわかる気がするし、C言語がFor eachもない様な単純な言語だというならそれはそれでできそうな気もする(Copilotがあるから尚更)。
ローコードにしろスクラッチにしろそれは同じ。
既製品のソフトウェアを導入するか、VBAで作成するかならどちらが安いと思いますか?
もしVBAの方が安いなら世の中マクロだらけだと思うのです。
ローコードにしろスクラッチにしろそれは同じ。
既製品のソフトウェアを導入するか、VBAで作成するかならどちらが安いと思いますか?
もしVBAの方が安いなら世の中マクロだらけだと思うのです。
908デフォルトの名無しさん
2025/06/04(水) 08:21:45.39ID:B6zQeN2g 誰も責任を負いたくない、率先して矢面に立ちたくない方々だらけだから
909デフォルトの名無しさん
2025/06/04(水) 08:50:54.30ID:yTwvetl9 >>907
マクロだらけだよ
それらを管理する人(作成者)が抜けていくから管理不能になる
そういった事象を解決する銀の弾丸としてRPAやノーコードツールが喧伝されたけど、
管理する人がいないって意味では同じなので同じことが繰り返されてる
マクロだらけだよ
それらを管理する人(作成者)が抜けていくから管理不能になる
そういった事象を解決する銀の弾丸としてRPAやノーコードツールが喧伝されたけど、
管理する人がいないって意味では同じなので同じことが繰り返されてる
910デフォルトの名無しさん
2025/06/04(水) 10:16:27.04ID:pOYKhOcI >改行コードが CRLF と LF が混じったお行儀のよろしくないファイル
CSVなら普通にあるな
行儀の問題じゃない
CSVなら普通にあるな
行儀の問題じゃない
911デフォルトの名無しさん
2025/06/04(水) 10:36:26.59ID:yTwvetl9 行儀だよ
少なくともRFC上においては行末がCRLFであると規定されてる
ファイルの最後のみがどうでもよい
少なくともRFC上においては行末がCRLFであると規定されてる
ファイルの最後のみがどうでもよい
912デフォルトの名無しさん
2025/06/04(水) 11:22:31.03ID:ZuFYF6Nx913デフォルトの名無しさん
2025/06/04(水) 12:21:29.23ID:pOYKhOcI LFは行末じゃないよ
914デフォルトの名無しさん
2025/06/04(水) 14:36:42.79ID:p0LJP29f CSVの行改行と項目内改行が使い分けられてないわけが無い
使い分けられてなければ復元不可能になる
使い分けられてなければ復元不可能になる
915デフォルトの名無しさん
2025/06/04(水) 14:39:56.22ID:p0LJP29f >>914
"あれば可能だが無いの見たことあるのよね…
"あれば可能だが無いの見たことあるのよね…
916デフォルトの名無しさん
2025/06/04(水) 16:28:29.01ID:3c6clsCg 標準の改行コードはOSによって違う
CR、LF、CR+LF、LF+CR、すべてのパターンが実在する
フィールドに改行やコンマを含めたい場合、レコードの区切りと違うコードを割り当てる場合もあれば、クォートなどの記号でフィールドの範囲を明示する場合もある
Windows版Excelはダブルクォートでフィールドの範囲を指定するのが基本
CR、LF、CR+LF、LF+CR、すべてのパターンが実在する
フィールドに改行やコンマを含めたい場合、レコードの区切りと違うコードを割り当てる場合もあれば、クォートなどの記号でフィールドの範囲を明示する場合もある
Windows版Excelはダブルクォートでフィールドの範囲を指定するのが基本
917デフォルトの名無しさん
2025/06/04(水) 16:30:20.58ID:3c6clsCg >>915
それは固定長かセパレータ(コンマ)の数をカウントしてるかどっちかかな
それは固定長かセパレータ(コンマ)の数をカウントしてるかどっちかかな
918デフォルトの名無しさん
2025/06/04(水) 18:23:31.04ID:RQn0r/Lq919デフォルトの名無しさん
2025/06/04(水) 18:39:20.47ID:f2CAL3f8920デフォルトの名無しさん
2025/06/04(水) 19:22:49.50ID:7S8kDVf/921デフォルトの名無しさん
2025/06/04(水) 19:55:51.24ID:frrYvMiA 頑張ってVBA勉強したところでプログラミングスキルとしては流石に時代遅れ&最底辺だし、
事務員としてスキルアップしたいならツールに入れ込むより業務知識を強化した方がいいし、
組織の中で出世したいなら自分でVBA書くより他人に書かせて継続的にスケールする仕組みを作るべき
そして、めでたく業務効率化できたとして、いず」行き着く先は「脱Excelで属人化解消&業務効率化」でVBA職人は悪者扱いだ
本当にVBAを広めたいのなら、個人の意欲に頼るのではなく、組織として適切なインセンティブを設けることだな
事務員としてスキルアップしたいならツールに入れ込むより業務知識を強化した方がいいし、
組織の中で出世したいなら自分でVBA書くより他人に書かせて継続的にスケールする仕組みを作るべき
そして、めでたく業務効率化できたとして、いず」行き着く先は「脱Excelで属人化解消&業務効率化」でVBA職人は悪者扱いだ
本当にVBAを広めたいのなら、個人の意欲に頼るのではなく、組織として適切なインセンティブを設けることだな
922デフォルトの名無しさん
2025/06/04(水) 20:02:53.71ID:f2CAL3f8923デフォルトの名無しさん
2025/06/05(木) 00:29:50.41ID:Nu77Yg2O924デフォルトの名無しさん
2025/06/05(木) 08:17:29.72ID:FSpPjL7A 四行目までは自虐だろ? 言いたいのは五行目だけって意味と捉えたが、どうなんだ
まあ、ちょっと過剰に反応し過ぎなきらいは否めないが
まあ、ちょっと過剰に反応し過ぎなきらいは否めないが
925デフォルトの名無しさん
2025/06/05(木) 08:45:28.01ID:Lp1WVm/I >>921
組織の中で継続してスケールする仕組み作ったなら属人化してないんだから悪者になる理由なくない?
組織の中で継続してスケールする仕組み作ったなら属人化してないんだから悪者になる理由なくない?
926デフォルトの名無しさん
2025/06/05(木) 09:07:39.20ID:FSpPjL7A お利口さんに成ろうとしてアタマでっかちに成り過ぎ
大工だっていろんなレベルもあるし色んな層が大工してる
その場しのぎのやっつけ大工も居れば、客の要望を叶えるために青写真から描ける熟練大工もいる
新人大工なら木の特性とか部材同士の相性とかもよく理解しないまま最新部材使って威張ってみたり
ガルバリウムには使ってはいけない釘平気で使って1〜2年後にはその部分からサビを拡げる原因作って顰蹙買うし
それでも世の中は回ってる
改善なんか数年で変化してくものだ、という前提を踏まえてれば、それに見合うコストで運用出来てれば御の字
大工だっていろんなレベルもあるし色んな層が大工してる
その場しのぎのやっつけ大工も居れば、客の要望を叶えるために青写真から描ける熟練大工もいる
新人大工なら木の特性とか部材同士の相性とかもよく理解しないまま最新部材使って威張ってみたり
ガルバリウムには使ってはいけない釘平気で使って1〜2年後にはその部分からサビを拡げる原因作って顰蹙買うし
それでも世の中は回ってる
改善なんか数年で変化してくものだ、という前提を踏まえてれば、それに見合うコストで運用出来てれば御の字
927デフォルトの名無しさん
2025/06/05(木) 10:31:37.20ID:1teg7ITB >>925
コンサルはいわゆるExcelバケツリレーの非効率さを指摘してくるのが常道
VBAで個々人の作業が省力化されてようとフローは変わらないので、実際非合理だから仕方ない
その上で現行業務の調査として関係者全員にヒアリングして介在するワークシートやマクロをつぶさに調査するのにかかる莫大な費用の見積りを提示されると、
もう経営層からはVBA職人なんて非効率な業務を助長するだけの排除すべき敵としか見えなくなるわけよ
コンサルはいわゆるExcelバケツリレーの非効率さを指摘してくるのが常道
VBAで個々人の作業が省力化されてようとフローは変わらないので、実際非合理だから仕方ない
その上で現行業務の調査として関係者全員にヒアリングして介在するワークシートやマクロをつぶさに調査するのにかかる莫大な費用の見積りを提示されると、
もう経営層からはVBA職人なんて非効率な業務を助長するだけの排除すべき敵としか見えなくなるわけよ
928デフォルトの名無しさん
2025/06/05(木) 10:49:41.34ID:1teg7ITB あと、業務を見直してシステム化しようとした際にVBAが悪者になる大きな原因として、
一見簡単な処理に見えて蓋を開けたらたまに複雑怪奇な難攻不落の化け物が出てくる、ってのがある
これ、Excel中心のワークフローをシステム化する際にはよくある話で、スケジュール遅延や予算超過を引き起こすことが多い
そうなるとシステム部門や現場が経営層に頭下げるのは当然として、上場企業だと株主に経営層が謝罪なんてケースもある
ここまでくるともうVBAなんて悪者もいいとこよ
一見簡単な処理に見えて蓋を開けたらたまに複雑怪奇な難攻不落の化け物が出てくる、ってのがある
これ、Excel中心のワークフローをシステム化する際にはよくある話で、スケジュール遅延や予算超過を引き起こすことが多い
そうなるとシステム部門や現場が経営層に頭下げるのは当然として、上場企業だと株主に経営層が謝罪なんてケースもある
ここまでくるともうVBAなんて悪者もいいとこよ
929デフォルトの名無しさん
2025/06/05(木) 10:55:09.32ID:Lp1WVm/I それらは継続してスケールする仕組みを作れていない場合の話じゃないの?
複雑怪奇な難攻不落の化け物って、それスケールできる仕組み作れてなくない?
そもそもの話が噛み合ってないよ
複雑怪奇な難攻不落の化け物って、それスケールできる仕組み作れてなくない?
そもそもの話が噛み合ってないよ
930デフォルトの名無しさん
2025/06/05(木) 11:09:55.37ID:1teg7ITB >>929
隅々まで適切にガバナンスを効かせながら使うならいいんじゃない?
それができるほどの優秀なリーダーがVBAを選ぶかは疑問だけどな
どんな組織でも、人が増えれば馬鹿も増えるし目も行き届かなくなるものだ
隅々まで適切にガバナンスを効かせながら使うならいいんじゃない?
それができるほどの優秀なリーダーがVBAを選ぶかは疑問だけどな
どんな組織でも、人が増えれば馬鹿も増えるし目も行き届かなくなるものだ
レス数が900を超えています。1000を超えると表示できなくなるよ。
ニュース
- 【芸能】『バンダイナムコフェス』上海公演 日本人歌手・大槻マキが歌唱中に強制退場… 急に音を止められスタッフらしき人達に [冬月記者★]
- 今後50年間、毎年100万人ずつ人口が減る…「少子化対策」の失敗で日本が迎える「死ぬまで搾取」というヤバい未来 ★6 [ぐれ★]
- 橋下徹氏 高市首相“台湾有事”発言に「政治家の失言で一部の人でも仕事がキャンセルに…我々は認めていいのかな」疑問呈す [muffin★]
- 「怒りに震えて涙が出た」 同性婚認めず「合憲」判断に原告が反発 「差別的な判決だ」 [ぐれ★]
- 「インバウンド政策上、中国は重要」、訪日自粛で金子国交相「早く通常の状況に戻っていただきたい」★2 [ぐれ★]
- 中国外務省「正式な発言撤回なければ受け入れず」 高市首相は台湾有事「存立危機事態」言及せずも「言及しないことと撤回は別問題」★5 [ぐれ★]
- 美少女になりたい
- お前らに小田急足柄からJR足柄まで歩いて乗り換える罰をあたえる
- ブラックフライデーセールで色々見て回って冷静に考えて「まあ、いらないよな・・」ってなる奴〜〜〜www
- 書ける時に書いとく
- 無能僕、わからない仕事を先輩に聞くのがめんどくさすぎて期限が過ぎそう
- モーニングかめはめ波をかます(成功率100%)
