Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2092|回复: 4

[已解决]请教加底纹颜色的问题。

[复制链接]
发表于 2013-12-1 14:58 | 显示全部楼层 |阅读模式
本帖最后由 silenthunter 于 2013-12-1 15:01 编辑

以下代码,是在循环里判断,有了就改变底纹颜色。但如果数据多,就想放进数组里循环来找快点,可在数组里找到了,又怎么对应地给单元格加底纹呢?毕竟到了数组里的内存已经脱离单元格了,无法再简单地用Rows(i)解决。


Private Sub find_Click()
Dim Exist As Boolean: Exist = False
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
CompanyName = InputBox("请输入要查询的公司名称:", "查询")
For i = 1 To LastRow
   If Cells(i, 1) = CompanyName Then
      Exist = True
      Rows(i).Interior.ColorIndex = 27
      Exit For
   End If
Next i
If Exist = False Then
   MsgBox "没有找到“" & CompanyName & "”,请确认内容是否正确。", vbCritical, "没有找到指定内容。"
End If
End Sub
End Sub


最佳答案
2013-12-1 15:13
本帖最后由 yyyydddd8888 于 2013-12-1 15:18 编辑

变量exist 是VBA的关键字,应该改一下才行。再加一句,如果用户没有输入就直接退出:
If companyname = "" Then Exit Sub


Private Sub find_Click()

Dim Existtt As Boolean: Existtt = False
Dim lastrow&, arr, companyname$, i&
lastrow = Cells(Rows.Count, 1).End(xlUp).Row
arr = Range("a1:a" & lastrow)
companyname = InputBox("请输入要查询的公司名称:", "查询")
If companyname = "" Then Exit Sub
For i = 1 To lastrow
   If arr(i, 1) = companyname Then
      Existtt = True
      Rows(i).Interior.ColorIndex = 27
      Exit For
   End If
Next i
If Existtt = False Then
   MsgBox "没有找到“" & companyname & "”,请确认内容是否正确。", vbCritical, "没有找到指定内容。"
End If
End Sub

发表于 2013-12-1 15:09 | 显示全部楼层
本帖最后由 yyyydddd8888 于 2013-12-1 15:19 编辑

Private Sub find_Click()
Dim Existtt As Boolean: Existtt = False
Dim lastrow&, arr, companyname$, i&
lastrow = Cells(Rows.Count, 1).End(xlUp).Row
arr = Range("a1:a" & lastrow)
companyname = InputBox("请输入要查询的公司名称:", "查询")
if companyname="" then exit sub
For i = 1 To lastrow
   If arr(i, 1) = companyname Then
      Existtt = True
      Rows(i).Interior.ColorIndex = 27
      Exit For
   End If
Next i
If Existtt = False Then
   MsgBox "没有找到“" & companyname & "”,请确认内容是否正确。", vbCritical, "没有找到指定内容。"
End If
End Sub



回复

使用道具 举报

 楼主| 发表于 2013-12-1 15:12 | 显示全部楼层
yyyydddd8888 发表于 2013-12-1 15:09
Private Sub find_Click()
Dim Exist As Boolean: Exist = False
Dim lastrow&, arr

哦,我还是比较笨的。原来就这么简单地改一下就行了。
回复

使用道具 举报

发表于 2013-12-1 15:13 | 显示全部楼层    本楼为最佳答案   
本帖最后由 yyyydddd8888 于 2013-12-1 15:18 编辑

变量exist 是VBA的关键字,应该改一下才行。再加一句,如果用户没有输入就直接退出:
If companyname = "" Then Exit Sub


Private Sub find_Click()

Dim Existtt As Boolean: Existtt = False
Dim lastrow&, arr, companyname$, i&
lastrow = Cells(Rows.Count, 1).End(xlUp).Row
arr = Range("a1:a" & lastrow)
companyname = InputBox("请输入要查询的公司名称:", "查询")
If companyname = "" Then Exit Sub
For i = 1 To lastrow
   If arr(i, 1) = companyname Then
      Existtt = True
      Rows(i).Interior.ColorIndex = 27
      Exit For
   End If
Next i
If Existtt = False Then
   MsgBox "没有找到“" & companyname & "”,请确认内容是否正确。", vbCritical, "没有找到指定内容。"
End If
End Sub

回复

使用道具 举报

发表于 2013-12-1 15:31 | 显示全部楼层
如果有问题请及时联系,如果可以用请帮忙评个最佳,谢谢!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-11 19:57 , Processed in 0.130052 second(s), 8 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表