在excel中 ,应当怎样写VBA函数呢?

在excel中 点击B1时,B1变红色,R1为2,再点击B1时,B1变灰色,R1为空,怎样写函数呢?如果R1为2,删掉2,是不是B1就变灰色呢?

亲,是下图这个意思吧?

打开你的Excel文件,按“Alt+F11”打开VBA编辑窗口,然后在左侧对应的Sheet上双击,右侧空白处粘贴下面的代码。关闭VBA窗口。



Public flag As Integer
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
If Target.Count = 1 And Target.Address = "$B$1" Then
    Application.EnableEvents = False
    If flag = 0 Then
        Range("B1").Interior.Color = RGB(255, 0, 0)
        Range("R1") = 2
        flag = 1
    Else
        Range("B1").Interior.Color = RGB(125, 125, 125)
        Range("R1") = ""
        flag = 0
    End If
    Range("B2").Select
    Application.EnableEvents = True
End If
End Sub

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-11-07
  改写方法:
  打开 Microsoft Office Excel 2007,点击 “开始” ->“Excel 选项”。

  在弹出的对话框中,选择“常规”选项卡,并在右侧点选“在功能区显示‘开发工具’选项卡”,并单击“确定"。

  在单元格A1中输入“弧度”,单元格B1中输入“角度”,单元格A2中输入“3.14”,然后在单元格B2中输入公式"=DEGREES(A2)"在按下回车后,该单元格输出结果为179.9087477。
  注:DEGREES函数的作用是将弧度转化为角度。

  接下来,我们用VBA实现同样的功能。点击“开发工具”选项卡,单击“Visual Basic”,启动Visual Basic编辑器。

  在“Microsoft Excel 对象”上点鼠标右键,依次点击“插入” -> “模块”,创建“模块1”,并在该模块中输入内容:
  Sub 转换()
MsgBox Application.WorksheetFunction.Degrees(3.14)
End Sub
  点击“运行子过程/用户窗体”按钮,在弹出的对话框中选择“转换”,然后点击“运行”按钮。

  程序弹出对话框,结果与在Excel中利用公式输出的结果一样,只是有效数字的位数不一样,这可以根据需要加以取舍。
第2个回答  2014-10-29
这个效果的实现要借助于vba来捕捉鼠标动作。追问

vba应当怎样写呢?是不是很麻烦呢?

追答

如果是要响应鼠标动作,挺麻烦的

追问

能否帮我写一下呢

第3个回答  2014-10-29
有onclick这个动作吖追问

怎么写呢,我不太懂呢