zoukankan      html  css  js  c++  java
  • Excel VBA初接触-筛选清除与复制粘贴

        今天第一次尝试使用Excel宏。

        要实现的功能是:1个xls文件中,有2个工作表。判断工作表是否筛选,如果筛选清除筛选。然后将一个工作表中的数据,粘贴到另一个工作表下方。

        尝试了录制宏,然后个修改其中的代码。整个过程中,遇到了一些问题,在网上找,并试验,解决了部分问题。

          1)判断工作表是否处于筛选模式

      If Worksheets("Sheet1").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("Sheet1").FilterMode = True Then
                Sheets("Sheet1").Select
                ActiveSheet.ShowAllData
        End If
    
        
        If Worksheets("Sheet2").FilterMode = True Then
                Sheets("Sheet2").Select
                ActiveSheet.ShowAllData
        End If
    
        Sheets("Sheet2").Select
        Rows("2:2").Select
        Range(Selection, Selection.End(xlDown)).Select
        Selection.Copy
        Sheets("Sheet1").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
  • 相关阅读:
    Python基础:数据类型-列表与元组(6)
    Python基础:数据类型-数字(5)
    Python基础:编码规范(4)
    Python基础:语法基础(3)
    Python基础:第一个Python程序(2)
    Python基础:搭建开发环境(1)
    Vue.js 2.x笔记:服务请求axios(8)
    Vue.js 2.x笔记:状态管理Vuex(7)
    一位资深传统型软件开发者的思考:传统软件企业危机四伏【转】
    基于cesium的GIS洪水淹没三维模拟系统
  • 原文地址:https://www.cnblogs.com/itit/p/3729009.html
Copyright © 2011-2022 走看看