Excel用vba如何做到这个?看某个单元格是不是含有另外一列的内容.
就是如果A1单元格的内容含有G列的内容,B1则返回"是",否则,则返回"否".就是如果A2单元格的内容含有G列的内容,B2则返回"是",否则,则返回"否".这个G列会慢慢...
就是如果A1单元格的内容含有G列的内容,B1则返回"是",否则,则返回"否".
就是如果A2单元格的内容含有G列的内容,B2则返回"是",否则,则返回"否".
这个G列会慢慢添加内容.所以范围不能做死了. 展开
就是如果A2单元格的内容含有G列的内容,B2则返回"是",否则,则返回"否".
这个G列会慢慢添加内容.所以范围不能做死了. 展开
8个回答
展开全部
一定要用VBA 么, 一个简单的公式 比VBA 更快, VBA 需要用循环来判断
公式本身 就是 内置的程序, 会比 VBA 快, 当然 ,也不是什么麻烦事:
B1:
=IF(ISNUMBER(LOOKUP(,-FIND(OFFSET($G$1,,,COUNTA(G:G)),A2))),"是","否")
代码也给你写个: 没测试,应该问题不大, 不明白 可 +1052974911@qq.com
sub xxx()
for i=1 to range("A65536").end(xlup).row
cells(i,"B")="否"
for j=1 to range("G65536").end(xlup).row
if instr(1,cells(i,"A"),cells(j,"G"))>0 then
cells(i,"B")="是"
exit for
end if
next
next
end Sub
展开全部
先上代码再跟附件,可以直接执行:
Private Sub CommandButton1_Click()
Columns("B:B").ClearContents
j = 1
Do Until Sheets(1).Cells(j, 1).Value = ""
find_str = Sheets(1).Cells(j, 1).Value
k = 1
Do Until Sheets(1).Cells(k, 7).Value = ""
a = Sheets(1).Cells(k, 7).Value
b = InStr(1, find_str, a)
If b > 0 Then
b = 1
Exit Do
End If
k = k + 1
Loop
If b = 1 Then
Sheets(1).Cells(j, 2).Value = "是"
Else
Sheets(1).Cells(j, 2).Value = "否"
End If
j = j + 1
Loop
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以用VBA中的
InStr([start, ]string1,
string2[, compare])
函数,做双循环判断,
也可以在又循环中,用Like 做比较。
InStr([start, ]string1,
string2[, compare])
函数,做双循环判断,
也可以在又循环中,用Like 做比较。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
直接用公式就好了
B1=IF(SUMPRODUCT(COUNTIF(A1,"*"&G:G&"*")*(G:G<>"")),"是","否")
G列根据需求重新定一下范围,整列的话比较慢
B1=IF(SUMPRODUCT(COUNTIF(A1,"*"&G:G&"*")*(G:G<>"")),"是","否")
G列根据需求重新定一下范围,整列的话比较慢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在B1中输入这个函数,然后拉下去就可以了:
=IF(ISNUMBER(FIND(G1,A1,1)),"是","否")
给你个做好的样本,上传至附件。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询