




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Function OpenExcelFile(sPath As String, ByVal sFileName As String, bDisplay As Boolean, sPwd As String) As Integer许长安 时间: 2016-2-4打开Excel文件参数说明:sPath:文件绝对路径;sFileName:Excel文件名;bDisplay:True显示错误信息;sPwd:文件打开密码返回值:-1:同名文件已经打开;-2:文件不存在或密码错误;0:成功打开;1:文件已经被打开Dim bOpen As BooleanDim sFullName As StringOn Error Resume NextIf InStr(LCase(sFileName), .xls) = 0 Then sFileName = sFileName & .xlssFullName = Workbooks(sFileName).FullName检查是否已经打开同名的Excel文件如果有sFullName不为空On Error GoTo 0bOpen = FalseIf sFullName ThenIf LCase(sFullName) = LCase(sPath & & sFileName) ThenbOpen = True判断已经打开的同名文件是否本次需要打开的文件OpenExcelFile = 1文件已经被打开MsgBox 请首先关闭“ & sFileName & ”文件! & Chr(13) & 不能同时打开同名文件,这是Excel的规定!, vbOKOnly + vbExclamation, 文件的打开错误ElseIf bDisplay ThenMsgBox 请首先关闭“ & sFileName & ”文件! & Chr(13) & 不能同时打开同名文件,这是Excel的规定!, vbOKOnly + vbExclamation, 文件的打开错误End IfbOpen = TrueOpenExcelFile = -1不能同时打开同名文件,这是Excel的规定End IfEnd IfIf Not bOpen ThenOn Error GoTo errOpenWorkbooks.Open FileName:=sPath & & sFileName, Password:=sPwdOn Error GoTo 0OpenExcelFile = 0成功打开文件End IfExit FunctionerrOpen:If bDisplay Then MsgBox Err.Description, vbOKOnly + vbExclamation, 文件的打开错误OpenExcelFile = -2文件不存在或密码错误On Error GoTo 0End FunctionSub fileproce() Macro5 Macro 宏由 许长安 录制,时间: 2016-2-28MergeArea.Rows.CountMergeArea.Columns.CountRange(B7:B28).Selectrow = ActiveCell.row()col = ActiveCell.Column() Dim i, h As Long Dim row, col, rangrows, countrows As Long i = 0 countrows = ActiveCell.row() MsgBox 当前文件总并行数: & countrows & !rangrows = Cells(row, col).MergeArea.Rows.Count 从B列第7行开始Range(B7:B & rangrows).SelectMsgBox B7当前合并行数: & rangrows & ! row = 7 定义起始行数 col = 2 定义从B列开始Do While row ActiveSheet.UsedRange.Rows.Count() 设定总行数Range(B & row & :B & row).SelectIf Range(B & row).MergeCells Then With Selection .HorizontalAlignment = xlGeneral .VerticalAlignment = xlCenter .WrapText = True .Orientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit = False .ReadingOrder = xlContext .MergeCells = True End With rangrows = Cells(row, col).MergeArea.Rows.Count 返回当前合并格行数 Selection.UnMerge 撤销合并格 Do While i rangrows - 1 将撤销合并格后空格赋合并前的数值 Range(B & row + i).Select Selection.Copy Range(B & row + i + 1).Select ActiveSheet.Paste i = i + 1 Loop row = row + iEnd Ifi = 0row = row + 1LoopRange(B7).SelectEnd SubSub 读取日成本异常数据() 读取日成本异常数据 Macro 宏由 许长安 录制,时间: 2016-2-25 Range(C7).Select Application.WindowState = xlMaximized Windows(钢后实际价汇总_到钢种.xls).Activate Dim i, h, m, n, j, k As Integer Dim sFullPath As String Dim sFileName As String Dim MyFile As Object col = 17 row = 2 以下测试 日期控件 Cells(1, 13) = DTPicker1.Value MsgBox DTPicker1.Value With ActiveWorkbook.Worksheet MsgBox Sheets(Sheet1).DTPicker1.Value MsgBox CStr(Sheets(Sheet1).DTPicker1.Value) MsgBox Format(Sheets(Sheet1).DTPicker1.Value, yyyymmdd) sFileName = 钢后实际价汇总_到钢种 & Format(Sheets(Sheet1).DTPicker1.Value, yyyymmdd) MsgBox sFileName End With sFileName = 钢后实际价汇总_到钢种 & Format(DTPicker1.Value, yyyymmdd) 指定需要拷贝数据的日期 以上测试日期控件 Set MyFile = CreateObject(Scripting.FileSystemObject) sFullPath = ThisWorkbook.Path 返回当前文件路径 Format(Date, yyyy年m月d日) 当前年月日 oFileName = 钢后实际价汇总_到钢种 oFileName = ActiveWorkbook.Name sFileName = 钢后实际价汇总_到钢种 & Format(Date - 1, yyyymmdd) 指定需要拷贝数据的日期 sFileName = 钢后实际价汇总_到钢种 & Format(Sheets(Sheet1).DTPicker1.Value, yyyymmdd) 指定需要拷贝数据的日期 MsgBox (Prompt ,Buttons ,Title ,Helpfile,Context) MsgBox sFullPath & sFileName & .xls MsgBox 当前打开的文件: & oFileName k = MsgBox(sFullPath & sFileName & .xls, 1, 提示:即将打开的文件!) If k = 2 Then Exit Sub 退出本程序 End If If MyFile.FileExists(sFullPath & & sFileName & .xls) = True Then 判定指定文件是否存在 i = OpenExcelFile(sFullPath, sFileName, 1, ) 打开数据源文件 Else MsgBox 指定文件: & sFileName & 不存在! Exit Sub Application.Quit 退出当前应用程序 End If Windows(sFileName).Activate 激活数据源文件 fileproce 调用过程:处理原始文件 Windows(钢后实际价汇总_到钢种.xls).Activate MsgBox ActiveSheet.UsedRange.Rows.Count() 当前工作表总行数 开始复制数据: j = 7 原始数据表第7行开始 Windows(sFileName & .xls).Activate m = ActiveSheet.UsedRange.Rows.Count() 原始数据表总行数 Windows(oFileName & .xls).Activate n = ActiveSheet.UsedRange.Rows.Count() 目标数据表总行数 Do While j m 31 测试用 实际用 0.05 Or fff 0 And Cells(j, 16).Value And Cells(j, 4).Value Then 数据计较 且不能为空 时 Range(B & j & : & I & j).Select Selection.Copy Windows(oFileName & .xls).Activate Range(B & n + 1).Select ActiveSheet.Paste Windows(sFileName & .xls).Activate Range(P & j & : & Q & j).Select Selection.Copy Windows(oFileName & .xls).Activate Range(J & n + 1).Select Range(J & n + 1 & : & K & n + 1).Select ActiveSheet.Paste 填上颜色 Range(J & n + 1).Select If Format(Cells(n + 1, 10), #,#0.000) 0.1 Or Format(Cells(n + 1, 10), #,#0.000) 0.1 Or Format(Cells(n + 1, 11), #,#0.000) 0.05 Or Format(Cells(n + 1, 11), #,#0.000) -0.05 Then Selection.Interior.ColorIndex = 36 置为黄色 Else Selection.Interior.ColorIndex = 35 置为蓝色 End If Cells(n + 1, 1).Value = Format(Date - 1, yyyymmdd) 记录指定需要拷贝数据的日期 Cells(n + 1, 1).Value = Format(Sheets(Sheet1).DTPicker1.Value, yyyymmdd) 记录指定需要拷贝数据的日期 Range(A & n - 1 & : & A & n - 1).Select Selection.Copy Range(A & n + 1).Select Selection.PasteSpecial Paste:=xlPasteFormats,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医疗质量安全专项整治行动方案培训
- 教师招聘之《幼儿教师招聘》能力提升打印大全附答案详解(预热题)
- 2025年环境监测物联网在环境监测领域的跨学科研究与应用报告
- 合肥市税源管理困境剖析与优化路径探究
- 量子通信(第二版)课件 第21讲 量子信道编码(II)2025-0507-1635
- 乐至县至弘发展集团有限公司2025年度员工招聘调整部分岗位笔试备考及答案详解(名师系列)
- 企业盈利模式分析-以片仔癀为例
- 2025年时事政治热点题库含答案
- 教师招聘之《小学教师招聘》自测题库附完整答案详解【名师系列】
- 呼伦贝尔能源重化工工业园区谢尔塔拉产业区污水处理工程初步设计说明书及1套参考答案详解
- 2025届河南省五市高三第一次联考生物试题(原卷版+解析版)
- T-BSRS 128-2024 核医学放射性废液快速处理技术要求
- 《血小板功能障碍与血栓形成》课件
- 《融资攻略》课件
- TCTBA 005-2024 TCECA-G 0326-2024 合同能源管理招标规范 轨道交通
- 工勤岗转管理岗申请书
- 特种设备定期检验与维护管理
- 《陕西省分布的国家重点保护野生植物名录》
- 2025年国网数科控股公司招聘高校毕业生37人(第一批)高频重点提升(共500题)附带答案详解
- 食管肿瘤护理查房
- 2024公路水运工程工地建设标准化指南
评论
0/150
提交评论