From 318314958efc8a5ca2493caa7375db7dfec8c6f5 Mon Sep 17 00:00:00 2001 From: simple321vip <635344988@qq.com> Date: Mon, 13 Apr 2026 03:19:17 +0000 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20vba=5Fcode=5Fkukan=5Fdetai?= =?UTF-8?q?l=5Fmaster.txt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vba_code_kukan_detail_master.txt | 80 ++++++++++++++++---------------- 1 file changed, 39 insertions(+), 41 deletions(-) diff --git a/vba_code_kukan_detail_master.txt b/vba_code_kukan_detail_master.txt index d3c59df..a4e4982 100644 --- a/vba_code_kukan_detail_master.txt +++ b/vba_code_kukan_detail_master.txt @@ -31,8 +31,47 @@ Private Sub Worksheet_Change(ByVal Target As Range) End If End Sub +Sub FillFromKukanMaster(ByVal ws As Worksheet, ByVal rowNum As Long, Optional ByVal setG As Boolean = True) + Dim wsKukan As Worksheet + Dim lastRow As Long + Dim i As Long + Dim code As String + + On Error Resume Next + Set wsKukan = ThisWorkbook.Worksheets("区間メンテナンス") + MsgBox "1." + On Error GoTo 0 + + If wsKukan Is Nothing Then Exit Sub + + code = Trim(ws.Cells(rowNum, 3).Value) + If code = "" Then Exit Sub + MsgBox "2." + lastRow = wsKukan.Cells(wsKukan.Rows.Count, 3).End(xlUp).Row + + For i = 7 To lastRow + If Trim(wsKukan.Cells(i, 3).Value) = code Then + ws.Cells(rowNum, 4).Value = Trim(wsKukan.Cells(i, 4).Value) & ": " & Trim(wsKukan.Cells(i, 5).Value) + ws.Cells(rowNum, 5).Value = Trim(wsKukan.Cells(i, 6).Value) & "~" & Trim(wsKukan.Cells(i, 7).Value) + If setG Then + ws.Cells(rowNum, 7).Value = "1" + Call MakeFDropdownByG(ws, rowNum) + End If + Exit Sub + End If + Next + + Call ClearRowData(ws, rowNum) +End Sub +Sub ClearRowData(ByVal ws As Worksheet, ByVal rowNum As Long) + ' Clear from D column onwards + ws.Range(ws.Cells(rowNum, 4), ws.Cells(rowNum, 15)).ClearContents + ws.Cells(rowNum, 6).Validation.Delete + ws.Cells(rowNum, 17).ClearContents ' Q column error info +End Sub + Sub MakeFDropdownByG(ByVal ws As Worksheet, ByVal rowNum As Long) Dim wsKotsu As Worksheet Dim lastRowKotsu As Long @@ -224,47 +263,6 @@ Function CleanCSVField(ByVal field As Variant) As String CleanCSVField = result End Function -Sub FillFromKukanMaster(ByVal ws As Worksheet, ByVal rowNum As Long, Optional ByVal setG As Boolean = True) - Dim wsKukan As Worksheet - Dim lastRow As Long - Dim i As Long - Dim code As String - - On Error Resume Next - Set wsKukan = ThisWorkbook.Worksheets("区間メンテナンス") - MsgBox "1." - On Error GoTo 0 - - If wsKukan Is Nothing Then Exit Sub - - code = Trim(ws.Cells(rowNum, 3).Value) - If code = "" Then Exit Sub - MsgBox "2." - lastRow = wsKukan.Cells(wsKukan.Rows.Count, 3).End(xlUp).Row - - For i = 7 To lastRow - If Trim(wsKukan.Cells(i, 3).Value) = code Then - ws.Cells(rowNum, 4).Value = Trim(wsKukan.Cells(i, 4).Value) & ": " & Trim(wsKukan.Cells(i, 5).Value) - ws.Cells(rowNum, 5).Value = Trim(wsKukan.Cells(i, 6).Value) & "~" & Trim(wsKukan.Cells(i, 7).Value) - If setG Then - ws.Cells(rowNum, 7).Value = "1" - Call MakeFDropdownByG(ws, rowNum) - End If - Exit Sub - End If - Next - - Call ClearRowData(ws, rowNum) -End Sub - - -Sub ClearRowData(ByVal ws As Worksheet, ByVal rowNum As Long) - ' Clear from D column onwards - ws.Range(ws.Cells(rowNum, 4), ws.Cells(rowNum, 15)).ClearContents - ws.Cells(rowNum, 6).Validation.Delete - ws.Cells(rowNum, 17).ClearContents ' Q column error info -End Sub - Sub validateDetailData(ByVal ws As Worksheet, ByVal rowNum As Long) ' Check C column not empty If Trim(ws.Cells(rowNum, 3).Value) = "" Then