diff --git a/XVBA/新版着工要因閲覧シート/vba-files/Module/Module1.bas b/XVBA/新版着工要因閲覧シート/vba-files/Module/Module1.bas index 4f0f3331..a4a0de5d 100644 --- a/XVBA/新版着工要因閲覧シート/vba-files/Module/Module1.bas +++ b/XVBA/新版着工要因閲覧シート/vba-files/Module/Module1.bas @@ -235,6 +235,9 @@ Function exportCSVDataToSheet(csvData As Variant, targetSheet As String) End If ' e[uɃf[^ljiwb_s(arr(0,*))f[^݂̂DataBodyRangeɏށj + 'OƓTCYւResizeExcelDataBodyRange̓ԂXVȂƂ邽߁A + 'Uwb_ŝ݂ɃTCYĂړĨTCYɃTCY + tbl.Resize tbl.Range.Resize(1, maxCols) tbl.Resize tbl.Range.Resize(rows.count, maxCols) Dim dataArr() As Variant @@ -479,12 +482,16 @@ Function getRecordsDataToSheet(records As Collection, targetSheet As String) Exit Function End If + Debug.Print " [DEBUG] records.count = " & records.count + Dim flatRecords As New Collection Dim rec As Dictionary For Each rec In records flatRecords.Add FlattenRecord(rec) Next rec + Debug.Print " [DEBUG] flatRecords.count = " & flatRecords.count + Dim headerDict As Dictionary Set headerDict = flatRecords(1) Dim headerKeys As Variant @@ -492,6 +499,8 @@ Function getRecordsDataToSheet(records As Collection, targetSheet As String) Dim maxCols As Long maxCols = headerDict.count + Debug.Print " [DEBUG] maxCols = " & maxCols + Dim i As Long, j As Long Dim dataArr() As Variant ReDim dataArr(1 To flatRecords.count, 1 To maxCols) @@ -503,11 +512,16 @@ Function getRecordsDataToSheet(records As Collection, targetSheet As String) Next j Next i + Debug.Print " [DEBUG] dataArr dims = " & UBound(dataArr, 1) & " x " & UBound(dataArr, 2) + Debug.Print " [DEBUG] dataArr(1,1) = " & CStr(dataArr(1, 1)) & " / dataArr(1,2) = " & CStr(dataArr(1, 2)) + Dim tbl As ListObject On Error Resume Next Set tbl = ws.ListObjects(targetSheet) On Error GoTo 0 + Debug.Print " [DEBUG] tbl Is Nothing (before) = " & (tbl Is Nothing) + Dim headerRange As Range Set headerRange = ws.Range("A1").Resize(1, maxCols) For j = 0 To maxCols - 1 @@ -520,12 +534,23 @@ Function getRecordsDataToSheet(records As Collection, targetSheet As String) tbl.Name = targetSheet End If + Debug.Print " [DEBUG] tbl.Range.Address (before resize) = " & tbl.Range.Address + If Not tbl.DataBodyRange Is Nothing Then tbl.DataBodyRange.ClearContents End If + 'e[u͈͂OƓTCYExcelDataBodyRange̓ԂXVȂƂ邽߁A + 'Uwb_ŝ݂ɃTCYĂړĨTCYɃTCY + tbl.Resize tbl.Range.Resize(1, maxCols) tbl.Resize tbl.Range.Resize(flatRecords.count + 1, maxCols) + Debug.Print " [DEBUG] tbl.Range.Address (after resize) = " & tbl.Range.Address + Debug.Print " [DEBUG] tbl.DataBodyRange Is Nothing (after resize) = " & (tbl.DataBodyRange Is Nothing) + If Not tbl.DataBodyRange Is Nothing Then + Debug.Print " [DEBUG] tbl.DataBodyRange.Address = " & tbl.DataBodyRange.Address & " / Rows.count=" & tbl.DataBodyRange.Rows.count & " / Columns.count=" & tbl.DataBodyRange.Columns.count + End If tbl.DataBodyRange.Value = dataArr + Debug.Print " [DEBUG] after assign, A2 cell value = [" & ws.Range("A2").Value & "]" Debug.Print "R[h̃V[go͊: " & targetSheet End Function @@ -680,6 +705,9 @@ Function exportCSVDataToExistingTable(csvData As Variant, tableName As String) tbl.DataBodyRange.ClearContents End If + 'OƓTCYւResizeExcelDataBodyRange̓ԂXVȂƂ邽߁A + 'Uwb_ŝ݂ɃTCYĂړĨTCYɃTCY + tbl.Resize tbl.Range.Resize(1, maxCols) tbl.Resize tbl.Range.Resize(rows.count, maxCols) Dim dataArr() As Variant