找回密码
 FreeOZ用户注册
123
返回列表 发新帖回复
楼主: JunJun2013
打印 上一主题 下一主题

[学习深造] EXCEL的漂亮小技巧 , VBA学习中

  [复制链接]
61#
 楼主| 发表于 18-11-2014 12:24:13 | 只看该作者
语之玫瑰 发表于 18-11-2014 12:16
我以前公司就用Excel的,神器啊!不过数据量一大速度就有点跟不上了


嗯,EXCEL适合小到中等数据量,甚至文字,半手工,菜鸟员工和爱玩数字的大神,等。。。

就大规模数据来说,我们是软件为主,ACCESS为辅,最后是EXCEL。我制作 ACCESS PROGRAM比较多,后来发现EXCEL 和WORD中的VBA与ACCESS境界不同,所以也就随手看看。

它们都有自己的速成器,也都有很大的功能空间,我这种没有特别钻研精神的人,一直没去开发。。。怎么说呢,一般的情况,还是有效率有乐趣的
回复  

使用道具 举报

62#
发表于 28-11-2014 10:55:48 | 只看该作者
我最大的问题是:一段时间不用的公式和技巧,就忘了。
也就是vlookup和pivot table用的太多,可能不会太容易忘。
回复  

使用道具 举报

63#
 楼主| 发表于 28-11-2014 11:09:08 | 只看该作者
本帖最后由 JunJun2013 于 28-11-2014 14:39 编辑
mmxx 发表于 28-11-2014 10:55
我最大的问题是:一段时间不用的公式和技巧,就忘了。
也就是vlookup和pivot table用的太多,可能不会太容 ...


是的,我设计好的宏,时间长了,有些小问题,去修改,感觉很费劲。还不如重做一个容易。

一些公式也因为不太用,虽然当时试验下来,会用,但转身就忘了。--比如那个自动复制全部空格的功能。
写这个帖也有备查的目的。

有些功能看各人习惯,比如name range,有些人觉得好用,常用,而我不习惯,试了一下,虽然有趣,但没有去运应用,所以还是生疏。

我个人推荐多多开发、熟练键盘功能,既快又酷。不过我自己还是依赖鼠标。
回复  

使用道具 举报

64#
发表于 28-11-2014 13:55:56 | 只看该作者
6、7年前刚刚接触excel的时候,有一个专门针对宏的病毒。之后就谈宏色变,没怎么研究过。感觉有点programming的意思。
会用宏的人我都是崇拜滴。
我也超级喜欢热键,酷就一个字。曾经靠特殊粘贴的热键组合,秒杀一个面试官。

评分

参与人数 1威望 +50 收起 理由
JunJun2013 + 50 哈哈,你说话很有意思

查看全部评分

回复  

使用道具 举报

65#
发表于 30-6-2015 14:16:52 | 只看该作者
把一个实例贴一下,以后参考用
Sub Costing()
Dim sfile As Date
Application.DisplayAlerts = False
sPath = "\\server01\Admin_Data\General Office\Angel\taz Costings\Weekly Costing\"
sfile = InputBox("Please Enter Week End Date", "Enter Date", Date) 'Friday
Masterfile = Format(sfile, "yyyymmdd")
sfile0 = sfile
sfile1 = DateAdd("d", -1, sfile) 'Thursday
sfile2 = DateAdd("d", -2, sfile) 'Wednesday
sfile3 = DateAdd("d", -3, sfile) 'Tuesday
sfile4 = DateAdd("d", -4, sfile) 'Monday

sfile0 = Format(sfile0, "ddmmyy")
sfile1 = Format(sfile1, "ddmmyy")
sfile2 = Format(sfile2, "ddmmyy")
sfile3 = Format(sfile3, "ddmmyy")
sfile4 = Format(sfile4, "ddmmyy")

Application.ScreenUpdating = False


If Worksheets("Livestock").CheckBox1.Value = True Then
Workbooks.Open Filename:=sPath & sfile0 & ".xlsx"
Windows(sfile0 & ".xlsx").Activate 'choose Friday file
    Columns("A:A").Select
    Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
    Range("A8").Select
    ActiveCell.FormulaR1C1 = sfile 'add date
    Range("A8").Select
    Selection.AutoFill Destination:=Range("A8:A344"), Type:=xlFillCopy
    Range("A8:A107").Select
    Range("A344").Select
    Range("A8:O150").Select
    Range("A150").Activate
    ActiveWindow.SmallScroll Down:=-24
    Selection.Copy
    Windows("Inventory" & Masterfile & ".xlsm").Activate
    ActiveWindow.SmallScroll Down:=-6
    Range("A1:A100").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = 65535
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
    Windows(sfile0 & ".xlsx").Activate
    Windows(sfile0 & ".xlsx").Close False
End If
sfile = DateAdd("d", -1, sfile)
If Worksheets("Livestock").CheckBox2.Value = True Then
Workbooks.Open Filename:=sPath & sfile1 & ".xlsx"
Windows(sfile1 & ".xlsx").Activate 'choose Thursday file
   
    Columns("A:A").Select
    Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
    Range("A8").Select
    ActiveCell.FormulaR1C1 = sfile 'add date
    Range("A8").Select
    Selection.AutoFill Destination:=Range("A8:A344"), Type:=xlFillCopy
    Range("A8:A107").Select
    Range("A344").Select
    Range("A8:O150").Select
    Range("A150").Activate
    ActiveWindow.SmallScroll Down:=-24
    Selection.Copy
    Windows("Inventory" & Masterfile & ".xlsm").Activate
    ActiveWindow.SmallScroll Down:=-6
    Range("A101:A200").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = 65535
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
    Windows(sfile1 & ".xlsx").Activate
    Windows(sfile1 & ".xlsx").Close
End If

sfile = DateAdd("d", -1, sfile)
If Worksheets("Livestock").CheckBox3.Value = True Then
Workbooks.Open Filename:=sPath & sfile2 & ".xlsx"
Windows(sfile2 & ".xlsx").Activate 'choose Wednesday file
   
    Columns("A:A").Select
    Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
    Range("A8").Select
    ActiveCell.FormulaR1C1 = sfile 'add date
    Range("A8").Select
    Selection.AutoFill Destination:=Range("A8:A344"), Type:=xlFillCopy
    Range("A8:A107").Select
    Range("A344").Select
    Range("A8:O150").Select
    Range("A150").Activate
    ActiveWindow.SmallScroll Down:=-24
    Selection.Copy
    Windows("Inventory" & Masterfile & ".xlsm").Activate
    ActiveWindow.SmallScroll Down:=-6
    Range("A201:A300").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = 65535
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
    Windows(sfile2 & ".xlsx").Activate
    Windows(sfile2 & ".xlsx").Close
End If

sfile = DateAdd("d", -1, sfile)
If Worksheets("Livestock").CheckBox4.Value = True Then
Workbooks.Open Filename:=sPath & sfile3 & ".xlsx"
Windows(sfile3 & ".xlsx").Activate 'choose Tuesday file
   
    Columns("A:A").Select
    Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
    Range("A8").Select
    ActiveCell.FormulaR1C1 = sfile 'add date
    Range("A8").Select
    Selection.AutoFill Destination:=Range("A8:A344"), Type:=xlFillCopy
    Range("A8:A107").Select
    Range("A344").Select
    Range("A8:O150").Select
    Range("A150").Activate
    ActiveWindow.SmallScroll Down:=-24
    Selection.Copy
    Windows("Inventory" & Masterfile & ".xlsm").Activate
    ActiveWindow.SmallScroll Down:=-6
    Range("A301:A400").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = 65535
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
        Windows(sfile3 & ".xlsx").Activate
    Windows(sfile3 & ".xlsx").Close
End If

sfile = DateAdd("d", -1, sfile)
If Worksheets("Livestock").CheckBox5.Value = True Then
Workbooks.Open Filename:=sPath & sfile4 & ".xlsx"
Windows(sfile4 & ".xlsx").Activate 'choose Monday file
   
    Columns("A:A").Select
    Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
    Range("A8").Select
    ActiveCell.FormulaR1C1 = sfile 'add date
    Range("A8").Select
    Selection.AutoFill Destination:=Range("A8:A344"), Type:=xlFillCopy
    Range("A8:A107").Select
    Range("A344").Select
    Range("A8:O150").Select
    Range("A150").Activate
    ActiveWindow.SmallScroll Down:=-24
    Selection.Copy
    Windows("Inventory" & Masterfile & ".xlsm").Activate
    ActiveWindow.SmallScroll Down:=-6
    Range("A401:A500").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = 65535
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
    Windows(sfile4 & ".xlsx").Activate
    Windows(sfile4 & ".xlsx").Close

End If

Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
回复  

使用道具 举报

66#
发表于 27-9-2015 16:39:50 | 只看该作者
thank you for sharing! it is so useful!
回复  

使用道具 举报

您需要登录后才可以回帖 登录 | FreeOZ用户注册

本版积分规则

小黑屋|手机版|Archiver|FreeOZ论坛

GMT+11, 21-10-2024 19:02 , Processed in 0.041529 second(s), 22 queries , Gzip On, Redis On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表