VBA源码分析报告-店铺调拨倍数系统

📅 2026/6/17 10:33:55
VBA源码分析报告-店铺调拨倍数系统
系统概述本系统是一个基于Excel VBA的店铺库存调拨管理系统主要功能是根据店铺级别、销售数据和库存情况自动计算并执行店铺间的库存调拨操作。系统支持爆款识别、优先级排序、物流成本优化等高级功能。⚙️ 全局配置区核心配置常量配置项常量名值说明数据起始行START_ROW2数据从第2行开始款号列COL_STYLE5 (E列)商品款号所在列颜色列COL_COLOR6 (F列)商品颜色所在列店铺名列COL_STORE7 (G列)店铺名称所在列销量列COL_SALE8 (H列)10天销量数据库存列COL_STOCK9 (I列)当前库存数量调后存列COL_ADJUST_TOTAL10 (J列)调拨后库存尺码判断列COL_SIZE_CHECK11 (K列)断码判断结果尺码区开始START_SIZE_COL12 (L列)尺码数据起始列断码阈值SHORT_SIZE_THRESHOLD3低于此数判定为断码调入上限MAX_IN_RATIO4.0非爆款调入硬上限倍数店铺级别配置级别爆款阈值正常阈值爆款倍数正常倍数滞销倍数L1 (1级)34152.31.81.3L2 (2级)1871.81.51.2L3 (3级)1231.51.21.0物流成本权重配置区域类型成本系数市内1同区域2外埠3未知4调入端权重0.3 功能结构树主程序模块AutoAllocateStock_Final_Opt - 主程序入口核心算法模块AllocateNormal - 正常补货逻辑AllocateFromOutStoresForHot - 爆款调出无限制AllocateFromOutStoresForNormal - 非爆款调出支持两级突破AllocateFromWH - 从总仓调拨FindWarehouseRow - 查找总仓行号GetStoreRatioByLevel - 获取店铺调拨倍数GetTopStoresBySale - 获取销量前N%店铺AllocateShortSizeClear - 断码清货CheckClearStyle - 检测清货款CalcValidSizeCount - 统计有效尺码数量店铺排序模块GetOutStoresSorted - 调出店铺排序CalculatePriorityNew - 调出优先级计算含物流成本GetLogisticsCost - 获取物流成本系数ShuffleByPriority - 同优先级随机打乱GetStoreTotalStock - 计算店铺总库存GetInStoresSorted - 调入店铺排序销量物流成本权重辅助工具模块GetCellValue - 安全读取单元格GetAllSizeAdjustColumns - 获取尺码调整列ClearAdjustColumns_Batch - 批量清空调拨列CalculateSummaryBalance - 汇总行平衡计算IsHotStyleBySummary - 爆款识别 函数详细说明AutoAllocateStock_Final_Opt功能主程序入口负责协调整个库存调拨流程执行流程读取店铺配置表级别、区域、调入/调出权限检测有效数据和尺码列按款色组拆分数据循环处理每个款色调用子模块完成调拨计算输出统计信息IsHotStyleBySummary功能根据汇总行数据识别爆款判定逻辑销量/库存 ≥ HOT_RATIO_THRESHOLD(2.5) 时判定为爆款用途爆款和非爆款采用不同的调拨策略GetStoreRatioByLevel功能根据店铺级别和销量获取调拨倍数逻辑根据店铺级别1/2/3级选择不同阈值根据销量落入的区间爆款/正常/滞销返回对应倍数GetOutStoresSorted功能对可调出店铺进行优先级排序排序依据调用 CalculatePriorityNew 计算优先级按优先级升序排序同优先级随机打乱调用 ShuffleByPriorityCalculatePriorityNew功能计算调出店铺优先级综合考虑销量、库存、物流成本优先级规则数字越小优先级越高1 - 直营总仓2-3 - 零销售市内优先4-5 - 微销售市内优先6-7 - 低销售市内优先8/10 - 最低销量市内/同区域9/11 - 最高库存市内/同区域12-16 - 外埠店铺GetInStoresSorted功能对可调入店铺进行排序排序依据综合得分 标准化销量 - 物流成本权重 × 平均调出成本排除条件不允许调入的店铺、总仓、库存为0的店铺AllocateNormal功能正常补货调拨逻辑非爆款处理按店铺级别和销量确定调拨倍数计算每个尺码的需求量优先从总仓调拨AllocateFromWH再从调出店铺调拨AllocateFromOutStoresForNormal爆款处理只调拨给销量前20%的店铺按销量权重分配库存调用 AllocateFromOutStoresForHot 无限制调拨AllocateFromOutStoresForNormal功能非爆款调出逻辑支持两级突破四级处理流程第一轮收集所有可调出店铺及调出限制第二轮按积压系数比例分配第三轮循环分配剩余需求第四轮执行调拨操作调出限制单店铺最多调出40%库存AllocateShortSizeClear功能断码清货调拨触发条件款号第5-6位为25或26清货标识有效尺码数低于阈值默认3个特殊规则1级店铺非爆款不参与断码清货CalculateSummaryBalance功能计算汇总行调拨平衡逻辑汇总该款色组所有店铺的调拨数量确保整体平衡为0 执行流程图主程序执行流程开始→ 读取店铺配置 → 检测数据有效性 → 获取尺码列 → 清空调拨列└─循环处理每个款色组├─ GetOutStoresSorted调出店铺排序├─ GetInStoresSorted调入店铺排序├─ IsHotStyleBySummary爆款识别├─ AllocateNormal正常补货├─ CheckClearStyle检测清货款├─ AllocateShortSizeClear断码清货└─ CalculateSummaryBalance汇总平衡└─输出统计信息→ 结束 调拨策略对比项目爆款策略非爆款策略调拨对象仅销量前20%店铺所有允许调入店铺调入上限无限制HOT_MAX_CAP销量×4倍调出限制无限制单店最多调出40%分配方式按销量权重分配按积压系数比例分配断码清货允许1级店参与排除1级店报告生成时间2026年6月17日源码文件获取店铺调拨倍数.vb函数总数23个