Excel VBA 質問スレ Part83 (501レス)
上下前次1-新
1: デフォルトの名無しさん [sage] 2025/06/08(日) 11:06:42.20 ID:j4jIPbHU(1) AAS
ExcelのVBAに関する質問スレ
コード書き込みや作成依頼もOK
次スレは>>980が立てること
無理なら細かく安価指定
※前スレ
Excel VBA 質問スレ Part82
2chスレ:tech
402: デフォルトの名無しさん [sage] 2025/07/15(火) 11:33:01.33 ID:l/eryieH(1) AAS
vbsに近いならjsだろう
403(1): デフォルトの名無しさん [sage] 2025/07/15(火) 11:52:00.35 ID:1v3q9PKm(2/2) AAS
PowerShellは遅くてびっくりするのと
COM(IDispatch)経由の操作なので基本的に書き方はvba/vbsを踏襲する
普通に使うと割とつまらない
404: デフォルトの名無しさん [sage] 2025/07/15(火) 11:53:44.70 ID:SjeLYLBh(1) AAS
>>400
スレ違い
405(1): デフォルトの名無しさん [sage] 2025/07/15(火) 13:45:04.50 ID:IENqpxZQ(2/2) AAS
>>401,403
ありがとう。やってみる。
406: デフォルトの名無しさん [] 2025/07/15(火) 18:57:22.18 ID:F7nJfSiA(1) AAS
やっぱり馬鹿かよ
407(2): デフォルトの名無しさん [] 2025/07/16(水) 22:35:52.90 ID:6RqIkTEU(1) AAS
目的のフォルダを取得する効率的なコードを教えてください
1番効率的なのはフォルダのフルパスそのものを取得する事ですが、それも難しいので各階層の部分一致でお願い致します
408: デフォルトの名無しさん [] 2025/07/16(水) 22:45:55.20 ID:NiCGeJue(1) AAS
パスが流動的ってこと?
指定する以外にやったことないわ
409: デフォルトの名無しさん [sage] 2025/07/16(水) 23:01:32.70 ID:IRXrFh0B(1) AAS
部分一致が複数あるとして、その順番が入れ替わる可能性があるかどうかでコードが変わるね
410(1): デフォルトの名無しさん [] 2025/07/17(木) 00:19:01.17 ID:zBpNwhAR(1/4) AAS
コード\分類\フォルダ\期間別フォルダ\探したいファイル
みたいな感じですね
411: デフォルトの名無しさん [sage] 2025/07/17(木) 00:24:00.03 ID:Nf2HlQRn(1) AAS
>>405
Powershellからcom呼ぶときはしっかりお片付けしてね
適当にやるとC#と一緒でゴミが残る(かも)だから
412: デフォルトの名無しさん [] 2025/07/17(木) 01:52:47.41 ID:gLLqR9ZX(1) AAS
>>407
馬鹿は「効率的」は何が効率的なのかとかすら説明できない
413: デフォルトの名無しさん [] 2025/07/17(木) 05:21:40.06 ID:tC2PFukj(1) AAS
馬鹿じゃなきゃこんなところで聞かない
414: デフォルトの名無しさん [sage] 2025/07/17(木) 07:17:52.06 ID:wYenyBlK(1) AAS
こう言うことなんじゃないの? ディレクトリ(フォルダ)名が曖昧な記憶だから
漠然とした検索してファイル見付けたい とかなんじゃ
https://www.limecode.jp/entry/utility/partialmatch-filesearch
3パターン提示してくれてるから、どれでもお好きなもので・若しくは全部使ってもいいし
一年365日ばかしか書けない誰かさんは無視しとけばいいよ
彼は馬鹿と書き込むのがじぶんのDutyだと思い込んでる節があるし 認知の病なんだろうきっと
415: デフォルトの名無しさん [sage] 2025/07/17(木) 07:36:40.82 ID:rYvcj5zc(1) AAS
彼はこんなとこでしかマウントとれないかわいそうなやつなんだ
そっとしといてあげよう
416(1): デフォルトの名無しさん [sage] 2025/07/17(木) 07:41:07.22 ID:aYpECmLq(1) AAS
>>407
目的のフォルダはどうやって示されてるの?
効率的っていうのは、何に対するパフォーマンスを指してる?
417(3): デフォルトの名無しさん [sage] 2025/07/17(木) 08:47:01.58 ID:sGHKyXGW(1) AAS
>>410
Dirでワイルドカードが使えるので、こんな感じに仕上げてみた
※ヒットするパスの例 → C:\Documents\A001\B000X1\Excel\20250717\FileABC001.xlsx
HomePath = "C:\Documents"
SearchPath = "A???\B*\Excel\2025????\File*.xlsx"
ResultPath = HomePath
SearchPathList = Split(SearchPath, "\")
For I = 0 To UBound(SearchPathList)
If Dir(ResultPath) <> "" Then
ResultPath = "ファイルの下は何もないよ!"
Exit For
End If
FolderName = Dir(ResultPath & "\" & SearchPathList(I), vbDirectory)
If FolderName = "" Then
ResultPath = "そんなパスはないよ!"
Exit For
End If
ResultPath = ResultPath & "\" & FolderName
Next
MsgBox "これかな?" & vbCrLf & ResultPath
418: デフォルトの名無しさん [sage] 2025/07/17(木) 09:28:10.58 ID:TqONBLPd(1) AAS
あたしゃ、ディレクトリ関係は「見える」の重視で、このあたり参考にしてワークシート関数でやっちゃうけど
https://qwerty.work/blog/2021/01/excel-function-path.php
419: デフォルトの名無しさん [] 2025/07/17(木) 20:37:37.93 ID:zBpNwhAR(2/4) AAS
>>417
正規表現の様な事ができたのでしょうか?
420: デフォルトの名無しさん [] 2025/07/17(木) 20:38:38.98 ID:zBpNwhAR(3/4) AAS
>>416
例えばファイルシステムオブジェクトの再帰処理で全フォルダをループしてしまうのは非効率だなぁという事です
421: デフォルトの名無しさん [] 2025/07/17(木) 21:05:30.67 ID:zBpNwhAR(4/4) AAS
>>417
本当に複数の階層で部分一致できますでしょうか?
422: デフォルトの名無しさん [] 2025/07/17(木) 23:17:21.95 ID:mypLb9KX(1) AAS
釣りでなければ真正馬鹿で確定
423: デフォルトの名無しさん [sage] 2025/07/17(木) 23:26:46.72 ID:DMF1qliv(1) AAS
Chatさん。未検証
再帰使わずキュー処理
Sub FastSearchMinimal()
Dim fso As Object, q As Collection, f As Object, i As Object
Dim r As Long: r = 2
Dim k As String: k = "sample"
Set fso = CreateObject("Scripting.FileSystemObject")
Set q = New Collection: q.Add fso.GetFolder("C:\TestFolder")
With Sheets(1): .Cells.Clear: .Range("A1:C1").Value = Array("種類", "名前", "パス"): End With
Do While q.Count > 0
Set f = q(1): q.Remove 1
For Each i In f.SubFolders: q.Add i: If InStr(1, i.Name, k, vbTextCompare) > 0 Then WriteRow r, "フォルダ", i.Name, i.Path
Next
For Each i In f.Files: If InStr(1, i.Name, k, vbTextCompare) > 0 Then WriteRow r, "ファイル", i.Name, i.Path
Next
Loop
MsgBox "完了"
End Sub
Sub WriteRow(ByRef r As Long, t As String, n As String, p As String)
With Sheets(1): .Cells(r, 1).Resize(1, 3).Value = Array(t, n, p): End With: r = r + 1
End Sub
424: デフォルトの名無しさん [sage] 2025/07/18(金) 03:56:36.13 ID:kCxulfmG(1) AAS
若い子はChatGPTのことチャッピーと呼んでる
425: デフォルトの名無しさん [] 2025/07/18(金) 08:09:47.41 ID:JhLn+KYd(1) AAS
Sub 探す()
Dim fso As Object,root As Object
Set fso = CreateObject("Scripting.FileSystemObject")
' ルートフォルダを取得して再帰処理スタート
Set root = fso.GetFolder("パス")
再帰処理 root
End Sub
'―――――――――――――――――――――――――――――――
Private Sub 再帰処理( ByVal f As Object)
Dim file as Object,fpath as string
If Instr(f.name,"目的") > 0 Then
' ファイルをチェック
For Each file In f.Fileso
If InStr(file.Name,"検索値") > 0 Then fpath = file.path
Next
End if
Dim sf as Object
' サブフォルダを再帰処理
For Each sf In f.SubFolders
If Instr(sf.name,"コード") > 0 or Instr(sf.name,"書類") > 0 or Instr(sf.name,"分類") > 0 or Instr(sf.name,"yyyymmdd") > 0 Then 再帰処理 sf
Next
End Sub
426: デフォルトの名無しさん [sage] 2025/07/18(金) 08:22:30.72 ID:avd6O0J8(1) AAS
>>417 はちょっと手抜きしてたので、ちゃんと作り直した。
Sub 使い方()
Set Result = New Collection
DirMulti "C:\Documents", "A???\B*\Excel\2025????\File*.xlsx", Result, vbNormal
(以下略)
End Sub
Sub DirMulti(HomePath, SearchPath, ResultCollection, Optional Attributes As VbFileAttribute = vbNormal)
Pos = InStr(SearchPath & "\", "\")
Search = Left(SearchPath, Pos - 1)
NextSearch = Mid(SearchPath, Pos + 1)
Set SearchResult = New Collection
Res = Dir(HomePath & "\" & Search, vbDirectory Or Attributes)
Do While Res <> ""
If Res <> "." And Res <> ".." Then SearchResult.Add Res
Res = Dir()
Loop
If NextSearch = "" Then
For Each Res In SearchResult
ResultCollection.Add HomePath & "\" & Res
Next
Else
For Each Res In SearchResult
If (GetAttr(HomePath & "\" & Res) And vbDirectory) <> 0 Then
DirMulti HomePath & "\" & Res, NextSearch, ResultCollection, Attributes
End If
Next
End If
End Sub
427(1): デフォルトの名無しさん [sage] 2025/07/18(金) 09:23:27.37 ID:J+L+9run(1) AAS
要件定義せず走り出すとこうなるという見本
428: デフォルトの名無しさん [sage] 2025/07/18(金) 10:47:27.74 ID:kfpMJi4P(1/3) AAS
ま、それぞれがこれに取り組むことで、それなり成長する(こともある)んだから、いいじゃん
外野から思索も模索もせずにつべこべ小言書くことしかできないご老体には言わせときゃいいだけ
相談者、夜中にしか出張って来ないから、日中に迷走するのはやむを得ない
やりたいことは何となく見えてきたけど、それをどう実装したいのか?誰に使わせたいのか?何のために作るのか?
とかがイマイチ漠然としてて、方向ぐらいは提示して欲しいのはある
エクスプローラー開いて検索じゃあダメな理由とか、ファイルじゃ無くてフォルダ(名)に拘ってるように読めて
例えば、各々が勝手にフォルダ作ってファイル放り込んでるのを是正したいんだ、とかなのか
もう一歩踏み込んだ相談が出て来るまで待機、も有り得る
429(1): デフォルトの名無しさん [] 2025/07/18(金) 16:30:22.97 ID:aPZeO8n7(1) AAS
VBAの作り方が上手すぎて情シスに異動させられそうになったセンスの塊こと俺だけどよく構文を知ってるとかテキスト通りにとか気にしてる奴は3流よ
使用者の使いやすさにまず全振り
次に拡張性を気にすりゃメンテナンスもしやすくなる
エラー回避しない奴は論外
でも結局はどう動かすかなんよ
430: デフォルトの名無しさん [] 2025/07/18(金) 16:43:02.04 ID:AbgnUBWx(1) AAS
Aという処理をVBAでさせようってお手本みたいなコードを書いてもそのA自体にセンスが無い奴が多いんだよな
それが役職も評価も年収も上がらないVBAを勉強しただけのおぢさん
431(2): デフォルトの名無しさん [sage] 2025/07/18(金) 17:25:18.33 ID:kfpMJi4P(2/3) AAS
>>427 読み直したら、ID末尾runだけに?
432: デフォルトの名無しさん [sage] 2025/07/18(金) 18:03:06.70 ID:tx5irUc8(1) AAS
>>431
みんながみんなエスパーしながら好きに書いてる何を読み直すの?
433(2): デフォルトの名無しさん [sage] 2025/07/18(金) 20:55:57.57 ID:kfpMJi4P(3/3) AAS
わかんなきゃいいよw カリカリすんなよ
フォルダ名を取得する記事見付けた 検索文字で絞る事もできる *とか?とかも要らん
https://tmkr7788.livedoor.blog/archives/26830287.html
で、一番上のフォルダ指定するのが手入力っぽいから、それも自動取得するなら
Sub Sample()
Dim FPath As String
With Application.FileDialog(msoFileDialogFolderPicker)
.InitialFileName = "C:\ほにゃらら"
.Title = "フォルダを選択してください"
If .Show = -1 Then
FPath = .SelectedItems(1)
End If
End With
Cells(3,3) = FPath
End Sub
これを別ボタンに貼り付ければ、ディレクトリ探すのもマウスオペだけで済む お好みだけど
※ ほにゃらら部分は、デフォルトで指定しときたいフォルダ名に
434: デフォルトの名無しさん [sage] 2025/07/18(金) 21:22:07.30 ID:VbDqcBb9(1) AAS
>>431
これ何言ってるのか理解できない
なにがrunだけに、なのか
435(1): デフォルトの名無しさん [] 2025/07/19(土) 04:46:02.20 ID:s8PmOx3D(1) AAS
>>45
え、Accessは2027年で使えなくなるの!?
436: デフォルトの名無しさん [] 2025/07/19(土) 06:29:44.25 ID:QjhfSjEw(1) AAS
>>433
馬鹿
437(1): デフォルトの名無しさん [sage] 2025/07/19(土) 07:33:32.95 ID:xtuIEHIA(1) AAS
>>435
Access2027が最後のAccessになるって、
Windows10が最後のWindowsになるって言ったMicrosoftが言ってた
438: デフォルトの名無しさん [] 2025/07/19(土) 08:03:25.99 ID:hkkuRgMQ(1) AAS
昨日初めてwin12て使ってる記事見たわ
439(1): デフォルトの名無しさん [sage] 2025/07/19(土) 09:32:36.51 ID:S5W6kZB3(1/2) AAS
指定したフォルダ以下の、サブフォルダとファイルを取得する記事も見付けた
>>433 のは、フォルダのみだけど、その中身もそのファイル情報も見れるのはいい
何よりシンプル 開きたい場合は上のを参考にすればいいと思う
https://akira55.com/showfoldertree/
ExcelにTreeViewって無かったっけ?とか思い直してググってて辿り着いた
TreeViewを実装しようと試みて、みんな大好きTANAKAさんのサイト参考にしようとしたら
Form上に配置するのに、その他のコントロールから選ばなきゃならなく成ってて
ImageListに至っては追加はできてもプロパティ変更しようとするとエラー 64bitのせい?
TANAKAの例はExcel2003で説明してるからなのか もはやオワコンなのか なぞ
まぁ、後日のメンテとかも面倒そうだから、Sheet上に書き出すのがいちばん楽なんだろうな
440: デフォルトの名無しさん [] 2025/07/19(土) 10:05:18.56 ID:TEpbrrsS(1) AAS
>>437
きっとwin11はwindowsではない新種のOSなんだろう
441(1): デフォルトの名無しさん [sage] 2025/07/19(土) 15:57:41.07 ID:ZTd2BQVd(1) AAS
>>439
実行結果のファイルうpしてみて
442: デフォルトの名無しさん [sage] 2025/07/19(土) 16:20:49.62 ID:A8cbKdEJ(1) AAS
パス長いとかいい加減にしろとな
443: デフォルトの名無しさん [sage] 2025/07/19(土) 16:52:52.55 ID:S5W6kZB3(2/2) AAS
>>441 ? リンク先に実行結果の画像出てるけど?
他に何を出せと? おれが実行した後のファイルなんて
中身まるごと見られたら困るものだらけだから、嫌なんだけど?
444(1): デフォルトの名無しさん [sage] 2025/07/20(日) 12:26:16.14 ID:UYPMBFMH(1) AAS
見られて困るものだらけのPCって犯罪的な?
445(1): デフォルトの名無しさん [] 2025/07/23(水) 07:42:55.14 ID:jnXMDL+k(1/2) AAS
>>429
その様にコードを書いてマクロを作成するのに何日くらいかかりますか?
446(1): デフォルトの名無しさん [sage] 2025/07/23(水) 08:46:08.98 ID:Rz/tc4F0(1) AAS
回避ルートが無い場合はエラーで止まる分は放置だな
下手なメッセージ出して止まるより分かりやすい
447(1): デフォルトの名無しさん [sage] 2025/07/23(水) 10:53:39.46 ID:S2JD2z+w(1) AAS
>>444
C:\ドキュメント\重要機密\A~E(1)\新しいフォルダ\巨乳物
>>445
俺はこの道30年、最近やっとコメントをしっかり書く習慣が身についてきた感じがしてる
昔も一応は書いてたけど、今見ると言葉が足りてなさすぎて解読に苦労する
>>446
自分だけが使うんならいいけど、他人はエラーメッセージとかさっさと消しちゃったり自力で解決しようとして何が起きたかわからなくされちゃうからなあ
448: デフォルトの名無しさん [] 2025/07/23(水) 19:11:51.35 ID:jnXMDL+k(2/2) AAS
>>447
コメントですか
AIに書かせると楽かもしれませんね
449: デフォルトの名無しさん [sage] 2025/07/23(水) 20:20:01.08 ID:jSDoEOvR(1/2) AAS
コメントは最低限しか書かないなあ
リファクタリングしまくって、コメント書かなくてもわかるコードにする方がいいと思う
1〜2日で作成したら、最低1週間はリファクタリング期間
450: デフォルトの名無しさん [sage] 2025/07/23(水) 21:02:26.59 ID:3kQj9G/6(1) AAS
規模感がちょっとわからないけどテスト込みで手直し1週間?
451: デフォルトの名無しさん [sage] 2025/07/23(水) 21:55:41.80 ID:jSDoEOvR(2/2) AAS
規模はまちまちだけど、この例ではテスト込みで作成1〜2日
完成後1週間は毎日コードを読み直す時間をとる
すると何かしら改善点が見つかる
毎日読んでも何にも改善点なく1週間過ぎたらステーブル
452(3): デフォルトの名無しさん [] 2025/07/24(木) 21:58:34.96 ID:GZnFTazm(1/5) AAS
複数のシートをpdf出力したいのです。
wb.Sheets(arr).Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=pdfPath
の様に、ActiveSheetで指定するしか方法はないのでしょうか?
ActiveSheetは明示的でないので避けたいです
453(1): デフォルトの名無しさん [sage] 2025/07/24(木) 22:07:09.88 ID:CXis1mnI(1) AAS
>>452
wb.Sheets(arr).ExportAsFixedFormat Type:=xlTypePDF, Filename:=pdfPath
454(1): デフォルトの名無しさん [sage] 2025/07/24(木) 22:09:24.06 ID:GZcfs+u1(1) AAS
>>452
まずはAIに聞く癖を付けろ
以下の方法でActiveSheetを使わずに複数シートをPDF出力できます:
```vb
wb.Worksheets(arr).ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=pdfPath
```
`wb.Worksheets(arr)`で直接シートコレクションを指定すれば、ActiveSheetに依存せずに済みます。
455(1): デフォルトの名無しさん [sage] 2025/07/24(木) 22:21:03.69 ID:3SMUfFNx(1) AAS
↓は実行できるけど、
ThisWorkbook.Sheets(Array("Sheet1", "Sheet2")).Select
↓はエラーにならね?
ThisWorkbook.Sheets(Array("Sheet1", "Sheet2")).ExportAsFixedFormat Type:=xlTypePDF, Filename:=pdfPath
456: デフォルトの名無しさん [] 2025/07/24(木) 22:52:04.71 ID:GZnFTazm(2/5) AAS
>>454
はい、AIは大嘘つき
457: デフォルトの名無しさん [] 2025/07/24(木) 22:52:55.23 ID:GZnFTazm(3/5) AAS
>>453
無理でーす
458: デフォルトの名無しさん [] 2025/07/24(木) 22:53:12.34 ID:GZnFTazm(4/5) AAS
>>455
正解!
459: デフォルトの名無しさん [] 2025/07/24(木) 22:57:55.91 ID:GZnFTazm(5/5) AAS
wb.Sheets(配列).Select
ActiceSheet..ExportAsFixedFormat Type:=xlTypePDF, Filename:=Path
でしかエラーになります
460(1): デフォルトの名無しさん [sage] 2025/07/25(金) 01:14:02.16 ID:f/mD0P8I(1/2) AAS
>>452
Selectが必要なことに変わりはないがActiveSheetを排除したいのならこう書ける
wb.Sheets(arr).Select
wb.Sheets(arr(0)).ExportAsFixedFormat Type:=xlTypePDF, Filename:=pdfPath
461(1): デフォルトの名無しさん [] 2025/07/25(金) 01:45:35.35 ID:YmqTu82J(1/3) AAS
>>460
それは複数シートではなく、単一のシートですよな
462(1): デフォルトの名無しさん [sage] 2025/07/25(金) 07:52:00.89 ID:UfHu+jPG(1) AAS
変数使ってループさせるくらいの頭働かせられないくらい頭沸いちゃったのかな
暑いからね
463: デフォルトの名無しさん [] 2025/07/25(金) 08:02:36.99 ID:YmqTu82J(2/3) AAS
>>462
複数のシートを個別のpdfファイルにエクスポート、ではないです
複数のシートを1つのpdfファイルに、です
これの方法がActiceSheet.ExportAsFixedFormatしか見つからなくて、ActiceSheetの様な曖昧な指定は嫌だなぁと思うのです
464: デフォルトの名無しさん [sage] 2025/07/25(金) 08:22:07.09 ID:JviM2itp(1) AAS
ActiveSheetを明示するだけでしょ
今のActiveSheetをテンポラリに持っておいて、
特定のシートをActivate
それを書き出した後テンポラリをActivate
465: デフォルトの名無しさん [sage] 2025/07/25(金) 08:40:06.97 ID:f/mD0P8I(2/2) AAS
>>461
選択中のどれかのシートをエクスポートすれば選択シートすべてが出力される不思議仕様
466(1): デフォルトの名無しさん [sage] 2025/07/25(金) 09:10:21.07 ID:6JkrjnZc(1/2) AAS
ActiveSheetはワークシート(単・複数)へのポインタみたいなものだよ
シートを省略して書かれたメソッドは常にActiveSheetを対象操作にする
467: デフォルトの名無しさん [] 2025/07/25(金) 12:31:12.82 ID:YmqTu82J(3/3) AAS
そうだったんですか
wb.Sheets(arr).Select
〜中略〜
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=pdfPath
と書いたにも関わらず、何故か出力されたpdfが1シートのみ
という事があって、もしかしてcopy modeの様に、ちょっとした操作でシートのグループ化が解除されるのかなと思いました。
468: デフォルトの名無しさん [sage] 2025/07/25(金) 12:41:13.91 ID:7k67EuH4(1) AAS
そりゃ解除されるよ
選択していないシートをアクティベートしたりね
ユーザー操作で違和感なく動作するのが大前提だから
469: デフォルトの名無しさん [sage] 2025/07/25(金) 18:16:56.05 ID:O3RmL+0a(1) AAS
>>466
>常にActiveSheetを対象操作にする
シートモジュールでシート指定しないやつは、ActiveSheetじゃなくてそのシートだったと思ったが
470: デフォルトの名無しさん [sage] 2025/07/25(金) 20:45:59.47 ID:6JkrjnZc(2/2) AAS
VBの内部コード(Pコード)は解析されてるのかな
AIに全部ぶち込んでしまえば、どういう理屈でという疑問は解消しそうだけど
471: デフォルトの名無しさん [] 2025/07/26(土) 08:11:28.23 ID:ZNo9mvnh(1) AAS
wb.Sheets(arr).Select
wb.Sheets(2).ExportAsFixedFormat Type:=xlTypePDF, Filename:=pdfPath
でもグループ化したシートが出力できるのですね
今知りました
でも怖いですね
wb.Sheets(2).Selectはグループ化解除だから
472: デフォルトの名無しさん [sage] 2025/07/26(土) 13:26:56.16 ID:8rv+r4rK(1) AAS
名前付き引数書く派なんだなおまいらも
473: デフォルトの名無しさん [sage] 2025/07/26(土) 14:28:31.18 ID:F1jFmomB(1) AAS
ExportAsFixedFormat xlTypePDF, pdfPath,,,,,,
名前を覚えるか糞長引数の位置を覚えるかのトレードオフ
474: デフォルトの名無しさん [] 2025/07/26(土) 15:15:43.28 ID://AUV0sR(1) AAS
別にどちらでもいい
475: デフォルトの名無しさん [sage] 2025/07/26(土) 17:35:17.71 ID:UKLeI2W+(1) AAS
どっちの書式も覚えてない
検索で上位に出てきたコードをコピペするだけ
476: デフォルトの名無しさん [] 2025/07/28(月) 17:59:42.76 ID:vQ0dL+ep(1) AAS
一次配列しか対応していないからFilter関数を避けてきましたが、worksheet関数で一次配列に簡単に直せるのと、Filter関数は部分一致なので、ループで重ねがけをするととても便利ですね。
477: デフォルトの名無しさん [sage] 2025/07/28(月) 18:28:01.59 ID:23Svm7lo(1) AAS
ネット検索でコピペ
実際はこんなのが大半なんだよな
478: デフォルトの名無しさん [] 2025/07/28(月) 23:33:08.81 ID:/EYYRyt0(1) AAS
部署内と提携仕入先でVBAで金かけずに簡易システムの共同開発ってことで
メール本文にプロシージャ貼って相手に送ってる
相手からうまく動きました、こっちもこうしてほしいですと回答がくる また直したのをメールに貼って送る
なんという原始的な外資企業だよ
479: デフォルトの名無しさん [] 2025/07/28(月) 23:37:37.11 ID:ofRNtrsX(1) AAS
草
480: デフォルトの名無しさん [] 2025/07/29(火) 12:30:27.63 ID:cpAOUjwH(1/2) AAS
できることからコツコツと
ですよ
マニアでもいないと飛躍しない
責任取らされるかもと思えば何もしない
481: デフォルトの名無しさん [] 2025/07/29(火) 19:57:27.87 ID:G836h0I1(1/5) AAS
vbaではfor のループ処理で条件に一致しないときはループをスキップ(次へ)が出来ないと聞きます
なんとかif文のnot then の時はスキップみたいなコードを書いていますがなかなか難しいです
AIはGo To文を書いているので私も書いていいでしょうか?
482(1): デフォルトの名無しさん [sage] 2025/07/29(火) 19:59:00.98 ID:wqm1/dtV(1) AAS
whileとか使えば?
483(1): デフォルトの名無しさん [] 2025/07/29(火) 20:10:20.21 ID:G836h0I1(2/5) AAS
>>482
whileもDoもしっかりと理解しておかないと無限列車編になりそうで怖いです
仮にもしIf not 〜 Then Next
と言う様なコードがあったとしてもそれが事実上のGo To文だと言われたらそうなのかもしれません
484: デフォルトの名無しさん [] 2025/07/29(火) 20:24:56.02 ID:cpAOUjwH(2/2) AAS
continueが無いと言うことなら
goto continue
はわかりやすく代替になる
ネストあるしでオレの場合は
LBL_CONTINUE_10:
とかにしてるけど
485(1): デフォルトの名無しさん [] 2025/07/29(火) 20:27:33.99 ID:J9oCD99i(1) AAS
>>483
馬鹿には難しいのか?
486(1): デフォルトの名無しさん [] 2025/07/29(火) 21:03:16.99 ID:G836h0I1(3/5) AAS
>>485
Doとwhileはよく理解して使わないと無限ループになると聞いているので避けてきただけです
Go To もスパゲッティコードになると聞いているので避けいるだけです
If not 〜 Then 次
次 : にすればいいですね
487: デフォルトの名無しさん [] 2025/07/29(火) 21:10:27.10 ID:vWW6c4Rp(1) AAS
i=i+1をセットに考えとけば無限ループなんて起こすことそんなにないっしょ
488: デフォルトの名無しさん [] 2025/07/29(火) 21:41:08.56 ID:ii3Lf2qi(1) AAS
>>486
こんな簡単なことも瞬時に理解できないとかやっぱり馬鹿だろうが
Go Toと書いてるだけで馬鹿とわかるんだよ
それとも境界知能か?
489: デフォルトの名無しさん [] 2025/07/29(火) 21:54:22.96 ID:G836h0I1(4/5) AAS
Power Queryでフィルターしたり、データベースの真似事をするのは大好きだけど、
vbaのauto filterをするのは苦手意識が強い
この気持ちわかってくれますか?
490: デフォルトの名無しさん [sage] 2025/07/29(火) 22:09:39.89 ID:hgNMIII1(1) AAS
夏休みのせいか?それとも暑さで頭がやられているのが出てきてるのか?
491: デフォルトの名無しさん [sage] 2025/07/29(火) 22:28:38.75 ID:eRHOoyzY(1) AAS
こだわりがあるようだから温かく見守ってあげて
492(1): デフォルトの名無しさん [] 2025/07/29(火) 22:29:41.49 ID:49whZmZ7(1) AAS
いつもの人か
誰が付き合ってあげて
493(1): デフォルトの名無しさん [] 2025/07/29(火) 22:40:34.46 ID:G836h0I1(5/5) AAS
>>492
いつもの人ってなんですか?
494: デフォルトの名無しさん [sage] 2025/07/30(水) 00:33:34.98 ID:JW2l3Q+S(1) AAS
しらんけど煽りしかしてないやつはなんなんだ?
495: デフォルトの名無しさん [] 2025/07/30(水) 00:42:25.90 ID:wwipb9hb(1) AAS
白痴が書き込むようになると一気にレベルが下がるからな
悪貨は良貨を駆逐する
496(1): デフォルトの名無しさん [] 2025/07/30(水) 02:51:59.94 ID:UyfVNIk6(1) AAS
>>493
どうしようもなく頭が悪くて理解力が足りないだけなのにネチネチと質問を繰り返す人のこと
497: デフォルトの名無しさん [] 2025/07/30(水) 06:00:40.49 ID:0FpGkecW(1) AAS
>>496
一体どこが理解力がないのでしょうか?
498: デフォルトの名無しさん [] 2025/07/30(水) 06:21:59.30 ID:hYsgvs3H(1) AAS
ダメだこりゃ
499: デフォルトの名無しさん [sage] 2025/07/30(水) 08:09:34.32 ID:tLf0EMwW(1/2) AAS
質問する側ならともかく、真夜中ひとが寝静まってる頃合いに、回答するでもなく
煽りや虚仮にするだけのカキコする人に関わってはいけない ダークサイドに取り込まれる
じゃあ、そういう人等が得意な分野の質問をすれば回答が付くのか?というと、そんなことも無い
得意なのは他人を罵ることだけなんだから
500: デフォルトの名無しさん [sage] 2025/07/30(水) 08:21:21.59 ID:tLf0EMwW(2/2) AAS
そもそも、優秀な人材は真夜中はきちんと睡眠をとっている
夜中に寝付けずにあまつさえ掲示板にわざわざ出向いて
あろうことか罵詈雑言書き込んで己の不甲斐無さの不満の吐け口にしてる時点でお察し
501: デフォルトの名無しさん [] 2025/07/30(水) 08:32:17.89 ID:ZrfB2rqA(1) AAS
ID:tLf0EMwW
頭悪そう
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.922s*