zoukankan      html  css  js  c++  java
  • [Excel]VBA实现的最简单的遍历

    昨天公司给我个任务让做个仓库物品管理的表格,第一次用excel中VBA写了个简单的小程序

    1.需求

    弄一个物品入库清单和物品领用清单,根据这两个清单自动生成一个剩余物品表

    物品入库清单:

    物品领用表:

    3.程序

    初中写过VB, 所以vba语法感觉很亲切啊

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    '    初始化数值
        Dim RK_Row As Integer   '入库表中的行数
        RK_Row = 3
        Dim RK_Col As Integer   '入库表中的列数
        RK_Col = 3
        Dim LY_Row As Integer   '领用表中的行数
        LY_Row = 3
        Dim LY_Col As Integer   '领用表中的行数
        LY_Col = 3
        Dim Num As Integer      '领用数量
        Num = 0
        Dim Recent As Date      '最近领用日期
        Recent = #1/1/2000#
    
        
        While Len(Sheet3.Cells(RK_Row, 3)) <> 0                             '遍历入库表的每一行
            Sheet1.Cells(RK_Row, 3) = Sheet3.Cells(RK_Row, 3)
            Sheet1.Cells(RK_Row, 4) = Sheet3.Cells(RK_Row, 4)
            Sheet1.Cells(RK_Row, 5) = Sheet3.Cells(RK_Row, 5)
            
            While Len(Sheet2.Cells(LY_Row, 3)) <> 0                         '遍历领用表中的每一行
                If Sheet2.Cells(LY_Row, 3) = Sheet3.Cells(RK_Row, 3) Then
                    Num = Num + Sheet2.Cells(LY_Row, 7)
                    If IsDate(Sheet2.Cells(LY_Row, 2)) Then
                        Recent = Sheet2.Cells(LY_Row, 2)
                    End If
                End If
                LY_Row = LY_Row + 1
            Wend
            
            If Num <> 0 Then
                Sheet1.Cells(RK_Row, 2) = Recent
            ElseIf Recent = #1/1/2000# Then
                Sheet1.Cells(RK_Row, 2) = "日期不明"
            Else
                Sheet1.Cells(RK_Row, 2) = "暂未借出"
            End If
            
            Sheet1.Cells(RK_Row, 6) = Sheet3.Cells(RK_Row, 6) - Num
            
            
            LY_Row = 3
            Num = 0
            RK_Row = RK_Row + 1
            
        Wend
            
        
        
        
    End Sub

    4.结果

    6.总结

    VBA其实还是挺简单的,上面也就是个初中水平的程序。不过如果他们这个物品领用写的太杂乱了有很多写的和仓库入库表的名称都不一样,都没有计算上。其实还是用VB或者其他语言做个仓库管理程序比较好,但不给钱谁做呢【手动摊手】。

  • 相关阅读:
    高德地图在h5项目中的集成(点标记)
    angular中点击页面任意地方让显示的元素消失
    关于echars中雷达图的一些配置
    部署项目到阿里云服务器上遇到的问题
    sql语句的简单记录
    C#中的数据类型
    原型和继承
    Git 命令行使用
    以前一直设置水平居中,现在我们来讨论一下图片居中的四种小技巧
    让盒子两端对齐小技巧 => inline-block
  • 原文地址:https://www.cnblogs.com/virter/p/9018208.html
Copyright © 2011-2022 走看看