从循环中获取价值

时间:2018-04-13 07:15:00

标签: vba excel-vba excel

我刚刚开始学习VBA,我得到了一个任务分配。当我将值输入GUID并选择“Trim”按钮时,我将从“Essential”列中获取SQL中的值。

请查看随附的表格。我想把结果作为SQL。请查找附加的SQL值。代码对我来说非常复杂。我自己没有写这段代码。

据我了解,CW0002,C00026和C00378是循环引起的。因此我添加了“On Error Resume Next”行。即使程序发现错误;它仍然可以运行代码。

正如我前面提到的,是否可以将结果作为SQL值获取?

我自己添加了以下代码。

如果左(代码,2)=“CW”那么
        关于错误恢复下一个
        退出子

我认为以下代码会产生结果。

Form

SQL Values

If Left(code, 2) = "CW" Then
    On Error Resume Next
    Exit Sub

ElseIf Left(code, 1) = "C" Then
    Dim src As Recordset
    Set src = CalculatedParameters.getSourceParameters(code)
    If src.EOF Then
        MsgBox "Source parameters of " & code & " are not registered.", vbExclamation
        Exit Sub
    End If

    Dim i As Long
    Dim mat As MatchCollection
    Do Until src.EOF
        Set mat = TrimGUID(src.Fields("SourceCode"))
        If mat.Count > 0 Then
            DistributeParameter mat(0).Value, dic, out_idx, out_rng
        Else
            MsgBox src.Fields("SourceCode") & " is unsupported format." & vbCrLf & _
                   "Please contact the administrators.", vbExclamation
        End If

        src.MoveNext
    Loop

    src.Close
    Set src = Nothing

    Exit Sub

End If

此代码可能会生成Essential列的结果。

' Essential
    max_row = Cells(Rows.Count, TRIMMED_E_COL).End(xlUp).Row
If max_row >= IMPORT_START_ROW Then
    rng = Range(TRIMMED_RANGE & max_row)
    For i = 1 To UBound(rng)
        Application.StatusBar = "Processing essential parameters... (" & i & "/" & UBound(rng) & ")"

        gu_id = rng(i, TRIMMED_E_IDX)
        If gu_id <> "" Then
            If Not TOM.registerEssentialInstrumentation(group_id, gu_id) Then
                MsgBox gu_id & " is not registered to Instrumentation Tree.", vbExclamation
                GoTo ERROR_IMPORT
            End If
        End If
    Next
End If

0 个答案:

没有答案