ubound(ubound(arr)和ubound(arr,2))

前沿拓展:

ubound

a是数组,ubound是取数组下标上界的函数,还有另外一个相关函数lbound,是取数组下标下界的函数。

取数组的上下标,或者说数组横向、纵向各有多少的个值;

假设一个数组:arr (a1,a2,b1,b2,c1,c2)

a = UBound(arr, 1) 第二个参数=1,表示取数组的纵向有多少个值,a=3

b = UBound(arr, 2) 第二个参数=2,表示取数组的横向有多少个值,b=2

在VB中,史生面盾叶济题刑过山色注释有2种方式。

1、以Rem关键字开头,并且Rem下击候普例频满关键字与注释内容之间要加一个空格。水学该注释可以是单独的一行,也可以写在其他语句行的后面。如果在其他语句行后使用Rem关键字,则必须使用冒号(:)与语句隔开。

2、食主速飞观对蒸斤切使用一个撇号(')来代替Rem关键字。若使用撇号,则在其他语句行使用时不必加冒号。

以上内容六答集奏李思排状构参考:百度百科-Visual Basic


劳动密集性企业有一个很重要的工资结算方法,那就是计件工资。

对于一些人员岗位不固定,计件金额不固定等情况下,工资的计算是一个十分麻烦的事情。

本文将介绍一个计件工资统计结算的解决方法。

ubound(ubound(arr)和ubound(arr,2))

上图为**作主页

几个功能按钮,和一个列表框,列表框内是分别不同生产线或者车间单元工作表。

这里制作了一个自动生成工作表的功能,如下图所示:

ubound(ubound(arr)和ubound(arr,2))

由于员工不是固定的,工作步序也不是固定的,如休实现不同工段,日期和生产型号款式进行人员添加,最终形成生产工资结算表。

新建工资表实际上是窗体中的一些信息,进行工作表的构建过程。

根据窗体表单中各控件的值,进行工作表内容的添加**作,重点问题在于对于工作表的不同单元格准确**,并做一些公式添加和合并等。

最终效果如下图所示:

ubound(ubound(arr)和ubound(arr,2))

根据生成的结算表,我们将统计出某人在不同工段的生产工作,自动计算出其某月的工资。

如下图所示:

ubound(ubound(arr)和ubound(arr,2))

这样,就把非固定人员在非固定岗位进行的工作准确地统计出来了,解决了计件工资统计工作的一个麻烦。

十分适用于人员流动性大,工序复杂的工厂进行工资结算。

ubound(ubound(arr)和ubound(arr,2))

代码:

Private Sub SelectSheetList(xSheet As Worksheet, xStr As String)
'查询姓名 款式表内容
Application.ScreenUpdating = False
Dim s As Worksheet
Set s = ActiveSheet
Dim xArr, xi As Long
Dim ir As Long, ic As Long, sc As Long
xArr = xSheet.Range("A1").CurrentRegion
ir = xSheet.Cells(xSheet.Rows.Count, 1).End(xlUp).Row
ic = 1
For xi = LBound(xArr, 1) To UBound(xArr, 1)
If xArr(xi, ic) = xStr Then '如果找到了
For sc = 3 To UBound(xArr, 2) – 1
If xArr(xi, sc) <> 0 Then '如果有计件
'添加计件数
s.Rows(4).Insert
s.Range("A4").Value = xSheet.Name
s.Range("B4").Value = xArr(3, sc)
s.Range("C4").Value = xArr(xi, sc)
s.Range("D4").Value = xArr(xi, sc) * xArr(4, sc)
End If
Next sc
End If
Next xi
Erase xArr
Set s = Nothing
Application.ScreenUpdating = True
End Sub

本文示例是为解决实际问题而编写的,不过可以根据不同工厂需求进行扩展应用。

欢迎关注、收藏

—END—

拓展知识:

前沿拓展:

ubound

a是数组,ubound是取数组下标上界的函数,还有另外一个相关函数lbound,是取数组下标下界的函数。

取数组的上下标,或者说数组横向、纵向各有多少的个值;

假设一个数组:arr (a1,a2,b1,b2,c1,c2)

a = UBound(arr, 1) 第二个参数=1,表示取数组的纵向有多少个值,a=3

b = UBound(arr, 2) 第二个参数=2,表示取数组的横向有多少个值,b=2

在VB中,史生面盾叶济题刑过山色注释有2种方式。

1、以Rem关键字开头,并且Rem下击候普例频满关键字与注释内容之间要加一个空格。水学该注释可以是单独的一行,也可以写在其他语句行的后面。如果在其他语句行后使用Rem关键字,则必须使用冒号(:)与语句隔开。

2、食主速飞观对蒸斤切使用一个撇号(')来代替Rem关键字。若使用撇号,则在其他语句行使用时不必加冒号。

以上内容六答集奏李思排状构参考:百度百科-Visual Basic


劳动密集性企业有一个很重要的工资结算方法,那就是计件工资。

对于一些人员岗位不固定,计件金额不固定等情况下,工资的计算是一个十分麻烦的事情。

本文将介绍一个计件工资统计结算的解决方法。

ubound(ubound(arr)和ubound(arr,2))

上图为**作主页

几个功能按钮,和一个列表框,列表框内是分别不同生产线或者车间单元工作表。

这里制作了一个自动生成工作表的功能,如下图所示:

ubound(ubound(arr)和ubound(arr,2))

由于员工不是固定的,工作步序也不是固定的,如休实现不同工段,日期和生产型号款式进行人员添加,最终形成生产工资结算表。

新建工资表实际上是窗体中的一些信息,进行工作表的构建过程。

根据窗体表单中各控件的值,进行工作表内容的添加**作,重点问题在于对于工作表的不同单元格准确**,并做一些公式添加和合并等。

最终效果如下图所示:

ubound(ubound(arr)和ubound(arr,2))

根据生成的结算表,我们将统计出某人在不同工段的生产工作,自动计算出其某月的工资。

如下图所示:

ubound(ubound(arr)和ubound(arr,2))

这样,就把非固定人员在非固定岗位进行的工作准确地统计出来了,解决了计件工资统计工作的一个麻烦。

十分适用于人员流动性大,工序复杂的工厂进行工资结算。

ubound(ubound(arr)和ubound(arr,2))

代码:

Private Sub SelectSheetList(xSheet As Worksheet, xStr As String)
'查询姓名 款式表内容
Application.ScreenUpdating = False
Dim s As Worksheet
Set s = ActiveSheet
Dim xArr, xi As Long
Dim ir As Long, ic As Long, sc As Long
xArr = xSheet.Range("A1").CurrentRegion
ir = xSheet.Cells(xSheet.Rows.Count, 1).End(xlUp).Row
ic = 1
For xi = LBound(xArr, 1) To UBound(xArr, 1)
If xArr(xi, ic) = xStr Then '如果找到了
For sc = 3 To UBound(xArr, 2) – 1
If xArr(xi, sc) <> 0 Then '如果有计件
'添加计件数
s.Rows(4).Insert
s.Range("A4").Value = xSheet.Name
s.Range("B4").Value = xArr(3, sc)
s.Range("C4").Value = xArr(xi, sc)
s.Range("D4").Value = xArr(xi, sc) * xArr(4, sc)
End If
Next sc
End If
Next xi
Erase xArr
Set s = Nothing
Application.ScreenUpdating = True
End Sub

本文示例是为解决实际问题而编写的,不过可以根据不同工厂需求进行扩展应用。

欢迎关注、收藏

—END—

拓展知识:

原创文章,作者:九贤生活小编,如若转载,请注明出处:http://www.wangguangwei.com/6924.html