excel with参数
答案:3 悬赏:30 手机版
解决时间 2021-11-15 20:02
- 提问者网友:
- 2021-11-15 01:29
excel with参数
最佳答案
- 五星知识达人网友:行路难
- 2021-11-15 02:57
试试看:
Private Sub CommandButton1_Click()
Dim r&
With ActiveSheet
Set x = .Cells.Find(what:=ComboBox1.Text)
If Not x Is Nothing Then
r = x.Row
.Cells(r, 1).Select '光标返回到此行
Rows(r + 1).Insert '在其下一行插入空行
ActiveCell.Offset(1, 0).Range("a1") = TextBox1
ActiveCell.Offset(1, 0).Range("b1") = TextBox2
ActiveCell.Offset(1, 0).Range("c1") = ComboBox1
End If
End With
End Sub追问你的代码并不能将光标定到查找到的那个单元格啊追答.Cells(r, 1).Select就是定位到那个单元格行数对应的第一列单元格
这是你要的效果吗?执行前
执行后
Private Sub CommandButton1_Click()
Dim r&
With ActiveSheet
Set x = .Cells.Find(what:=ComboBox1.Text)
If Not x Is Nothing Then
r = x.Row
.Cells(r, 1).Select '光标返回到此行
Rows(r + 1).Insert '在其下一行插入空行
ActiveCell.Offset(1, 0).Range("a1") = TextBox1
ActiveCell.Offset(1, 0).Range("b1") = TextBox2
ActiveCell.Offset(1, 0).Range("c1") = ComboBox1
End If
End With
End Sub追问你的代码并不能将光标定到查找到的那个单元格啊追答.Cells(r, 1).Select就是定位到那个单元格行数对应的第一列单元格
这是你要的效果吗?执行前
执行后
全部回答
- 1楼网友:七十二街
- 2021-11-15 03:40
ActiveCell.Offset(1, 0)本身就代表一个单元格
你后面就不能再加一个range("a1")
你后面就不能再加一个range("a1")
- 2楼网友:像个废品
- 2021-11-15 03:32
x = Cells.Find(what:="combobox1.text").Row
估计是上面这句出了问题,原因是没有找到哪个单元格内容为:“combobox1.text”,所以无法得到行号。可在这句之前增加一句:
if Cells.Find(what:="combobox1.text") is nothing then exit sub
没有找到时退出,就不会出错。
但就常用代码来说,你要查找的是 组合框的内容,所以what:="combobox1.text" 不应加引号。不知你具体的意图追问我想做一个数据录入窗口.
我的想法是根据复合框里的内容找到工作表上的单元格,将光标移动到这个单元格上,并在这个单元向下插入一行,再将窗口的数据插入对应的各例.现在问题是无法根据复合框内容查找单元格并将光标移动此单元格.追答前面回答得够详细了,修改后的代码如下
Private Sub CommandButton1_Click()
if Cells.Find(what:=combobox1.text) is nothing then exit sub
x = Cells.Find(what:=combobox1.text).Row
Cells(x, 1).Select '光标返回到此行
Rows(x + 1).Insert '在其下一行插入空行
ActiveCell.Offset(1, 0).Range("a1") = TextBox1
ActiveCell.Offset(1, 0).Range("b1") = TextBox2
ActiveCell.Offset(1, 0).Range("c1") = ComboBox1
End Sub
估计是上面这句出了问题,原因是没有找到哪个单元格内容为:“combobox1.text”,所以无法得到行号。可在这句之前增加一句:
if Cells.Find(what:="combobox1.text") is nothing then exit sub
没有找到时退出,就不会出错。
但就常用代码来说,你要查找的是 组合框的内容,所以what:="combobox1.text" 不应加引号。不知你具体的意图追问我想做一个数据录入窗口.
我的想法是根据复合框里的内容找到工作表上的单元格,将光标移动到这个单元格上,并在这个单元向下插入一行,再将窗口的数据插入对应的各例.现在问题是无法根据复合框内容查找单元格并将光标移动此单元格.追答前面回答得够详细了,修改后的代码如下
Private Sub CommandButton1_Click()
if Cells.Find(what:=combobox1.text) is nothing then exit sub
x = Cells.Find(what:=combobox1.text).Row
Cells(x, 1).Select '光标返回到此行
Rows(x + 1).Insert '在其下一行插入空行
ActiveCell.Offset(1, 0).Range("a1") = TextBox1
ActiveCell.Offset(1, 0).Range("b1") = TextBox2
ActiveCell.Offset(1, 0).Range("c1") = ComboBox1
End Sub
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯