Excel VBA
文章平均质量分 54
lxljw1314
主要从事bi领域的开发工作
展开
-
Excel VBA 代替Sumproduct实现多条件求和
因为用函数公式,如果数据量大的话,会影响效率,而且会增加文件本身大小,所以想用vba代码替代。以下代码用来实现函数公式sumproduct的功能,实现多条件求和。Private Sub 多条件求和() Dim d, ar, arr, s$, t$, i& Set d = CreateObject("Scripting.Dictionary") ar = Rang原创 2013-08-26 15:11:57 · 14826 阅读 · 0 评论 -
Excel VBA 根据日期汇总统计另一字段非重复值的个数
Sub lqxs()Dim Arr, i&, x, y, zDim d, k, tSet d = CreateObject("Scripting.Dictionary")Set s = CreateObject("Scripting.Dictionary")Sheet1.Activate[f:g].ClearContentsArr = [a1].CurrentRegio原创 2013-09-02 23:52:20 · 2327 阅读 · 0 评论 -
Excel VBA 复制固定表格到活动工作表的指定区域
Sub copygrid() '复制表格 Dim i&, t& t = ActiveSheet.[a65536].End(xlUp).Row For i = 1 To t If ActiveSheet.Range("b" & i).MergeCells = True And ActiveSheet.Range("a" & i) Sheets(6).Ra原创 2013-08-29 15:24:50 · 5564 阅读 · 0 评论 -
Excel VBA 获取指定路径下的图片名称(带后缀)/(不带后缀)/跳出选择路径对话框手动选择路径
Sub getpicname() '获取指定路径下的图片名称 myDir = "C:\Lx\all" n = 1 Filename = Dir(myDir & "\*.jpg") Do While Filename Cells(n, 1) = Filename Filename = Dir n = n + 1原创 2013-08-26 18:07:33 · 4526 阅读 · 0 评论 -
Excel VBA 删除Excel中的所有图片
Sub deletepic()Dim pic As ShapeFor Each pic In ActiveSheet.Shapespic.DeleteNextEnd Sub原创 2013-08-28 20:39:20 · 16255 阅读 · 0 评论 -
Excel VBA 将当前活动工作表中的图片保存到以工作表名称命名的文件夹内
Sub exportpic() '将当前活动工作表中的图片保存到以工作表名称命名的文件夹内Dim sn, path As String, j%sn = ActiveSheet.namepath = "C:\Lx\all\"For j = 1 To ActiveSheet.Shapes.CountActiveSheet.Shapes(j).SelectIf ActiveShe原创 2013-08-28 13:30:38 · 4847 阅读 · 0 评论 -
Excel VBA 根据图片名称插入对应图片
Sub insertpic() '根据图片名称插入对应图片Dim r As Long, i As Longr = [a65536].End(xlUp).RowFor i = 1 To r If Dir("C:\Lx\all" & "\" & Cells(i, 1) & ".jpg") With ActiveSheet.Pictures.Insert("C:原创 2013-08-26 18:08:42 · 9646 阅读 · 1 评论 -
Excel VBA 根据sheet名称创建相应的文件夹
Sub createfolsavepic() '根据sheet名称创建相应的文件夹并保存每个sheet中的图片到对应文件夹中Set fol = CreateObject("scripting.filesystemobject")Dim ws As WorksheetPath = "C:\Lx\all\"For Each ws In WorksheetsIf fol.folder原创 2013-08-28 13:33:22 · 1716 阅读 · 0 评论 -
Excel VBA 根据实际需求合并单元格
Sub merge() '根据实际需求合并单元格H = ActiveSheet.[a65536].End(xlUp).RowFor i = 1 To HIf ActiveSheet.Range("a" & i) NextEnd Sub原创 2013-08-28 11:17:13 · 1148 阅读 · 0 评论 -
Excel VBA 根据合并单元格大小调整图片大小
Sub adjustpic() '根据合并单元格大小调整图片大小Dim Pic As ShapeFor Each Pic In ActiveSheet.Shapes If Pic.TopLeftCell.MergeCells = True Then Set cc = Pic.TopLeftCell.MergeArea Pic.LockAspec原创 2013-08-26 22:50:15 · 4707 阅读 · 2 评论 -
Excel VBA 在立即窗口打印出所有shape的名称
Sub printshapesname()Z = ActiveSheet.Shapes.CountFor s = 1 To ActiveSheet.Shapes.CountDebug.Print ActiveSheet.Shapes(s).NameNextEnd Sub原创 2013-08-27 10:33:33 · 3873 阅读 · 0 评论 -
Excel VBA 调整图片高度宽度等于单元格高度宽度
'调整图片高度宽度等于单元格宽度Sub setpic()Dim Pic As Shape For Each Pic In Sheet5.Shapes Pic.LockAspectRatio = msoFalse Pic.Top = Pic.TopLeftCell.Top Pic.Left = Pic.TopLeftCell.L原创 2013-08-26 18:12:34 · 4137 阅读 · 0 评论 -
偶然发现的cmd命令dir
百度东西的时候偶然发现cmd命令的dir用法,批量获取图片名称: 打开cmd窗口,cd到目标文件夹,例如:cd:\Lx\all 输入命令: dir *.jpg/on >list.xls 功能:将以.jpg后缀的图片文件的名称取出来放到excel里(list可以改为自己想要的excel名称) 打开excel,利用分列的功能,可以直接获得所有图片的名称。原创 2013-08-23 16:49:46 · 1183 阅读 · 0 评论 -
Excel VBA 获取指定路径下的文件夹名称
Sub getfoldername() '获取指定路径下的文件夹名称Dim fs As Objectn = 1Set fs = CreateObject("Scripting.FileSystemObject")Set f = fs.getfolder("C:\Lx\all")For Each fd In f.subfoldersCells(n, 1) = fd.Name原创 2013-08-26 18:06:40 · 14494 阅读 · 0 评论 -
Excel VBA 多条件查询
用以下两个公式都可以实现多条件查询,同样也可以用VBA代码来实现函数公式1: '=INDEX(Sheet3!$F$2:$F$20,MATCH(B2&C2&D2&E2,Sheet3!$B$2:$B$20&Sheet3!$C$2:$C$20&Sheet3!$D$2:$D$20&Sheet3!$E$2:$E$20,0))函数公式2: '=LOOKUP(1,0/(B3&C3&D3&E3=stock原创 2013-08-26 15:19:12 · 13665 阅读 · 0 评论 -
Excel VBA 调整图片高度宽度等于所在单元格高度宽度
'调整图片高度宽度等于单元格高度宽度Sub setpic()Dim Pic As Shape For Each Pic In Sheet5.Shapes Pic.LockAspectRatio = msoFalse Pic.Top = Pic.TopLeftCell.Top Pic.Left = Pic.TopLeftCell原创 2013-08-26 14:48:37 · 3027 阅读 · 0 评论 -
Excel VBA 根据筛选条件自动汇总统计(for 铁虎)
Sub st1() Dim r&, i& Dim arr, brr Dim x, y, z, t, k Set d = CreateObject("scripting.dictionary") Set d2 = CreateObject("scripting.dictionary") Set s = CreateObject("scrip原创 2013-09-02 23:54:29 · 8803 阅读 · 0 评论