VBA指令功能

VBA指令功能,vba,if-statement,Vba,If Statement,您好,我正在尝试搜索字符串中的子字符串,如果找到子字符串,则我希望将输出粘贴到我的电子表格中。我将th InStr函数与条件语句一起使用,所以如果mt InStr函数值不等于0,我知道我有一个匹配项。我运行代码时没有收到任何错误,但它不会在工作表上显示结果。SOS!!:) 子独角兽() '从原始独角兽输入数据生成用户友好的图形 将列设置为整数 将行设置为整数 Dim输出(50)为字符串 将最后一行设置为整数 作为整数的Dim StrG Dim xaxis As范围 模糊雅克西斯范围 尺寸nLef

您好,我正在尝试搜索字符串中的子字符串,如果找到子字符串,则我希望将输出粘贴到我的电子表格中。我将th InStr函数与条件语句一起使用,所以如果mt InStr函数值不等于0,我知道我有一个匹配项。我运行代码时没有收到任何错误,但它不会在工作表上显示结果。SOS!!:)

子独角兽()
'从原始独角兽输入数据生成用户友好的图形
将列设置为整数
将行设置为整数
Dim输出(50)为字符串
将最后一行设置为整数
作为整数的Dim StrG
Dim xaxis As范围
模糊雅克西斯范围
尺寸nLeft为双精度:nLeft=20
尺寸nTop为双精度:nTop=20
调宽启动为双:启动=启动+2
将饰面调暗为双:饰面=饰面+2
将曲线(14)调整为字符串
曲线(0)=“260nm”
曲线(1)=“280nm”
曲线(2)=“214nm”
曲线(3)=“Cond”
曲线(4)=“Cond%”
曲线(5)=“Conc”
曲线(6)=“pH”
曲线(7)=“压力”
曲线(8)=“流量”
曲线(9)=“温度”
曲线(10)=“分数”
曲线(11)=“注入”
曲线(12)=“行车日志”
曲线(13)=“P960_压力”
曲线(14)=“P960_流量”
将D标注为工作表
集合D=工作表(“数据”)
dimcas工作表
集合C=工作表(“表1”)
'定义数据范围
columns=shCurves.Cells(1,shCurves.columns.Count)。End(xlToLeft)。Column
'xxx将支票退回至工作表
ShData.Cells(5,5).Value=列
rows=shCurves.Cells(shCurves.rows.Count,1).End(xlUp).Row
'xxx将支票退回至工作表
ShData.Cells(5,6).Value=行
对于Z=0的列
'针对不同的曲线在数组中循环
输出(Z)=shCurves.单元格(2,Z*2+1).值
'xxx将支票退回至工作表
ShData.Cells(5+Z,7).Value=输出(Z)
'查找当前曲线列中的最后一行
LastRow=单元格(D.rows.Count,Z*2+1)。结束(xlUp)。行
对于k=0到14
'在字符串中查找曲线标识符
StrG=仪表(“输出(Z)”,“曲线(k)”)
如果StrG为0,则
ShData.单元格(25+k,5).值=曲线(k)
退出
如果结束
下一个k
下一个Z
端接头

为什么数组周围有双引号

StrG = InStr("Outputs(Z)", "Curves(k)")
您使用的是字符串文本,而不是变量。删除双引号:

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

为什么数组周围有双引号

StrG = InStr("Outputs(Z)", "Curves(k)")
您使用的是字符串文本,而不是变量。删除双引号:

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

您是否使用显式
选项?你声明并分配了C和D,然后继续使用
shCurves
ShData
仅仅因为我是一个noob,我真的不知道我在做什么,选项显式是什么?还有,您将如何最有效地执行此操作?什么是Option Explicit=什么是Google;-)很公平,蒂姆先生!这里还有另外一个问题:对于我的字符串数组:曲线(0)=“260nm”Cond%和P960_Flow是唯一两个不向instr函数注册值的函数,我意识到这是因为在每种情况下,前面的一个都有开头字符,但是我如何解决这个问题呢?如果没有看到您试图匹配的标题,很难回答这个问题。您可以共享工作簿吗?是否使用
选项Explicit
?你声明并分配了C和D,然后继续使用
shCurves
ShData
仅仅因为我是一个noob,我真的不知道我在做什么,选项显式是什么?还有,您将如何最有效地执行此操作?什么是Option Explicit=什么是Google;-)很公平,蒂姆先生!这里还有另外一个问题:对于我的字符串数组:曲线(0)=“260nm”Cond%和P960_Flow是唯一两个不向instr函数注册值的函数,我意识到这是因为在每种情况下,前面的一个都有开头字符,但是我如何解决这个问题呢?如果没有看到您试图匹配的标题,很难回答这个问题。你能分享这本练习册吗?谢谢,我还在学习,所以我不知道“…”是文字,我觉得你在处理字符串时必须始终拥有这些。谢谢,我还在学习,所以我不知道“…”是文字,我觉得你在处理字符串时必须始终拥有这些。