Excel VBA 質問スレ Part83 (624レス)
前次1-
抽出解除 レス栞

150
(3): デフォルトの名無しさん [sage] 2025/06/19(木) 18:34:14.95 ID:ROoqywLw(3/3) AAS
FSOをグローバルにしたくなる衝動が抑えられない
357
(4): デフォルトの名無しさん [sage] 2025/07/05(土) 06:16:26.93 ID:+cv+JpUz(1/3) AAS
>>356
例えばCSVファイルを開くときのテストケースを教えてってAI聞いてみたけど答えてくれたよ。

VBAでCSVファイルを開く処理に対して、以下のようなテストケースを行うと、動作の信頼性やエラー対策が強化できます。

主なテストケース一覧
・CSVファイルが存在し開ける 正常にファイルを開けることを確認
・ファイルが存在しない場合 指定されたCSVが見つからない場合の対処
・既に開かれているブックかどうかを確認
・読み取り専用のCSVを開けるかどうか のテスト
・空のCSVファイル 内容が空でもエラーにならないか確認
・文字コードに関わるデータが正しく読めるかのテスト
・CSVの列数・行数が極端に多い たくさんのデータがあるときの パフォーマンスの確認
・ダブルクォートやカンマを含むセル "東京,品川"のようなセルが正しく扱われるか セル確認
・ファイルロックされている場合のエラー回避の確認
372
(3): デフォルトの名無しさん [sage] 2025/07/05(土) 22:49:12.14 ID:+cv+JpUz(3/3) AAS
>>368
指摘ありがとうございます。

もう回答を全部出してみたよ。
これ以外でテストケースがあるなら負けです。。。

VBAでCSVファイルを開いて読み込む際には、さまざまなケースに対応する必要があります。考えうるテストケースをカテゴリ別に網羅的に洗い出します。

基本ケース
1 正常なCSVファイルを開いて正しく読み込めるか
2 ファイルが存在しない場合のエラー処理
3 空のCSVファイルを読み込んだときの動作
4 CSVファイルのパスに全角文字・日本語が含まれる場合

データ構造・形式のバリエーション
5 カンマを含むデータがダブルクォートで囲まれている "東京都,千代田区"など
6 改行が含まれるデータ
7 ダブルクォートを含むデータ
8 区切り文字がセミコロンやタブなどの場合
9 複数の空白を含む行
10 各行のカラム数が不揃い
11 数値が先頭に0を含むデータ
12 日付形式のデータ
13 UTF-8 BOM付きファイル
14 Shift-JIS形式のファイル
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
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は明示的でないので避けたいです
520
(4): デフォルトの名無しさん [] 2025/08/01(金) 10:40:10.51 ID:R6RHAbIb(1/4) AAS
昨日まで使ってたのが急にエラー出るようになったけど何が原因か分からなかったのでアドバイス下さい
使用マクロ
Sub 表作成()
Dim ws1 As Worksheet
Set ws1 = ThisWorkbook.Worksheets("記")
Dim cmax1 As Long
cmax1=ws1.Range("A1048576").End(xlUp).Row
With ws1.Sort
.SortFields.Clear
.SortFields.Add Key:=ws1.Range("A2"), SortOn:=xlSortOnValues,
Order:=xlAscending, DataOption:=xlSortNormal
.SetRange ws1.Range("A3:L" & cmax1)
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Columns("E:E").ColumnWidth = 0
Columns("I:I").ColumnWidth = 0
Columns("K:K").ColumnWidth = 0
ActiveWorkbook.SaveAs
Filename:="C:\Users\User\Documents\ファイルパス\請求書" & " " & Format(Date,
"yyyymmdd") & ".xlsx", FileFormat:=xlOpenXMLWorkbook
End Sub

エラー内容
ファイル'C:\Users\User\Documents\ファイルパス\請求書\7E1A4F10'にアクセスできません
552
(4): デフォルトの名無しさん [sage] 2025/08/02(土) 15:33:56.33 ID:XyRtrdUE(1/7) AAS
質問だが、
Excelでウェブページの表のデータ(テキスト)を取得したいが、
どうすればええの?
574
(3): デフォルトの名無しさん [sage] 2025/08/02(土) 23:03:47.38 ID:TpfKdlSr(1) AAS
VBA関係ないんだけど便乗質問
テキストじゃなくて画像になってる表を取り込む方法ない?
フリーのOCRサービスをいくつか試してみたけど、認識率が低すぎてまったく使い物にならなかった

たとえば、こんなやつ
https://i.imgur.com/6Y1wHtu.png

579
(3): デフォルトの名無しさん [] 2025/08/03(日) 07:22:39.43 ID:u21A2qJf(1) AAS
将棋の9x9の盤面を
Excelの9x9のセルに取り込む方法はありませんか?
4-5年前の段階ではそういうフリーのOCRアプリを試してみたけど、認識率が低すぎてまったく使い物にならなかった。

たとえば、こんなやつ
https://kifulog.shogi.or.jp/.service/smartphone/thumb/photos/uncategorized/2025/07/30/250730_082.gif

598
(3): デフォルトの名無しさん [sage] 2025/08/03(日) 20:05:09.92 ID:uky3ZHQc(1) AAS
やっと会社のOfficeが365版になったけどすごいね、追加された関数
配列系の関数がかなり強化されたから普通にワークシート関数でpandasっぽい操作が色々できて快適
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 1.021s*