Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1904|回复: 0

[VBA] 五金仓库代码之生成盘存表

[复制链接]
发表于 2013-8-4 19:33 | 显示全部楼层 |阅读模式
我的五金仓库管理系统中的代码,多数是各位高手帮忙写了自己根据实际工作表改的。少数自己录制。
写在这里供老师们提出建议,并作备忘。顺便混点学币

以帐目结存数量不等于0(考虑有红字结存)。
复制进出存帐目表中前面几列,加上新实盘数、差异数、备注几列。

盼高手优化。这是录制几个宏拼凑起来的,无用代码句子肯定有。
  1. Sub 生成盘存表()
  2. '
  3. ' 生成盘存表宏。2013/8/1renjie录制并修改。
  4. ' 帐面结存不等于0
  5.     Sheets("帐目").Visible = True '显示数据库表
  6.     Sheets("帐目").Select
  7.     'ActiveWindow.SmallScroll Down:=-30
  8.     ActiveSheet.Range("$B$4:$Z$2000").AutoFilter Field:=20, Criteria1:="<>0", _
  9.         Operator:=xlAnd  'B:Z第20行不等于0
  10.     Columns("F:T").Select '选择F:N列
  11.     ActiveSheet.Unprotect '隐藏(结转、入库、出库列F:N)
  12.     Selection.EntireColumn.Hidden = True
  13.     Range("B3:W1486").Select
  14.     Selection.Copy
  15.     Sheets.Add After:=Sheets(Sheets.Count) '新建一个工作表
  16.     Sheets(Sheets.Count).Name = "盘存表" '改名盘存表
  17.     Range("B2").Select
  18.     Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
  19.         SkipBlanks:=False, Transpose:=False '粘贴格式
  20.     Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
  21.         xlNone, SkipBlanks:=False, Transpose:=False '粘贴数值
  22.     Columns("B:B").ColumnWidth = 9.8 '调整列宽
  23.     Columns("E:E").ColumnWidth = 2.8
  24.     Columns("G:G").ColumnWidth = 10.5
  25.             
  26.     Columns("G:H").Select
  27.     Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove  '插入2行
  28.     Range("G2").Select
  29.     ActiveCell.FormulaR1C1 = "实盘数"
  30.     Range("H2").Select
  31.     ActiveCell.FormulaR1C1 = "差异数"
  32.     Columns("I:I").Select
  33.     Selection.ClearContents '清除I列内容
  34.     Range("I2").Select
  35.     ActiveCell.FormulaR1C1 = "说明"
  36.    
  37.     Range("B2:I643").Select '设置框线
  38.     Selection.Borders(xlDiagonalDown).LineStyle = xlNone
  39.     Selection.Borders(xlDiagonalUp).LineStyle = xlNone
  40.     With Selection.Borders(xlInsideVertical)
  41.         .LineStyle = xlContinuous
  42.         .Weight = xlThin
  43.     End With
  44.     Range("B1").Select
  45.     ActiveCell.FormulaR1C1 = "盘存表" '赋予表头
  46.    
  47.      Range("B2:I2").Select
  48.     With Selection
  49.         .VerticalAlignment = xlCenter '表标题居中
  50.         .Orientation = 0
  51.         .AddIndent = False
  52.         .MergeCells = False
  53.     End With
  54.    
  55.     Sheets("帐目").Select
  56.     Columns("E:N").Select '选择E:N
  57.     Selection.EntireColumn.Hidden = False '不隐藏
  58.     ActiveSheet.Range("$B$4:$Z$2000").AutoFilter Field:=20
  59.     Sheets("盘存表").Select
  60.    
  61. End Sub

复制代码
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2025-8-15 18:33 , Processed in 0.172026 second(s), 8 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表