EXCEL VBA鼠标动作问题,请高手来帮忙!

作者&投稿:拓陆 (若有异议请与网页底部的电邮联系)
EXCEL VBA问题,请高手来帮忙。~

我想,你的第一个点击的单元格日期,应该是在同一列的,如果是这样,不妨用单元格Change事件来做。

Sub 序号() Dim rng As Range, i%, k% k = 1 For Each rng In Selection r = rng.Row If Rows(r & ":" & r).Hidden = False Then rng.Offset(, 1) = k k = k + 1 End If NextEnd Sub

有点意思,做了个

Option Explicit
Dim strPre, s As String
Dim lastrange As String
Dim lCount As Long

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    '第一次改变所选的单元格
    If strPre <> ThisWorkbook.str And Not (lCount > 0) Then
        lastrange = ThisWorkbook.str
    Else
        lastrange = strPre
    End If
    GetPreAddress Target.Address
      If Target.Column = 2 Then
      If lastrange = Target.Offset(0, -1).Address Then s = Format(Target.Offset(0, -1), "ddmmm") & "/" & Target
      End If
     With CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
        .SetText s
        .PutInClipboard
     End With
End Sub

Sub GetPreAddress(strPreA As String)
    strPre = strPreA
    lCount = lCount + 1
End Sub


Thisworkbook:

Option Explicit
Public str As String

Private Sub Workbook_Open()
    str = ActiveCell.Address
End Sub




录制宏

随便录制个宏,主要是设置快捷键

修改宏代码实现上面基本功能

每次选择好之后,按快捷键实现

这个是比较方便的了

 

录制好后,把下面代码拷贝到函数内部即可

    Dim cel As Range, tempStr As String

    Dim i As Integer

    i = 1

    For Each cel In Selection

        If i = 1 Then tempStr = tempStr & Format(cel, "ddmmm")

        If i = 2 Then tempStr = tempStr & "/" & cel

        i = i + 1

    Next


我想,你的第一个点击的单元格日期,应该是在同一列的,如果是这样,不妨用单元格Change事件来做。

  • Alt+F11打开VBA编辑器

  • 输入下面的代码


Dim rng As Range '用于记录上一次点击单元格

Dim strA

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Target.Count = 1 Then

    If Target.Column = 1 Then

        Set rng = Target

        strA = Day(Target.Value) & Choose(Month(Target.Value), "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec")

    Else

        If Target.Column = 2 Then

            If rng.Row = Target.Row Then

                'Target.Offset(0, -1).NumberFormatLocal = "ddmmm"

                Target.Offset(0, -1) = strA & "/" & Target

                Target.ClearContents

                Range(rng, Target).Select

                Selection.Merge

                Selection.Copy

            End If

        End If

    End If

End If

End Sub

说明:只有在之前点同行A列,并且接着点同行B列时才能实现。




榆阳区19297651257: excel里鼠标单击即为拖动状态,求高手解决 -
连钩乐朗: 检查一下鼠标设置,是不是将”单击锁定“选中了

榆阳区19297651257: excel 表格里鼠标为何无法拖动,进行多格内容复制? -
连钩乐朗: [Excel VBA] 怎样可以禁用鼠标拖拽功能? http://www.exceltip.net/thread-7718-1-1-41613.html 属性设置成true

榆阳区19297651257: 用着用着,在excel里,鼠标不能滚动了,只显示宽十字.怎么设置啊?在别的地方都可以 急急急 -
连钩乐朗: 可能是你的EXCEL程序假死了,关掉了重开吧

榆阳区19297651257: vba msgbox函数显示的消息框,不点击按钮鼠标指针一直处于忙碌状态 -
连钩乐朗: 使用windows api中的MsgBoxEx函数,可以让消息框自动关闭:Private Declare Function MsgBoxEx Lib "user32" Alias "MessageBoxTime...

榆阳区19297651257: 在VBA中,我该如何处理鼠标移动消息? -
连钩乐朗: 我在InputPointEvent事件里用move移动一个text,代码:copyobj.move rawpoint,ComputedPoint怎么实现不了不断显示称动过程这个功能,请高手提供一个原代码可以吗.谢谢

榆阳区19297651257: EXCEL VBA 10秒后从当前单元格移动到下一行单元格(或鼠标移动) -
连钩乐朗: 调试了下,回复慢了,看到网友已经采纳,我就纯当帮楼主直接解题吧 SHEET下代码 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 1 Then i = Target.Row Call runtimer End If End Sub模块下代码 Public i As Integer ...

榆阳区19297651257: 为什么EXCEL 鼠标移到哪 哪块单元格就被选中?怎么取消VBA代码,按Alt+F11没有反应,连按右边上档键也不行
连钩乐朗: 鼠标坏了,漏电,换个鼠标就好了.

榆阳区19297651257: excel vba运行时,总时闪个不停,用什么方法变为静态 -
连钩乐朗: Application.ScreenUpdating = False '关闭屏幕刷新 Application.ScreenUpdating = True '打开屏幕刷新 这个要成对使用

榆阳区19297651257: EXCEL中用VBA编的一个窗体,如何通过鼠标点击与相应的单元格互动 -
连钩乐朗: 给控件添加单元格链接.右击控件-设置控件格式,或属性中找到linkcell的文本框,填进要链接的单元格引用

榆阳区19297651257: 为什么Office2007 Excel 表格进入公式计算时,鼠标滚轮上下滚动时无法反应. -
连钩乐朗: 按下键盘上的Scroll Lock键 再按CTRL+N新建一个文件,再用鼠标滚动试试看 我也碰到过这种问题,用上述方法可以解决

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网