欢迎来到天天文库
浏览记录
ID:11046395
大小:42.50 KB
页数:8页
时间:2018-07-09
《vba编程问答(第3辑)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、VBA编程问答(第3辑)在学习ExcelVBA编程的过程中,经常会遇到一些问题,有些可能是新碰到的,有些则是以前已遇到过但暂时忘掉了解决办法的,VBA编程问答将把我所收集到的问题和自已所遇到的问题及解决办法进行归纳整理,以方便查阅和参考。在下面的内容中,有大量的程序代码,并附有简单的说明,您可以将它们输入或复制到VBE编辑器中进行调试,也可以将它们进行适当的调整和修改后应用到自已的程序中。有些问答提供了参考示例,您可以直接下载后处理。--------------------------------
2、------------------------本辑目录问题26:如何实现单元格在指定区域内自动跳转?问题27:如何将多个工作簿中的工作表一次性合到一个工作簿里面?问题28:关于Excel单元格填充颜色......?问题29:如何实现在Sheet1中输入后,在Sheet2中相应的单元格中显示? 问题30:如何实现当某一单元格满足非空条件时,输入的数据不能修改? 问题31:如何用Vba方法导出Xls文件至Txt文件? ========================================
3、=============================问题26:如何实现单元格在指定区域内自动跳转?例如,在单元格区域A1:C100中,无论何时在其中的某个单元格中输入完一个单个的字符后,自动按规律跳转到下一单元格,即在单元格B1中输完后,跳转到单元格C1,在单元格C1中输入完单个字符后,自动跳转到单元格A2,……解答:可以在工作表事件中使用下面的代码:‘***********************************PrivateSubWorksheet_Change(ByValTar
4、getAsRange) ConstWS_RANGEAsString="A1:C100" '<==按需要改变单元格区域 OnErrorGoTows_exit Application.EnableEvents=False IfNotIntersect(Target,Me.Range(WS_RANGE))IsNothingThen WithTarget IfLen(.Value)=1Then Me.Cells
5、(.Row-(.ColumnMod3=0),.ColumnMod3+1).Select IfIntersect(ActiveCell,Me.Range(WS_RANGE))IsNothingThen Me.Range(WS_RANGE).Cells(1,1).Select EndIf EndIf EndWith EndIf ws_exit: Applicati
6、on.EnableEvents=TrueEndSub‘***********************************说明:该代码中的单元格区域可按您的需要改为合适的单元格区域,但必须是3列。不限于列的代码如下:‘***********************************PrivateSubWorksheet_Change(ByValTargetAsRange) DimRngAsRange DimIxAsLong,AdAsString SetRng=Rang
7、e("F4:G50") '<==按需要改变单元格区域 OnErrorGoTows_exit Application.EnableEvents=False IfNotIntersect(Target,Rng)IsNothingThen IfLen(Target.Value)=1Then Ad=Target.Address(False,False,xlR1C1,,Rng) Ix=Val(Mid(Ad,3))*Rng.Columns.
8、Count+Val(Mid(Ad,InStr(Ad,"C")+2))+1 Rng((IxModRng.Cells.Count)+1).Select EndIf EndIf ws_exit: Application.EnableEvents=TrueEndSub‘***********************************说明:上面的代码中,单元格区域可不限于2列。===================================
此文档下载收益归作者所有