Моя программа VBA очень длинная, я не могу запустить программу. Существует только ошибка записи «Ошибка компиляции: слишком большая процедура». Я попытался изменить это на две процедуры, но я не понимаю, как применить это к моей системе. Может ли кто-нибудь помочь мне сделать это в две процедуры? или эту программу можно сократить? Спасибо, я очень ценю, если вы хотите мне помочь. Вот какой-то кусок
Private Sub Worksheet_Change(ByVal Target As Range)
Dim varF1 As Variant
Dim i, cel, num As Integer
Dim rtn, myFile, str As String
On Error GoTo Err_cmm1_Click
Select Case Target.Address(False, False)
Case "B3"
Range("B5").Select
Case "B5"
str = Range("B5")
Range("B7") = Trim(Mid(str, Range("I3"), Range("J3") - Range("i3") + 1))
Range("E7") = Mid(str, Range("I5"), Range("J5") - Range("I5") + 1)
myFile = ThisWorkbook.Path & "\Part\" & Range("B7") & ".jpg"
If Dir(myFile) = "" Then
Else
Image1.Picture = LoadPicture(myFile)
End If
myFile = ThisWorkbook.Path & "\Part\" & Range("B7") & "-1.jpg"
If Dir(myFile) = "" Then
Else
Image2.Picture = LoadPicture(myFile)
End If
myFile = ThisWorkbook.Path & "\PIS\" & Range("B7") & ".jpg"
If Dir(myFile) = "" Then
Else
Image3.Picture = LoadPicture(myFile)
End If
Range("B13").Select
Case "B7"
myFile = ThisWorkbook.Path & "\Part\" & Range("B7") & ".jpg"
If Dir(myFile) = "" Then
Else
Image1.Picture = LoadPicture(myFile)
End If
myFile = ThisWorkbook.Path & "\Part\" & Range("B7") & "-1.jpg"
If Dir(myFile) = "" Then
Else
Image2.Picture = LoadPicture(myFile)
End If
myFile = ThisWorkbook.Path & "\PIS\" & Range("B7") & ".jpg"
If Dir(myFile) = "" Then
Else
Image3.Picture = LoadPicture(myFile)
End If
Range("E7").Select
Case "E7"
Range("B13").Select
Case "B17"
Range("C13").Select
Case "C17"
Range("D13").Select
Case "B13"
If Range("B63") ""
i = i + 1
Loop
If rtn = vbYes Then
Range("G1") = "OK"
GoTo step1
Else
Range("G1") = "NG"
GoTo step1
End If
End If
Else
Range("B14").Select
End If
Case "B14"
If Range("B63") ""
i = i + 1
Loop
If rtn = vbYes Then
Range("G1") = "OK"
GoTo step1
Else
Range("G1") = "NG"
GoTo step1
End If
End If
Else
Range("B15").Select
End If
Case "B15"
If Range("B63") ""
i = i + 1
Loop
If rtn = vbYes Then
Range("G1") = "OK"
GoTo step1
Else
Range("G1") = "NG"
GoTo step1
End If
End If
Else
Range("B16").Select
End If
Case "B16"
If Range("B63") ""
i = i + 1
Loop
If rtn = vbYes Then
Range("G1") = "OK"
GoTo step1
Else
Range("G1") = "NG"
GoTo step1
End If
End If
Else
Range("B17").Select
End If
Case "B17"
Range("C13").Select
If Range("C10") = "" Then
rtn = MsgBox("‘‡”»’è‚Æ‚µ‚ćŠi‚Å‚·‚©?‡Ši‚Ìê‡Au‚Í‚¢vA•s‡Ši‚Ìê‡Au‚¢‚¢‚¦v‚ð‘I‘ð‚µ‚Ä‰º‚³‚¢B", vbYesNo)
i = 1
Do While (Worksheets("Record").Cells(i, 1)) ""
i = i + 1
Loop
If rtn = vbYes Then
Range("G1") = "OK"
GoTo step1
Else
Range("G1") = "NG"
GoTo step1
End If
End If
Case "C13"
If Range("C63") ""
i = i + 1
Loop
If rtn = vbYes Then
Range("G1") = "OK"
GoTo step1
Else
Range("G1") = "NG"
GoTo step1
End If
End If
Else
Range("C14").Select
End If
Case "C14"
If Range("C63") ""
i = i + 1
Loop
If rtn = vbYes Then
Range("G1") = "OK"
GoTo step1
Else
Range("G1") = "NG"
GoTo step1
End If
End If
Else
Range("C15").Select
End If
Case "C15"
If Range("C63") ""
i = i + 1
Loop
If rtn = vbYes Then
Range("G1") = "OK"
GoTo step1
Else
Range("G1") = "NG"
GoTo step1
End If
End If
Else
Range("C16").Select
End If
Case "C16"
If Range("C63") ""
i = i + 1
Loop
If rtn = vbYes Then
Range("G1") = "OK"
GoTo step1
Else
Range("G1") = "NG"
GoTo step1
End If
End If
Else
Range("C17").Select
End If
Case "C17"
Range("D13").Select
If Range("D10") = "" Then
rtn = MsgBox("‘‡”»’è‚Æ‚µ‚ćŠi‚Å‚·‚©?‡Ši‚Ìê‡Au‚Í‚¢vA•s‡Ši‚Ìê‡Au‚¢‚¢‚¦v‚ð‘I‘ð‚µ‚Ä‰º‚³‚¢B", vbYesNo)
i = 1
Do While (Worksheets("Record").Cells(i, 1)) ""
i = i + 1
Loop
If rtn = vbYes Then
Range("G1") = "OK"
GoTo step1
Else
Range("G1") = "NG"
GoTo step1
End If
End If
Case "D13"
If Range("D63") ""
i = i + 1
Loop
If rtn = vbYes Then
Range("G1") = "OK"
GoTo step1
Else
Range("G1") = "NG"
GoTo step1
End If
End If
Else
Range("D14").Select
End If
Case "D14"
If Range("D63") ""
i = i + 1
Loop
If rtn = vbYes Then
Range("G1") = "OK"
GoTo step1
Else
Range("G1") = "NG"
GoTo step1
End If
End If
Else
Range("D15").Select
End If
Case "D15"
If Range("D63") ""
i = i + 1
Loop
If rtn = vbYes Then
Range("G1") = "OK"
GoTo step1
Else
Range("G1") = "NG"
GoTo step1
End If
End If
Else
Range("D16").Select
End If
Case "D16"
If Range("D63") ""
i = i + 1
Loop
If rtn = vbYes Then
Range("G1") = "OK"
GoTo step1
Else
Range("G1") = "NG"
GoTo step1
End If
End If
Else
Range("D17").Select
End If
Case "D17"
Range("E13").Select
If Range("E10") = "" Then
rtn = MsgBox("‘‡”»’è‚Æ‚µ‚ćŠi‚Å‚·‚©?‡Ši‚Ìê‡Au‚Í‚¢vA•s‡Ši‚Ìê‡Au‚¢‚¢‚¦v‚ð‘I‘ð‚µ‚Ä‰º‚³‚¢B", vbYesNo)
i = 1
Do While (Worksheets("Record").Cells(i, 1)) ""
i = i + 1
Loop
If rtn = vbYes Then
Range("G1") = "OK"
GoTo step1
Else
Range("G1") = "NG"
GoTo step1
End If
End If
Case "E13"
If Range("E63") ""
i = i + 1
Loop
If rtn = vbYes Then
Range("G1") = "OK"
GoTo step1
Else
Range("G1") = "NG"
GoTo step1
End If
End If
Else
Range("E14").Select
End If
Case "E14"
If Range("E63") ""
i = i + 1
Loop
If rtn = vbYes Then
Range("G1") = "OK"
GoTo step1
Else
Range("G1") = "NG"
GoTo step1
End If
End If
Else
Range("E15").Select
End If
Case "E15"
If Range("E63") ""
i = i + 1
Loop
If rtn = vbYes Then
Range("G1") = "OK"
GoTo step1
Else
Range("G1") = "NG"
GoTo step1
End If
End If
Else
Range("E16").Select
End If
Case "E16"
If Range("E63") ""
i = i + 1
Loop
If rtn = vbYes Then
Range("G1") = "OK"
GoTo step1
Else
Range("G1") = "NG"
GoTo step1
End If
End If
Else
Range("E17").Select
End If
Case "E17"
Range("F13").Select
If Range("F10") = "" Then
rtn = MsgBox("‘‡”»’è‚Æ‚µ‚ćŠi‚Å‚·‚©?‡Ši‚Ìê‡Au‚Í‚¢vA•s‡Ši‚Ìê‡Au‚¢‚¢‚¦v‚ð‘I‘ð‚µ‚Ä‰º‚³‚¢B", vbYesNo)
i = 1
Do While (Worksheets("Record").Cells(i, 1)) ""
i = i + 1
Loop
If rtn = vbYes Then
Range("G1") = "OK"
GoTo step1
Else
Range("G1") = "NG"
GoTo step1
End If
End If
Case "F13"
If Range("F63") ""
i = i + 1
Loop
If rtn = vbYes Then
Range("G1") = "OK"
GoTo step1
Else
Range("G1") = "NG"
GoTo step1
End If
End If
Else
Range("F14").Select
End If
Case "F14"
If Range("F63") ""
i = i + 1
Loop
If rtn = vbYes Then
Range("G1") = "OK"
GoTo step1
Else
Range("G1") = "NG"
GoTo step1
End If
End If
Else
Range("F15").Select
End If
Case "F15"
If Range("F63") ""
i = i + 1
Loop
If rtn = vbYes Then
Range("G1") = "OK"
GoTo step1
Else
Range("G1") = "NG"
GoTo step1
End If
End If
Else
Range("F16").Select
End If
Case "F16"
If Range("F63") ""
i = i + 1
Loop
If rtn = vbYes Then
Range("G1") = "OK"
GoTo step1
Else
Range("G1") = "NG"
GoTo step1
End If
End If
Else
Range("F17").Select
End If
Case "F17"
Range("G13").Select
If Range("G10") = "" Then
rtn = MsgBox("‘‡”»’è‚Æ‚µ‚ćŠi‚Å‚·‚©?‡Ši‚Ìê‡Au‚Í‚¢vA•s‡Ši‚Ìê‡Au‚¢‚¢‚¦v‚ð‘I‘ð‚µ‚Ä‰º‚³‚¢B", vbYesNo)
i = 1
Do While (Worksheets("Record").Cells(i, 1)) ""
i = i + 1
Loop
If rtn = vbYes Then
Range("G1") = "OK"
GoTo step1
Else
Range("G1") = "NG"
GoTo step1
End If
End If
Case "G13"
If Range("G63") ""
i = i + 1
Loop
If rtn = vbYes Then
Range("G1") = "OK"
GoTo step1
Else
Range("G1") = "NG"
GoTo step1
End If
End If
Else
Range("G14").Select
End If
Case "G14"
If Range("G63") ""
i = i + 1
Loop
If rtn = vbYes Then
Range("G1") = "OK"
GoTo step1
Else
Range("G1") = "NG"
GoTo step1
End If
End If
Else
Range("G15").Select
End If
Case "G15"
If Range("G63") ""
i = i + 1
Loop
If rtn = vbYes Then
Range("G1") = "OK"
GoTo step1
Else
Range("G1") = "NG"
GoTo step1
End If
End If
Else
Range("G16").Select
End If
Case "G16"
If Range("G63") ""
i = i + 1
Loop
If rtn = vbYes Then
Range("G1") = "OK"
GoTo step1
Else
Range("G1") = "NG"
GoTo step1
End If
End If
Else
Range("G17").Select
End If
Case "G17"
Range("H13").Select
If Range("H10") = "" Then
rtn = MsgBox("‘‡”»’è‚Æ‚µ‚ćŠi‚Å‚·‚©?‡Ši‚Ìê‡Au‚Í‚¢vA•s‡Ši‚Ìê‡Au‚¢‚¢‚¦v‚ð‘I‘ð‚µ‚Ä‰º‚³‚¢B", vbYesNo)
i = 1
Do While (Worksheets("Record").Cells(i, 1)) ""
i = i + 1
Loop
If rtn = vbYes Then
Range("G1") = "OK"
GoTo step1
Else
Range("G1") = "NG"
GoTo step1
End If
End If
Case "H13"
If Range("H63") ""
i = i + 1
Loop
If rtn = vbYes Then
Range("G1") = "OK"
GoTo step1
Else
Range("G1") = "NG"
GoTo step1
End If
End If
Else
Range("H14").Select
End If
Case "H14"
If Range("H63") ""
i = i + 1
Loop
If rtn = vbYes Then
Range("G1") = "OK"
GoTo step1
Else
Range("G1") = "NG"
GoTo step1
End If
End If
Else
Range("H15").Select
End If
Case "H15"
If Range("H63") ""
i = i + 1
Loop
If rtn = vbYes Then
Range("G1") = "OK"
GoTo step1
Else
Range("G1") = "NG"
GoTo step1
End If
End If
Else
Range("H16").Select
End If
Case "H16"
If Range("H63") ""
i = i + 1
Loop
If rtn = vbYes Then
Range("G1") = "OK"
GoTo step1
Else
Range("G1") = "NG"
GoTo step1
End If
End If
Else
Range("H17").Select
End If
Case "H17"
Range("I13").Select
If Range("I10") = "" Then
rtn = MsgBox("‘‡”»’è‚Æ‚µ‚ćŠi‚Å‚·‚©?‡Ši‚Ìê‡Au‚Í‚¢vA•s‡Ši‚Ìê‡Au‚¢‚¢‚¦v‚ð‘I‘ð‚µ‚Ä‰º‚³‚¢B", vbYesNo)
i = 1
Do While (Worksheets("Record").Cells(i, 1)) ""
i = i + 1
Loop
If rtn = vbYes Then
Range("G1") = "OK"
GoTo step1
Else
Range("G1") = "NG"
GoTo step1
End If
End If
Case "I13"
If Range("I63") ""
i = i + 1
Loop
If rtn = vbYes Then
Range("G1") = "OK"
GoTo step1
Else
Range("G1") = "NG"
GoTo step1
End If
End If
Else
Range("I14").Select
End If
Case "I14"
If Range("I63") ""
i = i + 1
Loop
If rtn = vbYes Then
Range("G1") = "OK"
GoTo step1
Else
Range("G1") = "NG"
GoTo step1
End If
End If
Else
Range("I15").Select
End If
Case "I15"
If Range("I63") ""
i = i + 1
Loop
If rtn = vbYes Then
Range("G1") = "OK"
GoTo step1
Else
Range("G1") = "NG"
GoTo step1
End If
End If
Else
Range("I16").Select
End If
Case "I16"
If Range("I63") ""
i = i + 1
Loop
If rtn = vbYes Then
Range("G1") = "OK"
GoTo step1
Else
Range("G1") = "NG"
GoTo step1
End If
End If
Else
Range("I17").Select
End If
Case "I17"
Range("J13").Select
If Range("J10") = "" Then
rtn = MsgBox("‘‡”»’è‚Æ‚µ‚ćŠi‚Å‚·‚©?‡Ši‚Ìê‡Au‚Í‚¢vA•s‡Ši‚Ìê‡Au‚¢‚¢‚¦v‚ð‘I‘ð‚µ‚Ä‰º‚³‚¢B", vbYesNo)
i = 1
Do While (Worksheets("Record").Cells(i, 1)) ""
i = i + 1
Loop
If rtn = vbYes Then
Range("G1") = "OK"
GoTo step1
Else
Range("G1") = "NG"
GoTo step1
End If
End If
Case "J13"
If Range("J63") ""
i = i + 1
Loop
If rtn = vbYes Then
Range("G1") = "OK"
GoTo step1
Else
Range("G1") = "NG"
GoTo step1
End If
End If
Else
Range("J14").Select
End If
Case "J14"
If Range("J63") ""
i = i + 1
Loop
If rtn = vbYes Then
Range("G1") = "OK"
GoTo step1
Else
Range("G1") = "NG"
GoTo step1
End If
End If
Else
Range("J15").Select
End If
Case "J15"
If Range("J63") ""
i = i + 1
Loop
If rtn = vbYes Then
Range("G1") = "OK"
GoTo step1
Else
Range("G1") = "NG"
GoTo step1
End If
End If
Else
Range("J16").Select
End If
Case "J16"
If Range("J63") ""
i = i + 1
Loop
If rtn = vbYes Then
Range("G1") = "OK"
GoTo step1
Else
Range("G1") = "NG"
GoTo step1
End If
End If
Else
Range("J17").Select
End If
Case "J17"
Range("K13").Select
If Range("K10") = "" Then
rtn = MsgBox("‘‡”»’è‚Æ‚µ‚ćŠi‚Å‚·‚©?‡Ši‚Ìê‡Au‚Í‚¢vA•s‡Ši‚Ìê‡Au‚¢‚¢‚¦v‚ð‘I‘ð‚µ‚Ä‰º‚³‚¢B", vbYesNo)
i = 1
Do While (Worksheets("Record").Cells(i, 1)) ""
i = i + 1
Loop
If rtn = vbYes Then
Range("G1") = "OK"
GoTo step1
Else
Range("G1") = "NG"
GoTo step1
End If
End If
Case "K13"
If Range("K63") ""
i = i + 1
Loop
If rtn = vbYes Then
Range("G1") = "OK"
GoTo step1
Else
Range("G1") = "NG"
GoTo step1
End If
End If
Else
Range("K14").Select
End If
Case "K14"
If Range("K63") ""
i = i + 1
Loop
If rtn = vbYes Then
Range("G1") = "OK"
GoTo step1
Else
Range("G1") = "NG"
GoTo step1
End If
End If
Else
Range("K15").Select
End If
Case "K15"
If Range("K63") ""
i = i + 1
Loop
If rtn = vbYes Then
Range("G1") = "OK"
GoTo step1
Else
Range("G1") = "NG"
GoTo step1
End If
End If
Else
Range("K16").Select
End If
Case "K16"
If Range("K63") ""
i = i + 1
Loop
If rtn = vbYes Then
Range("G1") = "OK"
GoTo step1
Else
Range("G1") = "NG"
GoTo step1
End If
End If
Else
Range("K17").Select
End If
Case "K17"
Range("L13").Select
If Range("L10") = "" Then
rtn = MsgBox("‘‡”»’è‚Æ‚µ‚ćŠi‚Å‚·‚©?‡Ši‚Ìê‡Au‚Í‚¢vA•s‡Ši‚Ìê‡Au‚¢‚¢‚¦v‚ð‘I‘ð‚µ‚Ä‰º‚³‚¢B", vbYesNo)
i = 1
Do While (Worksheets("Record").Cells(i, 1)) ""
i = i + 1
Loop
If rtn = vbYes Then
Range("G1") = "OK"
GoTo step1
Else
Range("G1") = "NG"
GoTo step1
End If
End If
Case Else
End Select
Exit Sub
step1:
Touroku
Exit_cmm1_Click:
Exit Sub
Err_cmm1_Click:
MsgBox Err.Description
Resume Exit_cmm1_Click
End Sub