数组中有若干个字符串,用vba生成一个判断,如果表格等于数组中的名字,则输出1,否则输出0
时间: 2023-04-09 16:04:51 浏览: 96
可以使用VBA中的InStr函数来判断一个字符串是否在数组中,具体代码如下:
```
Sub CheckArray()
Dim arrNames() As String
Dim strName As String
Dim i As Integer
'定义数组
arrNames = Split("Tom,Dick,Harry", ",")
'输入要查找的字符串
strName = InputBox("请输入要查找的名字:")
'循环判断数组中是否有该字符串
For i = 0 To UBound(arrNames)
If InStr(1, arrNames(i), strName, vbTextCompare) > 0 Then
MsgBox "1"
Exit Sub
End If
Next i
'如果没有找到,则输出0
MsgBox "0"
End Sub
```
在这个代码中,我们首先定义了一个字符串数组arrNames,然后输入要查找的字符串strName。接着,我们使用For循环遍历数组中的每一个字符串,使用InStr函数判断该字符串是否包含要查找的字符串。如果找到了,则输出1并退出循环,否则继续循环。如果循环结束后还没有找到,则输出0。
相关问题
数组中有张三、李四两个字符串,用vba生成一个判断,如果表格等于数组中的名字,则输出1,否则输出0
可以使用以下VBA代码实现:
```
Sub CheckNames()
Dim names(1 To 2) As String
names(1) = "张三"
names(2) = "李四"
Dim i As Integer
For i = 1 To 2
If Range("A1").Value = names(i) Then
Range("B1").Value = 1
Exit Sub
End If
Next i
Range("B1").Value = 0
End Sub
```
这个代码会将表格中的值与数组中的名字进行比较,如果匹配则输出1,否则输出0。
数组中有若干个字符串,用vba生成一个判断,如果表格a列有值等于数组中的字符串,则将该单元格赋值为1,否则赋值为0
可以使用VBA中的InStr函数来判断字符串是否存在于数组中,然后在表格a列中进行赋值操作。以下是示例代码:
```
Sub CheckArray()
Dim arr() As String
arr = Array("string1", "string2", "string3") '将要查找的字符串数组
Dim lastRow As Long
lastRow = Cells(Rows.Count, "A").End(xlUp).Row '获取表格a列的最后一行
For i = 1 To lastRow '遍历表格a列
For j = 0 To UBound(arr) '遍历字符串数组
If InStr(Cells(i, "A").Value, arr(j)) > 0 Then '判断字符串是否存在于数组中
Cells(i, "B").Value = 1 '如果存在,则将该单元格赋值为1
Exit For '跳出当前循环
Else
Cells(i, "B").Value = 0 '如果不存在,则将该单元格赋值为0
End If
Next j
Next i
End Sub
```
在上述代码中,我们首先定义了一个字符串数组arr,然后获取了表格a列的最后一行。接着,我们使用两个嵌套的循环来遍历表格a列和字符串数组,使用InStr函数来判断字符串是否存在于数组中,如果存在,则将该单元格赋值为1,否则赋值为0。最后,我们使用Cells函数来进行单元格的赋值操作。