加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Excel Vba 批量添加复选框   如何判断复选框已被选中

(2008-10-24 17:38:00)
标签:

杂谈

分类: Excel Vba
如一个Excel点名簿 要批量添加复选框,已到的打勾,没到的不打勾

可以先用录制宏功能,学习一下vba代码,调试的时候多用msgbox函数 和 msdn的官方帮助 google

用EXCEL VBA实现

------------------------------------------------------------------------------------
Sub Macro4()
'
' Macro1 Macro
' 宏由 MC SYSTEM 录制,时间: 2008-10-24
'

'

   
    Application.CommandBars("Forms").Visible = True
   

    For i = 1 To 2
   
    ActiveSheet.CheckBoxes.Add(Cells(i, 1).Left, Cells(i, 1).Top, 24, 16.5).Select '在cells(i,1)处添加复选框
   
    ActiveSheet.Shapes("Check Box " + Str(i)).Select
    Selection.Characters.Text = "" '把复选框右边系统自带的注释清空
    With Selection
    .Value = xlOff
    .LinkedCell = "$B$" + Trim(Str(i)) '如果i=1的话,则在B1单元格处显示A1单元格中的复选框是否被选中
   ' MsgBox """" + "$D$" + Trim(Str(i)) + """"
   ' MsgBox """" + "$D$1" + """"
    .Display3DShading = False
    End With
    Next i
    
   
    Range("E5").Select
End Sub
-------------------------------------------------------------------------------------------------------------------------




Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   [a1] = "单元格 "
   [b1] = "第一行顶端到该单元格顶端的距离: "
   [c1] = "从A列左边界至该单元格左边界的距离: "
   
    [a2] = Target.Address ’单元格在第几行 第几列
    [b2] = Target.Top        ‘单元格离上边界的距离
    [c2] = Target.Left         ’单元格离左边界的距离
    [d2] = Target.Height      ’单元格行高
    [e2] = Target.Width     ‘单元格列宽

字符串转数值函数 val
数值转字符串函数 str

添加单引号 四个引号最后得出的是单引号 MsgBox """" + "$D$" + Trim(Str(i)) + """"        

去掉空格的函数 trim

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有