简单的vba知识(一)工作簿,表的增删改

进入工厂后发现工厂与公司是完全不一样的,绝大多数人是不用电脑的,更别提一些管理软件了。最多就是用excel编制各种表格,和大公司中无纸化办公的各种软件无法相提并论。

考虑到编制各种工具软件的人工成本较高,号称最快的C#也没法在一夜之间编一个仓库管理什么的,还是决定以后多用excel,这样所有的人员都可以加以改进,使之更有效率。

vba成为当务之急,由于目标就是利用excel做各种报表什么的,因此积累的东西多与这些有关,并不求完整,只求实用。

Sub 创建新的工作簿()
    Set NewBook = Workbooks.Add
    With NewBook
        .Title = "All Sales"
        .Subject = "Sales"
        .SaveAs Filename:="Allsales.xls"
    End With
End Sub


Sub 打开一个已有的工作薄()
    Workbooks.Open ("C:\MyFolder\MyBook.xls")
End Sub


Sub 复制一个表到当前表()
    fname = "E:\业务积累\vba_test_two.xls"        '需要复制的excel文件地址及文件名,你自己修改
    Set d = GetObject(fname)      '打开文件
    d.Sheets("sheet1").Cells.Copy ActiveSheet.Cells(1, 1)    '将sheet1完全复制到当前表
    d.Close  '关闭文件
    Set d = Nothing

End Sub


Sub 从甲工作簿中拷贝表到乙工作簿()
    Dim a As Workbook, b As Workbook
    Set a = Workbooks.Open("E:\业务积累\vba_test_two.xls")
    Set b = Workbooks.Open("E:\业务积累\vba_test_three.xls")
    a.Sheets("Sheet1").Copy after:=b.Sheets(b.Sheets.Count)
    b.Sheets(b.Sheets.Count).Name = "测试重命名"
    a.Close
    b.Save
    b.Close
End Sub

 

Sub 删除一个存在的工作表()
    Set b = Workbooks.Open("E:\业务积累\vba_test_three.xls")
    Application.DisplayAlerts = False
    b.Sheets("测试重命名").Delete
    Application.DisplayAlerts = TrueNext
    b.Save
    b.Close
End Sub
原文地址:https://www.cnblogs.com/luhouxiang/p/3026435.html