网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
05月15日漏签0天
excel吧 关注:281,078贴子:1,547,422
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 47回复贴,共1页
<<返回excel吧
>0< 加载中...

Vba数独程序,求工作表中左键单击,键盘键入1-9事件格式

  • 只看楼主
  • 收藏

  • 回复
  • 风云际会JY
  • 见E勇为
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
视频来自:百度贴吧


  • 风云际会JY
  • 见E勇为
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
用鼠标右键,事件捕获处理后,系统弹出菜单挺讨厌的。
左键双击小数字,可变大。再次双击大数字,可变回多个小数字。用左键没有系统弹出菜单。
现在,想左键单击来切换背景,小数字情况下,键盘捕获1-9;直接变换为对应大数字,选中大数字,键盘Esc,再变回小数字。请问各位大佬,有解决方案吗?
外加控键多点一次,肯定可以完成,想直接在工作表里实现。


重庆美度网络
最新excel 下载,表格制作软件电脑版下载,excel 下载办公软件永久使用,正版密钥激活,excel 下载版本齐全
2025-05-15 19:58广告
立即查看
2025-05-15 19:58:07
广告
  • 秦時明月漢時圓
  • 以E待劳
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
数独这个东西,我看到有人用按键精灵写过,VBA也是可以写,有空研究一下。


  • 风云际会JY
  • 见E勇为
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
回到我的问题,在工作表里,闲时,每隔100毫秒,获取当前格位置,发现改变,认为左键按下。进入事件处理程序。
相当于单片机的中断程序响应。
每100毫秒执行一个程序如何实现?我没用过,应该有。@秦時明月漢時圓 @白音碎


  • 风云际会JY
  • 见E勇为
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
请看看,我抄下的程序,在工作表里运行。鼠标右键按下,启动定时器。左键双击,关闭定时器。编译不通过呀。
鼠标左右键功能昨日调试可用的。
@白音碎 @秦時明月漢時圓


  • 白音碎
  • 以E待劳
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
常数(user32)不允许作为公共成员。你在最上方写public const str=“user32”看下


  • Excel你问我答
  • E夫当关
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
大佬,每个子宫9格,怎么定义成一个分组的


  • Excel你问我答
  • E夫当关
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我说这9个宫怎么分的


为你推荐
包含word/excel/ppt等办公必备软件,重装系统可用,安全稳定。一次购买终身使用,一键激活、激活。优质服务,放心下单
2025-05-15 19:58广告
立即查看
2025-05-15 19:52:07
广告
  • 风云际会JY
  • 见E勇为
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
所有工作表的D1格都在变颜色。有冲突,动一下,excel一下就死了关闭。



  • 风云际会JY
  • 见E勇为
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
Public Declare Function SetTimer Lib "user32" (ByVal HWnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
Public Declare Function KillTimer Lib "user32" (ByVal HWnd As Long, ByVal nIDEvent As Long) As Long
Public TimerID As Long
Public TimerSeconds As Single
Sub StartTimer()
TimerSeconds = 1 ' how often to "pop" the timer.
TimerID = SetTimer(0&, 0&, TimerSeconds * 1000&, AddressOf TimerProc)
End Sub
Sub EndTimer()
On Error Resume Next '使用错误控制语句忽略错误
KillTimer 0&, TimerID
End Sub
Sub TimerProc(ByVal HWnd As Long, ByVal uMsg As Long, ByVal nIDEvent As Long, ByVal dwTimer As Long)
Dim nColorS(5) As Integer
nColorS(0) = 3
nColorS(1) = 4
nColorS(2) = 5
nColorS(3) = 6
nColorS(4) = 7
intAll = intAll + 1
If intAll > 4 Then intAll = 0
Cells(1, 4).网页链接 = nColorS(intAll) 'D1单元格每秒钟变换一次颜色
End Sub


  • 秦時明月漢時圓
  • 以E待劳
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我看了一下百度百科,数独有可能存在不唯一解,例如提示的值比较少。而且百度百科有很多基础解法以外的高级解法,我估计数独这个游戏都可以写N本书了,俄罗斯方块就有专门的书。


  • 风云际会JY
  • 见E勇为
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
时间扫描问题基本试验完成。用了很多"忽略错误",可以运行。
遇到问题:有时鼠标会跑到其它格。有时响应不及时,有时响应过头。
左键双击,有时直接进入单元格编辑状态。就不响应双击事件。这个问题,可否设置单元格为锁定状态。


  • 秦時明月漢時圓
  • 以E待劳
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
A1单元格1秒换一次颜色
Dim icolor As Long
Sub Proce()
icolor = icolor + 1
Cells(1, 1).Interior.ColorIndex = (icolor - 1) Mod 56
End Sub
Sub Runtimer()
Application.OnTime Now + TimeValue("00:00:01"), "Runtimer"
Call Proce
End Sub


  • 风云际会JY
  • 见E勇为
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我觉得我走了弯路,不必要在工作表里的鼠标左键及键盘响应事件。在模块里实现或是一样的。这样不用时间扫描了。


成都苍瀚科技有限公司
办公软件电脑怎么用excel2007下载,电脑版安装下载激活,包含2021/2019/2016/2013/2010等多个版本,密钥激活安装,永久使用
2025-05-15 19:58广告
立即查看
2025-05-15 19:46:07
广告
  • 秦時明月漢時圓
  • 以E待劳
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
鼠标左键双击某一单元格sheet1的A1单元格1秒变色1次,鼠标右键单击任意单元格停止变色。
模块1代码:
Public Enabled As Boolean
Public icolor As Long
Sub EnableTimer()
Enabled = True
Call RunTimer
End Sub
Sub DisableTimer()
Enabled = False
End Sub
Sub Proce()
icolor = icolor + 1
Cells(1, 1).Interior.ColorIndex = (icolor - 1) Mod 56 + 1
End Sub
Sub RunTimer()
If Enabled = True Then
Application.OnTime Now + TimeValue("00:00:01"), "Runtimer"
Call Proce
End If
End Sub
shee1工作表代码:
Public rng As Range
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Set rng = Target
End Sub
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Address = rng.Address Then
Cancel = True
Call EnableTimer
End If
End Sub
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
If Target.Address = rng.Address Then
Cancel = True
Call DisableTimer
End If
End Sub


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 47回复贴,共1页
<<返回excel吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示