ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: leaf

[讨论] Excel实用技巧接龙游戏!

[复制链接]

TA的精华主题

TA的得分主题

发表于 2002-12-10 16:22 | 显示全部楼层
以下是引用半榻茶烟在2002-12-10 2:09:03的发言: 超快速复制公式: 要复制大量公式如几千上万行,选择第二行窗口冻结,将最后一行提至第二行,将公式拖至第二行,OK!
实际上,只要公式单元格的边上有数据,你选中有公式的单元格,双击“+”后,公式就自动复制到空白单元格为止哦!

TA的精华主题

TA的得分主题

发表于 2002-12-13 20:35 | 显示全部楼层
公式虽然好用,但是如果sheet太多了,文件就变大了,运行速度就变得很慢,还容易死机。我在做电脑之供应链成本分析时,常常要将2~3百个Model之物料清单于价格库同时做整理分析。原来我用公式,仅仅1个excel File之体重就达38.4M(并且还去掉了所有无关的格式并不保存数据连接),我刚换的P4 2.0G的PC也不堪重负。更别说做多表和多文件的数据条件汇总了。最近我自己编了一个宏,更新数据时只保留数值,并达到多表条件汇总的目的(功能描述)[在File1中包含N个Model(一个ModelName即为一张Sheet.name,每个Model有M张线路板,File2中集中了所有460多张线路板之物料清单,每张线路板名为sheet.name.单独有一张sheet为每个Model所包含的线路板清单,我们的目的是要将所有物料清单分类价格汇总<包括每颗物料之详细价格波动情况>),我的程序仅仅在于提供参考。 Sub FPP_Cha() '更新Chassis FPP Dim i, j As Integer Dim a, b, c, d, e, f, g, h, a1, b1, c1, d1, e1, f1, g1, h1 As Long Dim DutyMB, DutyVB, DutyCB, DutyHB, DutyTB, DutyDB, DutyLED, DutyMisc As Long Dim MB, VB, CB, HB, TB, DB, LED, MISC, modelName, fppFileName, detailFileName As String fppFileName = Application.InputBox(prompt:="请输入FPP文件名", Title:="输入文件名", Default:="FPP_Brand_Exp.xls", Type:=2) detailFileName = Application.InputBox(prompt:="请输入Detail之Chassis文件名", Title:="输入文件名", Default:="Cha_Exp.xls", Type:=2) Windows(fppFileName).Activate '激活FPP_Brand_Exp.xls Sheets("Model List").Select '选择Model List Sheet For j = 2 To 2000 modelName = Sheets("Model List").cells(j, 1).Value '读取Model Name If modelName = "" Or 0 Then Exit For MB = Sheets("Model List").cells(j, 3).Value '定义各Model包含之Chassis VB = Sheets("Model List").cells(j, 4).Value CB = Sheets("Model List").cells(j, 5).Value HB = Sheets("Model List").cells(j, 6).Value TB = Sheets("Model List").cells(j, 7).Value DB = Sheets("Model List").cells(j, 8).Value LED = Sheets("Model List").cells(j, 9).Value MISC = Sheets("Model List").cells(j, 10).Value For i = 8 To 37 '读取Chassis各Group Qty值 Windows(detailFileName).Activate '激活detailFileName If MB = "" Then a = 0 a1 = 0 DutyMB = 0 Else a = Val(Sheets(MB).cells(i - 6, 15).Value) If VarType(Sheets(MB).cells(i - 6, 16).Value) = 5 Then a1 = Val(Sheets(MB).cells(i - 6, 16).Value) Else a1 = 500 End If If VarType(Sheets(MB).Range("Q35").Value) = 5 Then DutyMB = Sheets(MB).Range("Q35").Value Else DutyMB = 500 End If End If If VB = "" Then b = 0 b1 = 0 DutyVB = 0 Else b = Val(Sheets(VB).cells(i - 6, 15).Value) If VarType(Sheets(VB).cells(i - 6, 16).Value) = 5 Then b1 = Val(Sheets(VB).cells(i - 6, 16).Value) Else b1 = 500 End If If VarType(Sheets(VB).Range("Q35").Value) = 5 Then DutyVB = Sheets(VB).Range("Q35").Value Else DutyVB = 500 End If End If If CB = "" Then c = 0 c1 = 0 DutyCB = 0 Else c = Val(Sheets(CB).cells(i - 6, 15).Value) If VarType(Sheets(CB).cells(i - 6, 16).Value) = 5 Then c1 = Val(Sheets(CB).cells(i - 6, 16).Value) Else c1 = 500 End If If VarType(Sheets(CB).Range("Q35").Value) = 5 Then DutyCB = Sheets(CB).Range("Q35").Value Else DutyCB = 500 End If End If If HB = "" Then d = 0 d1 = 0 DutyHB = 0 Else d = Val(Sheets(HB).cells(i - 6, 15).Value) If VarType(Sheets(HB).cells(i - 6, 16).Value) = 5 Then d1 = Val(Sheets(HB).cells(i - 6, 16).Value) Else d1 = 500 End If If VarType(Sheets(HB).Range("Q35").Value) = 5 Then DutyHB = Sheets(HB).Range("Q35").Value Else DutyHB = 500 End If End If If TB = "" Then e = 0 e1 = 0 DutyTB = 0 Else e = Val(Sheets(TB).cells(i - 6, 15).Value) If VarType(Sheets(TB).cells(i - 6, 16).Value) = 5 Then e1 = Val(Sheets(TB).cells(i - 6, 16).Value) Else e1 = 500 End If If VarType(Sheets(TB).Range("Q35").Value) = 5 Then DutyTB = Sheets(TB).Range("Q35").Value Else DutyTB = 500 End If End If If DB = "" Then f = 0 f1 = 0 DutyDB = 0 Else f = Val(Sheets(DB).cells(i - 6, 15).Value) If VarType(Sheets(DB).cells(i - 6, 16).Value) = 5 Then f1 = Val(Sheets(DB).cells(i - 6, 16).Value) Else f1 = 500 End If If VarType(Sheets(DB).Range("Q35").Value) = 5 Then DutyDB = Sheets(DB).Range("Q35").Value Else DutyDB = 500 End If End If If LED = "" Then g = 0 g1 = 0 DutyLED = 0 Else g = Val(Sheets(LED).cells(i - 6, 15).Value) If VarType(Sheets(LED).cells(i - 6, 16).Value) = 5 Then g1 = Val(Sheets(LED).cells(i - 6, 16).Value) Else g1 = 500 End If If VarType(Sheets(LED).Range("Q35").Value) = 5 Then DutyLED = Sheets(LED).Range("Q35").Value Else DutyLED = 500 End If End If If MISC = "" Then h = 0 h1 = 0 DutyMisc = 0 Else h = Val(Sheets(MISC).cells(i - 6, 15).Value) If VarType(Sheets(MISC).cells(i - 6, 16).Value) = 5 Then h1 = Val(Sheets(MISC).cells(i - 6, 16).Value) Else h1 = 500 End If If VarType(Sheets(MISC).Range("Q35").Value) = 5 Then DutyMisc = Sheets(MISC).Range("Q35").Value Else DutyMisc = 500 End If End If Windows(fppFileName).Activate '激活FPP_Brand_Exp.xls Worksheets(modelName).Select '选择Model Name值对应之FPP Sheet cells(i, 27).Value = a + b + c + d + e + f + g + h '计算FPP值 If a1 = 500 Or b1 = 500 Or c1 = 500 Or d1 = 500 Or e1 = 500 Or f1 = 500 Or g1 = 500 Or h1 = 500 Then cells(i, 28).Value = "=NA()" Else cells(i, 28).Value = a1 + b1 + c1 + d1 + e1 + f1 + g1 + h1 End If If DutyMB = 500 Or DutyCB = 500 Or DutyVB = 500 Or DutyHB = 500 Or DutyTB = 500 Or DutyTB = 500 Or DutyDB = 500 Or DutyLED = 500 Or DutyMisc = 500 Then Range("CO22").Value = "=NA()" Else Range("CO22").Value = DutyMB + DutyVB + DutyCB + DutyHB + DutyTB + DutyDB + DutyLED + DutyMisc End If Next ActiveSheet.Calculate Next End Sub

TA的精华主题

TA的得分主题

发表于 2002-12-21 19:56 | 显示全部楼层
第一个帖子就这么牛,佩服!!

TA的精华主题

TA的得分主题

发表于 2002-12-21 19:57 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

我也来个!

Ctrl+9 隐藏行 Ctrl+0 隐藏列

TA的精华主题

TA的得分主题

发表于 2002-12-24 16:12 | 显示全部楼层
输入自动求和公式时,不用鼠标点按工具栏上的按钮, 只需按“Alt+=”即可。

TA的精华主题

TA的得分主题

发表于 2002-12-27 09:17 | 显示全部楼层
以下是引用yhcyd在2002-11-24 13:50:01的发言: 是在2000里用?
工作表标签颜色只能在OFFICE XP下使用,2000不支持的

TA的精华主题

TA的得分主题

发表于 2002-12-27 09:52 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
按住ctr+end去到本工作表的最尾端,很有用!用记录单好过用筛选!想请问各位高手,如何将“分类汇总”的结果一次性、直接复制到另外一张工作表中?请指教!多谢!

TA的精华主题

TA的得分主题

发表于 2002-12-27 10:14 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
-- 作者:ken.zeng -- 发布时间:2002-11-18 12:51:22 -- 将单元格复制成图片: 1 选择区域 2 按住SHIFT不放,点击编辑/复制图片 3 按自己的要求在弹出的对话框里选择 4 确定 粘贴图片 按住SHIFT不放,点击编辑/粘贴图片 --------------------------------------------好象不行!!

TA的精华主题

TA的得分主题

发表于 2002-12-27 10:44 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
以下是引用zhang0756在2002-12-27 10:14:48的发言: --  作者:ken.zeng 。。。。。 粘贴图片 按住SHIFT不放,点击编辑/粘贴图片 --------------------------------------------好象不行!!
如果不行,可能是你操作不到位。 我试是可以的!

TA的精华主题

TA的得分主题

发表于 2002-12-31 15:38 | 显示全部楼层
在一行中填写数据时,经常要快速移动光标到行首或行尾,可以用HOME、CTRL+->
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-22 04:14 , Processed in 0.031391 second(s), 5 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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