ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索

关于用单元格内容打开窗体---版主回答一个提问

已有 1597 次阅读2014-1-12 11:58 | 表达式

问题:

有,UserForm1,UserForm2,UserForm3......
求:当单元格F1=UserForm1时,打开窗体UserForm1即(UserForm1.Show),当单元格F1=UserForm2时,打开窗体UserForm2即(UserForm2.Show)......的表达式。
我想当然已为是Range("F1“).Show,结果是错的,请老师帮忙。

 

版主解答:

Private Sub Worksheet_Change(ByVal Target As Range)
     If Target.Address(0, 0) = "F1" Then
         Dim myForm As Object
         On Error Resume Next
         Set myForm = UserForms.Add(Target.Value)
         If Not myForm Is Nothing Then myForm.Show
         End If
 End Sub

我把这种方法叫做“直呼其名”,不用循环判断,直接把它赋值给一个变量,如果出错或变量是Nothing,则窗体不存在
这种方法还可以判断工作表、工作簿等对象是否存在

 

ps:需要好好研究学下。

 

 


路过

雷人

握手

鲜花

鸡蛋

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 免费注册

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-25 16:38 , Processed in 0.017883 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

返回顶部