簡體   English   中英

VBA InStr功能

[英]VBA InStr function

嗨,我正在嘗試在字符串中搜索子字符串,如果找到了子字符串,那么我想將輸出粘貼到電子表格中。 我將InStr函數與條件語句<>一起使用,因此,如果mt InStr函數的值不等於0,我知道我有一個匹配項。 運行代碼時沒有出現任何錯誤,但是它沒有在工作表上顯示結果。 求救! :)

Sub unicornhorn()
'Generates user friendly graphs from raw unicorn input data

    Dim columns As Integer
    Dim rows As Integer
    Dim Outputs(50) As String
    Dim LastRow As Integer
    Dim StrG As Integer
    Dim xaxis As Range
    Dim yaxis As Range

    Dim nLeft As Double: nLeft = 20
    Dim nTop As Double: nTop = 20
    Dim start As Double: start = start + 2
    Dim finish As Double: finish = finish + 2


    Dim Curves(14) As String
        Curves(0) = "260nm"
        Curves(1) = "280nm"
        Curves(2) = "214nm"
        Curves(3) = "Cond"
        Curves(4) = "Cond%"
        Curves(5) = "Conc"
        Curves(6) = "pH"
        Curves(7) = "Pressure"
        Curves(8) = "Flow"
        Curves(9) = "Temp"
        Curves(10) = "Fractions"
        Curves(11) = "inject"
        Curves(12) = "logbook"
        Curves(13) = "P960_Press"
        Curves(14) = "P960_Flow"

    Dim D As Worksheet
    Set D = Worksheets("DATA")
    Dim C As Worksheet
    Set C = Worksheets("sheet1")


    'defines data range
    columns = shCurves.Cells(1, shCurves.columns.Count).End(xlToLeft).Column
    'XXreturn check to sheet
    ShData.Cells(5, 5).Value = columns
    rows = shCurves.Cells(shCurves.rows.Count, 1).End(xlUp).Row
    'XXreturn check to sheet
    ShData.Cells(5, 6).Value = rows


    For Z = 0 To columns

        'loops through array for different curves
        Outputs(Z) = shCurves.Cells(2, Z * 2 + 1).Value

        'XXreturn check to sheet
        ShData.Cells(5 + Z, 7).Value = Outputs(Z)

        'Finds last row in column for current curve
        LastRow = Cells(D.rows.Count, Z * 2 + 1).End(xlUp).Row


        For k = 0 To 14

            'finds curve identifyer within string
            StrG = InStr("Outputs(Z)", "Curves(k)")
            If StrG <> 0 Then


            ShData.Cells(25 + k, 5).Value = Curves(k)


            Exit For
            End If                  


        Next k

    Next Z

End Sub

為什么數組周圍有雙引號?

StrG = InStr("Outputs(Z)", "Curves(k)")

您使用的是字符串文字,而不是變量。 刪除雙引號:

StrG = InStr(Outputs(Z), Curves(k))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM