首页 > 代码库 > Excel VBA初接触
Excel VBA初接触
今天第一次尝试使用Excel宏。
要实现的功能是:1个xls文件中,有2个工作表。判断工作表是否筛选,如果筛选清除筛选。然后将一个工作表中的数据,粘贴到另一个工作表下方。
尝试了录制宏,然后个修改其中的代码。整个过程中,遇到了一些问题,在网上找,并试验,解决了部分问题。
1)判断工作表是否处于筛选模式
If Worksheets("RUBY").FilterMode = True Then
2)向下移动一个单元格
Selection.End(xlDown).Offset(1, 0).Select
没有找到明确的方法,受到一个答案的启发,尝试着加入offset,没想到成功了。
3)关闭表格并自动选择是否保存
ActiveWindow.Close savechanges:=False
这是关闭表格,并且不保存内容。
4)清理剪切板
Application.CutCopyMode = xlCut
这个是在网上找到的有效的方法。
我想实现的是,关闭文件,但是保留剪贴板中的内容。可惜的是,想实现的功能,目前实现不了。
Sub MR() ‘ ‘ MR 宏 ‘ 取MR环境中的数据 ‘ ‘ 快捷键: Ctrl+m ‘ If Worksheets("RUBY").FilterMode = True Then Sheets("RUBY").Select ActiveSheet.ShowAllData End If If Worksheets("RUBY").FilterMode = True Then Sheets("TCL").Select ActiveSheet.ShowAllData End If Rows("2:2").Select Range(Selection, Selection.End(xlDown)).Select Selection.Copy Sheets("RUBY").Select Range("A2").Select Selection.End(xlDown).Offset(1, 0).Select ActiveSheet.Paste Rows("2:2").Select Range(Selection, Selection.End(xlDown)).Select Selection.Copy Application.CutCopyMode = xlCut ActiveWindow.Close savechanges:=False ‘Application.CutCopyMode = True ‘Application.DisplayAlerts = False End Sub
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。