- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VBA 编程问答 (第 3 辑 )
VBA 编程问答 (第 3 辑 )
fanjy 发表于 2007-1-20 20:18:00 500){this.resized=true;this.style.width=500;} 在学习
ExcelVBA 编程的过程中,经常会遇到一些问题,有些可能 是新碰到的,有些则是以前已遇到过但暂时忘掉了解决办法 的,VBA编程问答将把我所收集到的问题和自已所遇到的问 题及解决办法进行归纳整理,以方便查阅和参考。
在下面的内容中,有大量的程序代码,并附有简单的说明,
您可以将它们输入或复制到 VBE 编辑器中进行调试,也可
以将它们进行适当的调整和修改后应用到自已的程序中。有
以将它们进行适当的调整和修改后应用到自已的程序中
。有
些问答提供了参考示例,您可以直接下载后处理。
本辑目录 问题 26 :如何实现单元格在指定区域内自动跳转 问题 27:如何将多个工作簿中的工作表一次性合到一个工作
簿里面?
中相应问题 28:关于 Excel 单元格填充颜色 ? 问题 29 :如何实现在 Sheet1 中输入后,在 Sheet2
中相应
的单元格中显示?
问题 30 :如何实现当某一单元格满足非空条件时, 输入的数 据不能修改? 问题 31 :如何用 Vba 方法导出 Xls 文件至 Txt 文件?
问题 26 :如何实现单元格在指定区域内自动跳转
例如,在单元格区域 A1
例如,在单元格区域 A1 :C100
中,无论何时在其中的某个
单元格中输入完一个单个的字符后,自动按规律跳转到下 单元格,即在单元格 B1 中输完后,跳转到单元格 C1 ,在单
元格 C1 中输入完单个字符后,自动跳转到单元格 A2 ,
#8230;#8230;
解答:可以在工作表事件中使用下面的代码:
#8216;***********************************
Private Sub Worksheet_Change(ByVal Target As Range)
Const WS_RANGE As String = A1:C100 lt;==
需要改变单元格区域
On Error GoTo ws_exit
Application.EnableEvents = False
If Not Intersect(Target, Me.Range(WS_RANGE)) Is
Nothing Then
With Target
If Len(.Value) = 1 Then
Me.Cells(.Row - (.Column Mod 3 =
0), .Column Mod 3 + 1).Select
If Intersect(ActiveCell,
Me.Range(WS_RANGE)) Is Nothing Then
Me.Range(WS_RANGE).Cells(1,
1).Select
End If
End If
End With
End If
ws_exit:
Application.EnableEvents = True
End Sub #8216;***********************************
说明:该代码中的单元格区域可按您的需要改为合适的单元 格区域,但必须是 3 列。
不限于列的代码如下:
#8216;***********************************
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rng As Range
Dim Ix As Long, Ad As String
Set Rng = Range(F4:G50) lt;== 按需要改变单元格
区域
On Error GoTo ws_exit
Application.EnableEvents = False
If Not Intersect(Target, Rng) Is Nothing Then
If Len(Target.Value) = 1 Then
Ad = Target.Address(False, False, xlR1C1, ,
Rng)
Ix = Val(Mid(Ad, 3)) * Rng.Columns.Count +
Val(Mid(Ad, InStr(Ad, C) + 2)) + 1
Rng((Ix Mod Rng.Cells.Count) + 1).Select
End If
End If
ws_exit:
Application.EnableEvents = True
End Sub
#8216;***********************************
说明:上面的代码中,单元格区域
原创力文档


文档评论(0)