
Sub usa()
Dim BoR, WokeR
Dim WorkLike, Area, Weight, AllArea, AllWeight, AllBo
Dim LikeID(), LikeIDst(), LikeIDwi()
ReDim LikeID(9)
LikeIDst() = Array(1, 3, 5, 9, 13, 17, 19, 20, 21, 24)
LikeIDwi() = Array(2, 2, 2, 4, 4, 2, 1, 1, 3, 3)
For j = 1 To 2
AllBo = 0: AllArea = 0: AllWeight = 0
BoR = Sheets("编码")Cells(65536, j)End(3)Row
WorkLike = Left(Sheets("编码")Cells(1, j), 2)
If Sheets(WorkLike & "生产计划单")[B65536]End(3)Row > 5 Then
Sheets(WorkLike & "生产计划单")Rows("6:" & Sheets(WorkLike & "生产计划单")[B65536]End(3)Row)Delete
End If
Sheets(WorkLike & "生产计划单")Range("A6:E6") = ""
For k = 2 To BoR
WokeR = Sheets(WorkLike & "生产计划单")[B65536]End(3)Row + 1
With Sheets("编码")
For i = 0 To UBound(LikeID())
LikeID(i) = Mid(Cells(k, j), LikeIDst(i), LikeIDwi(i))
Next
End With
With Sheets(WorkLike & "生产计划单")
[C4] = Format(Now(), "日 期:yyyy年mm月dd日 hh时mm分 aaaa")
Rows(WokeR)Insert Shift:=xlDown
Cells(WokeR, 2) = ApplicationWorksheetFunctionVLookup(LikeID(1), Sheets("颜色")Range("A:B"), 2, 0) & " " & _
LikeID(2) 1 & "-" & LikeID(3) 1 & "" & LikeID(4) 1 & "/" & LikeID(8) 1 & " " & _
ApplicationWorksheetFunctionVLookup(LikeID(5), Sheets("等级")Range("A:B"), 2, 0) & " " & _
ApplicationWorksheetFunctionVLookup(LikeID(6), Sheets("包装")Range("A:B"), 2, 0) & _
"/" & ApplicationWorksheetFunctionVLookup(LikeID(7), Sheets("隔离层")Range("A:B"), 2, 0)
Cells(WokeR, 3) = LikeID(9) 1
AllBo = AllBo + LikeID(9) 1
Area = LikeID(3) / 1000 LikeID(4) / 1000
AllArea = AllArea + Area LikeID(8) LikeID(9)
Weight = LikeID(2) / 1000 LikeID(3) / 1000 LikeID(4) / 1000 25
AllWeight = AllWeight + Weight LikeID(8) LikeID(9)
Cells(WokeR + 1, 1) = "合计:"
Cells(WokeR + 1, 3) = AllBo
Cells(WokeR + 1, 4) = "合计:" & AllArea & "㎡ 净重" & Format(AllWeight, "000") & "吨"
End With
Next
Next
End Sub
等了一天一楼没有回答。一楼搞好了没?手痒。我先交了。
还有,我改了表格格式,看可以不?
再说了,你的厚度的哪个是不是圈错了,还是打错了。600MM的厚度。有生产这么厚的玻璃吗?
对了,考虑一个工厂发展与客户的要求,不只会生产这几个等级和规格等,我把他们分开表了,只要增加上内容就可以自动填写。
还有,能加分不。写得挺辛苦的。
Excel里的VBA是Visual Basic的一种宏语言。VBA是微软开发出来在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。主要能用来扩展Windows的应用程序功能,特别是Microsoft Office软件。也可说是一种应用程式视觉化的Basic 脚本。
掌握了VBA,可以发挥以下作用:
1规范用户的 *** 作,控制用户的 *** 作行为;
2 *** 作界面人性化,方便用户的 *** 作;
3多个步骤的手工 *** 作通过执行VBA代码可以迅速的实现;
4实现一些VB无法实现的功能。
5用VBA制做EXCEL登录系统。
6利用VBA可以Excel内轻松开发出功能强大的自动化程序。
扩展资料:
宏语言VBA 适用于在Office 2000 中的所有应用程序,包括Word 、 Excel、PowerPoint、Access、Outlook 以及Project。在Office 97 的各应用程序中,新增了Visual Basic 编辑器。这样,用户无论是在Excel 中,还是在Word 中以至是在Access 中建立和管理VBA 都具有统一的方法和标准。
VBA可以访问许多 *** 作系统函数并支持文档打开时自动执行宏。这使得用这种语言写计算机病毒成为可能。1990年代中后期,宏病毒成为了最流行的计算机病毒类型之一。其它的包括宏语言的项目,如OpenOfficeorg,故意从其宏语言中排除了一些功能(如:自动执行)以避免破坏程序。然而,这一特性在很多事务中受到欢迎。
VBA 是基于Visual Basic 发展而来的,它们具有相似的语言结构。Visual Basic 是Microsoft 的主要图形界面开发工具,VBA 50 (亦即VBA 97)则是Visual Basic 50 的子集。Visual Basic 是由Basic 发展而来的第四代语言。Visual Basic 作为一套独立的 Windows 系统开发工具,可用于开发Windows 环境下的各类应用程序,是一种可视化的、面向对象的、采用事件驱动方式的结构化高级程序设计语言。它具有高效率、简单易学及功能强大的特点。
-VBA
Chart 对象成员
代表工作簿中的图表。
方法
名称 说明
Activate 使当前图表成为活动图表。
ApplyChartTemplate 将标准图表类型或自定义图表类型应用于图表。
ApplyDataLabels 将数据标签应用到图表中的所有系列。
ApplyLayout 应用功能区中显示的版式。
Axes 返回一个代表图表上单个坐标轴或坐标轴集合的某个对象。
ChartGroups 返回一个对象,该对象表示图表中单个图表组(ChartGroup 对象)或所有图表组的集合(ChartGroups 对象)。返回的集合中包括每种类型的图表组。
ChartObjects 返回一个对象,它代表工作表上的一个嵌入式图表(ChartObject 对象)或所有嵌入式图表的集合(ChartObjects 对象)。
ChartWizard 修改给定图表的属性。可使用本方法快速设置图表的格式,而不必逐个设置所有属性。本方法是非交互式的,并且仅更改指定的属性。
CheckSpelling 检查对象的拼写。
Copy 将工作表复制到工作簿的另一位置。
CopyPicture 将所选对象作为复制到剪贴板。
Delete 删除对象。
Deselect 取消对指定图表的选定。
Evaluate 将一个 Microsoft Excel 名称转换为一个对象或者一个值。
Export 以图形格式导出图表。
ExportAsFixedFormat 导出为指定格式的文件。
GetChartElement 返回指定的 X 坐标和 Y 坐标上图表元素的信息。本方法稍有与众不同之处:调用时只须指定前两个参数,在本方法执行期间,Microsoft Excel 为其余参数赋值,本方法返回后应检验这些参数的值。
Location 将图表移动到新位置。
Move 将图表移到工作簿的另一位置。
OLEObjects 返回一个对象,它代表图表或工作表上的单个 OLE 对象 (OLEObject ) 或所有 OLE 对象的集合(OLEObjects 集合)。只读。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)