[英]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.