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
  • 相关阅读:
    ndarray转PIL
    215. 数组中的第K个最大元素
    pytorch的分布式
    剑指 Offer 06. 从尾到头打印链表
    最长公共子序列
    剑指 Offer 57
    剑指 Offer 59
    剑指 Offer 48. 最长不含重复字符的子字符串
    Python线程池
    Python 常用内置函数
  • 原文地址:https://www.cnblogs.com/itit/p/3729009.html
Copyright © 2011-2022 走看看