wItem(i) = FoundCell.Offset(i + 1, 0).Valueの部分で機能プログラム名の値は、取得されて表示されたのですが、
この、値を取得する処理をもう3件追加したいです。参照するエクセルは同じなのですが、取得したいセルの位置
はそれぞれ異なります。どのようにしたらうまくいくでしょうか。
よろしくお願いします。
Sub 単体テスト仕様書マクロ() Dim wFile As String Dim wFilePath As String Dim i As Long 'Excelファイルが存在していたらファイル名を返す wFile = Dir(ActiveWorkbook.Path & "*.xlsx") '先頭行を指定 i = 2 'カレントディレクトリに存在するExcelファイルを全て読み込む Do While wFile <> "" '開くExcelファイルのフルパスを取得 wFilePath = ActiveWorkbook.Path & "\" & wFile '機能(プログラム)名・テスト件数・完了数・不具合件数を取得し配列に格納する(区切り文字:|) strData = Split(File_Load(wFilePath), "|") '機能(プログラム)名 Cells(i, 1) = strData(0) 'テスト件数 Cells(i, 3) = strData(1) '完了数 Cells(i, 5) = strData(2) '不具合件数 Cells(i, 7) = strData(3) '次のExcelファイルを取得 wFile = Dir() '行数をカウント i = i + 1 Loop MsgBox "完了" End Sub Function File_Load(ByVal wFilePath As String) As String Dim wb As Workbook Dim wItem As Variant Dim i As Long Dim FoundCell As Object Set wb = Workbooks.Open(wFilePath) wItem = Array("機能(プログラム)名", "テスト件数", "完了数", "不具合件数") For i = LBound(wItem) To UBound(wItem) Set FoundCell = wb.Worksheets(1).Cells.Find(What:=wItem(i)) If FoundCell Is Nothing Then wItem(i) = "" Else wItem(i) = FoundCell.Offset(i + 1, 0).Value End If Next i wb.Close SaveChanges:=False File_Load = Join(wItem, "|") End Function ![機能プログラム名だけは取得できたのですが、ほかの3つも同様の処理で取得したいです。](d62c1b7a86801995dcc8d287ed3ea232.png)
回答1件
あなたの回答
tips
プレビュー