产量记录管理,本文内容中关于产量录入,统计的一些基本功能。 如需要,可及时收藏备用。 上图为录入页,形式简单只有相关人员日期和数量,如果需要可以再进行添加。 上图为统计表,可以对某人的某个月进行记录统计,实际上也算一个查询的功能。 上图为月度统计表。 每月统计数据实现统计计算。 代码 数据录入Sub录入信息()OnErrorResumeNextDimxArr(1To4)xArr(1)Range(D3)。ValuexArr(2)Range(F3)。ValuexArr(3)Range(D4)。ValuexArr(4)Range(F4)。ValueDimsAsWorksheetSetsThisWorkbook。Worksheets(产量统计表)DimirAsInteger,icAsIntegerir3ic4s。Cells(ir,1)。Resize(1,ic)。Insertshift:xlShiftDownWiths。Cells(ir,1)。Resize(1,ic)。Clear。ClearFormats。RowHeight18。HorizontalAlignmentxlCenter。VerticalAlignmentxlCenter。Borders。LineStyle1。Item(1)。NumberFormatyyyymmdd。ValuexArrEndWithirs。Cells(s。Rows。Count,1)。End(xlUp)。Rows。Cells(ir,3)。FormulaSum(C3:Cir1)s。Cells(ir,4)。FormulaSum(D3:Dir1)SetsNothingErasexArrEndSub 个人统计Sub个人搜索()OnErrorResumeNextDimxNameAsString,xCountAAsDouble,xCountBAsDouble,xMouthAsIntegerDimsAsWorksheetSetsActiveSheetDelCellssxNameVBA。UCase(VBA。Trim(Range(F2)。Value))IfVBA。Len(xName)0ThenExitSubIfNotVBA。IsNumeric(s。Range(F3)。Value)ThenMsgBox月份错误!请输入112之间数字:ExitSubxMouthRange(F3)。ValueIfxMouth12ThenMsgBox月份错误!请输入112之间数字:ExitSubDimxRAsRange,rAsRangeDimxArr,irAsLong,icAsLong,iAsLong,eirAsLongxArrs。Range(A2)。CurrentRegionirUBound(xArr,1)ic2ForiLBound(xArr,1)1ToirIfVBA。IsDate(xArr(i,1))ThenIfxMouthVBA。DatePart(m,xArr(i,1))ThenIfVBA。DatePart(d,xArr(i,1))26ThenIfVBA。UCase(xArr(i,2))xNameThenxCountAxCountAVBA。CDbl(xArr(i,3))xCountBxCountBVBA。CDbl(xArr(i,4))AddCellsxArr,s,iEndIfEndIfElseIfxMouth1VBA。DatePart(m,xArr(i,1))ThenIfVBA。DatePart(d,xArr(i,1))26ThenIfVBA。UCase(xArr(i,2))xNameThenxCountAxCountAVBA。CDbl(xArr(i,3))xCountBxCountBVBA。CDbl(xArr(i,4))AddCellsxArr,s,iEndIfEndIfEndIfEndIfNextieirs。Range(Gs。Rows。Count)。End(xlUp)。Roweireir1Ifeir2Thens。Range(Geir)。Value合计s。Range(Heir)。ValuexNames。Range(Ieir)。ValuexCountAs。Range(Jeir)。ValuexCountBEndIfWiths。Range(G3:Jeir)。Borders。LineStyle1。HorizontalAlignmentxlCenter。VerticalAlignmentxlCenter。RowHeight20EndWithErasexArrSetsNothingEndSub 月度汇总Sub月度汇总()OnErrorResumeNextDimxCountAAsDouble,xCountBAsDouble,xMouthAsIntegerDimsAsWorksheet,cAsWorksheet,jAsWorksheet,jrAsLongSetsThisWorkbook。Worksheets(设置)SetcThisWorkbook。Worksheets(产量统计表)SetjActiveSheetj。Cells(3,1)。Resize(j。UsedRange。Rows。Count2,4)。DeleteIfNotVBA。IsNumeric(s。Range(E1)。Value)ThenExitSubxMouthRange(E1)。ValueDimxArr,xiAsLong,irAsLong,icAsLongxArrc。Range(A2)。CurrentRegionirUBound(xArr,1)ic2DimsArr,siAsLong,srAsLongsrs。Cells(1,1)。End(xlDown)。RowsArrs。Range(A2:Asr)srUBound(sArr,1)ForsiLBound(sArr,1)TosrxCountA0xCountB0ForxiLBound(xArr,1)ToirIfVBA。UCase(xArr(xi,ic))VBA。UCase(sArr(si,1))Then如果姓名相同IfVBA。IsDate(xArr(xi,1))ThenIfxMouthVBA。DatePart(m,xArr(xi,1))ThenIfVBA。DatePart(d,xArr(xi,1))26ThenxCountAxCountAVBA。CDbl(xArr(xi,3))xCountBxCountBVBA。CDbl(xArr(xi,4))EndIfElseIfxMouth1VBA。DatePart(m,xArr(xi,1))ThenIfVBA。DatePart(d,xArr(xi,1))26ThenxCountAxCountAVBA。CDbl(xArr(xi,3))xCountBxCountBVBA。CDbl(xArr(xi,4))EndIfEndIfEndIfEndIfNextxijrj。Cells(j。Rows。Count,1)。End(xlUp)。Row1j。Cells(jr,1)。Valuerow()2j。Cells(jr,2)。ValuesArr(si,1)j。Cells(jr,3)。ValuexCountAj。Cells(jr,4)。ValuexCountBWithj。Cells(jr,1)。Resize(1,4)。RowHeight18。Borders。LineStyle1。HorizontalAlignmentxlCenter。VerticalAlignmentxlCenterEndWithNextsij。Range(A1)。ValuexMouth月度汇总表ErasexArrSetjNothingSetsNothingSetcNothingEndSub 产量统计也是一个重要的环节,特别是一些中小型企业,生产密集型企业更是需要一个高效的统计表来进行结算。 如有需要可以查看产量统计表,Excelvba。 欢迎关注、收藏 END