From 13cad20ead175bc6041c4f6cdad1ad8de442e47b Mon Sep 17 00:00:00 2001 From: Kenichiro NOGI Date: Mon, 14 Sep 2026 10:02:27 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20exportCSVDataToExistingTable=E3=82=92?= =?UTF-8?q?=E3=82=B7=E3=83=BC=E3=83=88=E5=90=8D=E6=8C=87=E5=AE=9A=E3=81=8B?= =?UTF-8?q?=E3=82=89=E3=83=86=E3=83=BC=E3=83=96=E3=83=AB=E5=90=8D=E6=A4=9C?= =?UTF-8?q?=E7=B4=A2(FindListObjectByName)=E3=81=AB=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 「営業所」テーブルがどのシートにあってもブック全体から見つけられるよう、既存のFindListObjectByNameを再利用する方式に統一。 Co-Authored-By: Claude Sonnet 5 --- .../vba-files/Module/Module1.bas | 35 +++++++------------ 1 file changed, 12 insertions(+), 23 deletions(-) diff --git a/XVBA/新版着工要因閲覧シート/vba-files/Module/Module1.bas b/XVBA/新版着工要因閲覧シート/vba-files/Module/Module1.bas index 3a528182..829849ee 100644 --- a/XVBA/新版着工要因閲覧シート/vba-files/Module/Module1.bas +++ b/XVBA/新版着工要因閲覧シート/vba-files/Module/Module1.bas @@ -599,29 +599,18 @@ Sub SetupFilterSorterTables() End Sub '****************************************************************************** -'ɑ݂V[gEe[uɂ̂CSVf[^iwb_sj㏑B -'e[u͖킸V[g̍ŏ̃e[uΏۂɂBV[ge[u݂Ȃꍇ -'VK쐬bZ[WoďI -Function exportCSVDataToExistingTable(csvData As Variant, targetSheet As String) - Debug.Print "CSVf[^e[uɏo͊Jn: " & targetSheet - - Dim ws As Worksheet - On Error Resume Next - Set ws = ThisWorkbook.Sheets(targetSheet) - On Error GoTo 0 - - If ws Is Nothing Then - MsgBox "V[g݂܂: " & targetSheet, vbExclamation - Exit Function - End If - - If ws.ListObjects.count = 0 Then - MsgBox "e[u݂܂: " & targetSheet, vbExclamation - Exit Function - End If +'ubN̑SV[ge[uŃe[uiListObjectjTACSVf[^iwb_sj㏑B +'V[g͖ȂBe[u‚Ȃꍇ͐VK쐬bZ[WoďI +Function exportCSVDataToExistingTable(csvData As Variant, tableName As String) + Debug.Print "CSVf[^e[uɏo͊Jn: " & tableName Dim tbl As ListObject - Set tbl = ws.ListObjects(1) + Set tbl = FindListObjectByName(tableName) + + If tbl Is Nothing Then + MsgBox "e[u݂܂: " & tableName, vbExclamation + Exit Function + End If Dim i As Long, j As Long Dim arr() As Variant @@ -631,7 +620,7 @@ Function exportCSVDataToExistingTable(csvData As Variant, targetSheet As String) Set rows = ParseCsv(csvData) If rows.count <= 1 Then - MsgBox "f[^݂܂iwb_̂݁j: " & targetSheet, vbExclamation + MsgBox "f[^݂܂iwb_̂݁j: " & tableName, vbExclamation Exit Function End If @@ -668,7 +657,7 @@ Function exportCSVDataToExistingTable(csvData As Variant, targetSheet As String) Next i tbl.DataBodyRange.Value = dataArr - Debug.Print "CSVf[^e[uɏo͊: " & targetSheet + Debug.Print "CSVf[^e[uɏo͊: " & tableName End Function 'e[uID 96243icƏ}X^jExportőS擾AucƏvV[g̊e[uXV