Excel精英培训网

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

哪位大神帮忙解决一下代码怎么改

[复制链接]
发表于 2019-5-11 16:05 | 显示全部楼层 |阅读模式
1学分
Private Sub CommandButton1_Click()
    Dim wk As Workbook
    Dim wt As Worksheet
    Set wk = Workbooks("book20.xls")
    Set wt = Worksheets("员工信息表")
    wt.Activate
    With Me
        wt.Cells(xiugairow, 1).Value = .TextBox1.Value
        If .OptionButton1.Value Then
            wt.Cells(xiugairow, 1).Value = "男"
        Else
            wt.Cells(xiugairow, B).Value = "女"
        End If
        wt.Cells(xiugairow, 3).Value = .TextBox2.Value
        wt.Cells(xiugairow, 4).Value = .ComboBox1.Value
        wt.Cells(xiugairow, 5).Value = "'" & .TextBox3.Value
        wt.Cells(xiugairow, 6).Value = .TextBox4.Value
        wt.Cells(xiugairow, 7).Value = "'" & .TextBox5.Value
        wt.Cells(xiugairow, 8).Value = .TextBox6.Value
        wt.Cells(xiugairow, 9).Value = .ComboBox2.Value
        wt.Cells(xiugairow, 10).Value = .ComboBox3.Value
        MsgBox "成功修改员工信息!", vbOKOnly, "修改员工信息"
    End With
    Set wk = Nothing
    Set wt = Nothing
    Unload xiugaiyg
    jiemian.Show
End Sub

1

1

1

1
发表于 2019-5-13 11:50 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2019-5-15 08:37 | 显示全部楼层
详见附件

Book20.rar

24.14 KB, 下载次数: 5

回复

使用道具 举报

发表于 2019-5-15 09:16 | 显示全部楼层
变量xiugairow没有设置,是空值,所有类似cells(xiugairow,y)这样的引用都会出错
回复

使用道具 举报

 楼主| 发表于 2019-5-18 08:25 | 显示全部楼层
hfwufanhf2006 发表于 2019-5-15 09:16
变量xiugairow没有设置,是空值,所有类似cells(xiugairow,y)这样的引用都会出错

怎么改写才不会出现空值
回复

使用道具 举报

发表于 2019-5-20 09:52 | 显示全部楼层
liuning9969 发表于 2019-5-18 08:25
怎么改写才不会出现空值

这要你自己来定义了。我猜测你的目的是读取当前鼠标所指的单元格或行,可能是想把鼠标所指的行数据读入窗体,然后再修改吧。我提点建议:
1、不要随便用窗体,窗体我个人认为用处不大,这是以前老式编程语言比较流行的一种方法,那时候没得选只能用窗体。现在流行浏览器外观布局,浏览器风格与窗体是格格不入的两种类型,窗体是比较封闭的格式,移动记录、翻页等都很不方便,全部都需要自己来写代码,写的不好会很难用。excel的外观其实与浏览器很像,因此我赞成使用excel布局比较好,还简单;
2、为了达到类似浏览器的效果,excel的列宽要严格限定数量,建议列宽不要超过显示器宽度的80%,这样在浏览、翻页等移动记录时就不用横向移动滚动条,浏览器基本都是这样的布局,应该没见过谁把浏览器的页面填的满满的;
3、说点技术上的,你当前可能需要的,需要用不同属性获取当前表、当前行、当前单元格的信息:
application.Activesheet:获取当前活动的工作表,当前正在操作的工作表就是活动工作表;
application.Activecell:当前活动单元格,比如你要把鼠标所指单元格数据读入窗体,combobox1=Activecell.cells,这里省略了application,因为当前表就是活动工作表;
Activecell.row:活动单元格所在行,这个参数能获得活动单元格同一行的其他列数据,活动单元格是b2,同一行的a2就是cells(activacell.row,1)
activecell.column:活动单元格所在的列
....
其他相似的属性都能在help中找到。我不能一一列举;
就你问题而言,你缺少的参数我猜测很类似Activecell.row或者Activecell.column,需要你自己摸索



回复

使用道具 举报

 楼主| 发表于 2019-5-21 08:23 | 显示全部楼层
hfwufanhf2006 发表于 2019-5-20 09:52
这要你自己来定义了。我猜测你的目的是读取当前鼠标所指的单元格或行,可能是想把鼠标所指的行数据读入窗 ...

好的 十分感谢
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 02:20 , Processed in 0.750727 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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