|
新建一个工作表,做个空白的送货单
送货单求助.zip
(41.52 KB, 下载次数: 32)
- Sub DeliveryNote()
- Dim sPath$
- Dim lorw&, i&, j&, n&
- Dim arr, brr, shap
-
- lrow = Sheets("明细").Cells(Rows.Count, 1).End(3).Row + 1
-
- arr = Sheets("明细").Range("A1:I" & lrow)
-
- brr = Sheets("空白发货单").Range("A1:I22") '做一个空白发货单
-
- sPath = ThisWorkbook.Path & ""
- n = 6
- For i = 2 To UBound(arr) - 1
- n = n + 1
-
- brr(2, 8) = arr(i, 1) '单据编号
- brr(2, 2) = arr(i, 2) '开单日期
- brr(4, 3) = arr(i, 3) '客户名称
- brr(n, 1) = arr(i, 5) '货品名称
- brr(n, 3) = arr(i, 6) '规格
- brr(n, 5) = arr(i, 7) '数量
- brr(n, 6) = arr(i, 8) '单价
- brr(n, 7) = arr(i, 9) '价格
-
- brr(17, 5) = arr(i, 7) + brr(17, 5) '数量合计
- brr(17, 7) = arr(i, 9) + brr(17, 7) '合计
- brr(17, 8) = brr(17, 7) '合计
-
- If arr(i, 1) <> arr(i + 1, 1) Then
-
- brr(18, 2) = RMBdx(brr(17, 7)) '转大写
-
- With Sheets("发货单")
- .Range("A1:I22") = brr
- .Range("A1:I22").Copy
- Set shap = ActiveSheet.Pictures.Paste
- shap.Copy '//复制图片
-
- With ActiveSheet.ChartObjects.Add(0, 0, shap.Width, shap.Height).Chart '//建立一个新图片
- Savetime = Timer '记下开始的时间
- While Timer < Savetime + 1 '循环等待
- DoEvents '转让控制权,以便让处理其它的事件。
- Wend
- .Paste '//将复制的图片放进去
- .Export sPath & brr(2, 8) & ".JPG" '//导出为图片格式,如JPG,GIF
- .Parent.Delete '//删除自己建立的图片
- End With
- End With
- shap.Delete
- n = 6
- brr = Sheets("空白发货单").Range("A1:I22")
- End If
- Next
-
- MsgBox "已生成图片!"
- End Sub
- Function RMBdx(Optional Mynum As Variant)
- If IsNumeric(Mynum) = False Then
- Mynum = 0
- End If
- Mynum = Round(Mynum, 2)
- If Sgn(Mynum) = 0 Then
- RMBdx = ""
- Else
- RMBdx = IIf(Sgn(Mynum) = -1, "负", "") & Application.Text(Int(Abs(Mynum)), "[=]g;[dbnum2]") & "圆"
- If Abs(Mynum) - Int(Abs(Mynum)) > 0 Then
- RMBdx = RMBdx & Application.Text(Right(Format(Abs(Mynum) - Int(Abs(Mynum)), "0.00"), 2), "[=]g;[dbnum2]0角0分")
- RMBdx = Replace(Replace(RMBdx, "零分", ""), "零角", "零")
- Else
- RMBdx = RMBdx & "整"
- End If
- End If
- End Function
复制代码
|
|