常用EXCEL宏FUNCTION 2020.11.20「建议收藏」

常用EXCEL宏FUNCTION 2020.11.20「建议收藏」Functionwalkthrough(path)’遍历文件(文件夹路径)Dimxlsxls=Dir(path&”\*.xls”)’指定要遍历excel文件的路径及文件类型DoWhilexls<>””Call**copythefile(xls)**’要执行的程序xls=Dir’下一个excel文件LoopSetxls=Nothing’释放变量内存

大家好,又见面了,我是你们的朋友全栈君。

Function walkthrough(path)
' 遍历文件(文件夹路径)
   Dim xls
   xls = Dir(path & "\*.xls")
'指定要遍历excel文件的路径及文件类型
   Do While xls <> ""
      
      Call **copythefile(xls)**    ' 要执行的程序
    
      xls = Dir '下一个excel文件
   Loop
   Set xls = Nothing '释放变量内存
End Function
Function copythefile(filename)
' 复制文件
    Dim book As Workbook
    Dim sheet As Worksheet
    Dim rc As Integer
    Dim abc As Integer
      
    Set book = Workbooks.Open(filename)
    Set sheet = book.Sheets(1) '使用第一个sheet
    rc = sheet.Range("A65536").End(xlUp).Row
    abc = ThisWorkbook.Sheets(1).Range("A65536").End(xlUp).Row
    
        sheet.Rows(2 & ":" & rc).Copy 
        `从第二行开始到最下面一行复制
        ThisWorkbook.Sheets(1).Range("A" & abc + 1)
         '复制到A列最下面的行
         book.Close
         
End Function
Function selectthefolder() As String
' 窗口选择文件夹

    With Application.FileDialog(msoFileDialogFolderPicker)
        ' 窗口选择文件
        
        .Title = "请选择不顺眼的文件"
        '窗口的名称

        .InitialFileName = "C:\Documents and Settings\Administrator\桌面\"
        '窗口的默认文件地址

        If .Show = -1 Then
        'FileDialog 对象的 Show 方法显示对话框,并且返回 -1(如果按 OK)和 0(如果按 Cancel)
        '按ok执行下方,按cancel退出宏

            selectthefolder = .SelectedItems(1)
            ' 1 表示只选择一个文件

            Else: Exit Function
        End If
    End With
End Function
Function fill_cells()
    取消合并单元格并填充

    Dim rng As Range, val, cell As String
    For Each rng In ActiveSheet.UsedRange
     If rng.MergeCells Then
       cell = rng.MergeArea.Address
     val = rng.Value
     rng.UnMerge
     Range(cell).Value = val
 End If
 Next

End Function

Sub main()

fill_cells

End Sub
today_date = VBA.Date
' 获取日期数据创建日期数据
month_date = VBA.Month(today_date)
day_date = VBA.Day(today_date)
year_date = VBA.Year(today_date)

Dim a As Date
Dim b As Date

a = today_date
MsgBox (a)
MsgBox (day_date)
MsgBox (month_date)
MsgBox (year_date)

b = Str(year_date) + "-" + Str(month_date) + "-1"

MsgBox (b)




版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/144014.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号