Cách làm hóa đơn tính tiền điện trong Excel

Liên hệ QC
...Nên em muốn thiết lập căn lề chuyển sang in bằng giấy A5 cho nó có thứ tự từ A đến z không bị lộn xộn, giúp việc phát HĐ cho từng nhà cũng dễ dàng, mà em không sao căn được như ý muốn, Anh giúp em với!

Bạn sửa Code như sau là được (Bạn lưu ý sửa bổ xung đoạn code màu xanh đậm. Không biết có phải do máy in không chứ máy của mình định giấy A5 thì báo lỗi đành thiết lập giấy B5, bạn thiết lập thử bằng A5 xem sao. Chiều in bạn vào PageSetup xác định cũng được):
Mã:
Public Sub in_bg()
Dim tu, den As Integer
Dim path As String
path = ThisWorkbook.path
Dim pic As Shape
If Sheet6.[X12] = "In tat ca" Then
Sheet6.[X14] = 1
Sheet6.[X15] = Application.WorksheetFunction.Max(Sheet6.Range("A3:A5000"))
End If
    'tu = Sheet1.Cells(2, 13)
    tu = Sheet6.[X14]
    den = Sheet6.[X15]
   [B][COLOR=Blue]With Sheet5
    .Range("A:AQ").Clear
    .PageSetup.PaperSize = xlPaperB5
    .ResetAllPageBreaks
    For Each pic In .Shapes
            pic.Delete
    Next
End With[/COLOR][/B]

Application.ScreenUpdating = False
                    'Tao trang in
k = 1

For i = tu To den
Sheet6.Cells(8, 24) = i
If Sheet4.Range("Z20") > 0 Then
Sheet4.Rows("1:27").Copy
Sheet5.Cells(k, 1).PasteSpecial Paste:=xlPasteValues
Sheet5.Cells(k, 1).PasteSpecial Paste:=xlPasteFormats
   Sheet5.Pictures.Insert (path & "\BT1.bmp")
   Sheet5.Range("F" & k + 9 & ":F" & k + 19).Merge
k = k + 28
    [B][COLOR=Blue]Sheet5.HPageBreaks.Add Before:=Cells(k, 1)[/COLOR][/B]

End If
Next
For Each pic In Sheet5.Shapes
 pic.ScaleWidth 0.79, msoFalse, msoScaleFromTopLeft
   pic.ScaleHeight 0.7, msoFalse, msoScaleFromTopLeft
       pic.IncrementLeft 140.25
    'pic.IncrementTop 30#

Next

Application.ScreenUpdating = True
Sheet5.Activate
Application.CutCopyMode = False
            Sheet5.Range("I1").Select

End Sub
 
Lần chỉnh sửa cuối:
Mình gửi lại file tạo hoá đơn với nhiều loại hình giá (Giá trong file là giá giả định, các bạn điều chỉnh lại). Phần báo cáo các bạn hoàn thện tiếp nhé.
Riêng phần hàm đọc chữ thì các bạn cứ chép trên diễn đàn rồi thay vào thì tốt hơn.
Xin cảm ơn anh Sealand, e đã dow về sử dụng rồi, a cho e hỏi cái này, tháng 3 e đã làm được rồi, nhưng khi chuyển qua kỳ tháng 4 thì khi "lập in hóa đơn điện" thì bị lỗi, các phần khác đều tốt cả
Cảm ơn anh đã giúp đỡ

Báo lỗi như thế này nè:


Visual Basic is able to convert and coerce many values to accomplish data type assignments that weren't possible in earlier versions. However, this error can still occur and has the following causes and solutions:
  • <LI class=LB1>The variable or property isn't of the correct type. For example, a variable that requires an integer value can't accept a string value unless the whole string can be recognized as an integer. Try to make assignments only between compatible data types. For example, an Integer can always be assigned to a Long, a Single can always be assigned to a Double, and any type (except a user-defined type) can be assigned to a Variant.
    <LI class=LB1>An object was passed to a procedure that is expecting a single property or value. Pass the appropriate single property or call a method appropriate to the object.
    <LI class=LB1>A module or project name was used where an expression was expected, for example: Debug.Print MyModuleSpecify an expression that can be displayed.
    <LI class=LB1>You attempted to mix traditional Basic error handling with Variant values having the Error subtype (10, vbError), for example: Error CVErr(n)To regenerate an error, you must map it to an intrinsic Visual Basic or a user-defined error, and then generate that error.
    <LI class=LB1>A CVErr value can't be converted to Date. For example: MyVar = CDate(CVErr(9))Use a Select Case statement or some similar construct to map the return of CVErr to such a value.
  • At run time, this error typically indicates that a Variant used in an expression has an incorrect subtype, or a Variant containing an array appears in a Print # statement. To print arrays, create a loop that displays each element individually.
For additional information, select the item in question and press F1 (in Windows) or HELP (on the Macintosh).
 
Lần chỉnh sửa cuối:
em đã tải tập tin về hóa đơn điện về, rất hay em cảm ơn!
nhừn sao khi em nháy vào in hóa đơn tì lại hiện ra một của sổ và em nháy ok thì nó mất,
em phải làm sao, giúp em nhé!
em cảm ơn!
anh gửi lời giải qua email của em nhé: haicoihaha@yahoo.com.vn
 
Lần chỉnh sửa cuối:
Bạn nói vậy, mình không hình dung nổi cửa sổ đó là gì? Để nhanh gọn, bạn load lại file lên hoặc gửi vào email của mình (vieth@live.com) vì mình không biết file bạn sử dụng là file nào
 
Mình có chỉnh sửa file để in hóa đơn tiền nhưng khi chỉnh sửa xong thi ở sheet3 không hiện gì . Bạn nào làm có thể sửa giúp mình cho nó hoàn chỉnh được không? VB minh ko hiểu lắm . Thanks.
 

File đính kèm

  • HoaDonDien9.rar
    25.2 KB · Đọc: 84
Mình sửa phần thô, bạn hiệu chỉnh lại
 

File đính kèm

  • HoaDonDien_1.3.2009.rar
    34 KB · Đọc: 105
[FONT=&quot]Chào các Anh/Chị[/FONT]
[FONT=&quot]Tôi mới học Excel, muốn tính tiền điện theo giá mới nhưng dùng hàm IF dài dòng quá. Mong Anh/Chị có cách nào để hàm tôi lập ngắn hơn không hoặc có cách tính nào khác không.[/FONT]

IF(D3<=50,D3*$K$4,IF(D3<=100,50*$K$4+(D3-50)*$K$5,IF(D3<=150,50*$K$4+50*$K$5+(D3-100)*$K$6,IF(D3<=200,50*$K$4+50*$K$5+50*$K$6+(D3-150)*$K$7,IF(D3<=300,50*$K$4+50*$K$5+50*$K$6+50*$K$7+(D3-200)*$K$8,IF(D3<=400,50*$K$4+50*$K$5+50*$K$6+50*$K$7+100*$K$8+(D3-300)*$K$9,IF(D3>400,50*$K$4+50*$K$5+50*$K$6+50*$K$7+100*$K$8+100*$K$9+(D3-400)*$K$10)))))))
 

File đính kèm

  • Tinh tien dien theo gia moi.xls
    30 KB · Đọc: 43
Lần chỉnh sửa cuối:
Hoan hô bạn, Bạn mới học mà lập được cái công thức hoành tráng vậy là thành công lắm đó nha. Chắc cũng có lý ngành điện quy định 7 mức là giới hạn của hàm if lồng nhau chức không phải là 8.Có cách làm cho công thức gọn hơn là thay các đoạn công thức có kết quả rồi bằng kết quả. Ví dụ:

IF(D3<=50,D3*$K$4,IF(D3<=100,50*$K$4+(D3-50)*$K$5,IF(D3<=150,50*$K$4+50*$K$5+(D3-100)*$K$6,IF(D3<=200,50*$K$4+50*$K$5+50*$K$6+(D3-150)*$K$7,IF(D3<=300,50*$K$4+50*$K$5+50*$K$6+50*$K$7+(D3-200)*$K$8,IF(D3<=400,50*$K$4+50*$K$5+50*$K$6+50*$K$7+100*$K$8+(D3-300)*$K$9,IF(D3>400,50*$K$4+50*$K$5+50*$K$6+50*$K$7+100*$K$8+100*$K$9+(D3-400)*$K$10)))))))

Bạn có thể thay đoạn màu đỏ bằng 30000. (Còn nhiều đoạn nữa) Ác liệt nhất là đoạn màu xanh bằng 540750 (Kiểm tra các đoạn mình tô màu nhé)
 
Lần chỉnh sửa cuối:
Học VBA có thể bằng nhiều con đường, nhưng chịu nghiên cứu, vọc nhiều với trợ giúp của anh em GPE cũng là một đường khả quan nhé.
File của bạn nếu đã lạpp thành bảng gia thì cũng có thể viết như file kèm
 

File đính kèm

  • Copy of Tinh tien dien theo gia moi-1.xls
    29 KB · Đọc: 70
Phần mềm Quản lý và tính tiền điện

Xin anh chỉ dẫn cụ thể bắt đầu từ đâu, vì thực tế tôi chưa biết BVA mở như thế nào và chỉnh ra làm sao ;Mong anh giúp cho xin cảm ơn anh!
Phần mềm tính tiền điện theo thông tư mới chạy bằng Acess:
- Tính và in hóa đơn chi tiết khách hàng (nửa tờ A4)
- Báo cáo thống kê doanh số ...
Down oad tại đây :http://www.mediafire.com/download.php?jtnzjd2jneuhttp://www.mediafire.com/download.php?iz5madnj11j
liên hệ dt:0983.629290 Email :huuthang@gmail.com
 
Lần chỉnh sửa cuối:
cứu em

HTX em quản lý khoảng 1.500 hộ dùng điện. Em muốn các đại ca thông thạo excel cho em file hoá đơn tính tiền điện. Em xem trong diễn đàn các đại ca đã làm dược nhưng copi về vẫn thiếu chữ ký của người nộp tiền em sửa ở temp nhưng khi cho tính hoá đơn máy toàn báo lỗi vậy các đại ca sửa giúp. Em cảm ơn trước nhé.
 
cứu em, cứu em khẩn cấp. 15 này em chốt số rùi

HTX em quản lý khoảng 1.500 hộ dùng điện. Em muốn các đại ca thông thạo excel cho em file hoá đơn tính tiền điện. Em xem trong diễn đàn các đại ca đã làm dược nhưng copi về vẫn thiếu chữ ký của người nộp tiền, ô sêri công tơ bác mặc định vào mã trạm em sửa ở temp nhưng khi cho tính hoá đơn máy toàn báo lỗi vậy các đại ca sửa giúp. Em cảm ơn trước nhé. Em gửi kèm file em đã sửa ở temp mong đại ca nào viết chương trình này giúp em nhé
 
Lần chỉnh sửa cuối:
Pro nào giúp em với.Em quản lý tiền điện của hợp tác xã khoảng 1500 hộ đang cần file tính tiền và lập hóa đơn.Ở Diễn đàn,các pác đã có em cóp về nhưng thiếu tên hộ nộp tiền ở cả phần hóa đơn và phần cuống @!##,trong ô số seri công tơ pác mặc định thành mã trạm -0-/..Em đã sửa ở file temp nhưng khi lên lập hóa đơn máy báo lỗi.Pro nào viết ra cái chương trình này sửa giúp em với.Em gửi kèm file temp đã sửa để pro tham khảo.
http://www.mediafire.com/download.php?nmkzwh4m1mi
YM của em là : Pham_tuan1964@yahoo.com
 
Lần chỉnh sửa cuối:
To Sealand:
Tôi có file dữ liệu khoảng 2000 hộ. Hiện tại tôi nhập dữ liệu mới có 3 tháng 4, 5, 6 Nhưng không hiểu vì sao khi lập hóa đơn để in thì file nó chậm, để in được 1000 hóa đơn này tôi phải mất khoảng 4h chỉ để lập hóa đơn thôi.
Tôi muốn nó chạy nhanh hơn để khi in chỉ mất khoảng 30 phút thôi và dung lượng vừa phải khoảng 5mb.
Vấn đề nữa là khi lập hóa đơn để in thì 20 hóa đơn đầu nó tạo thành 1 trang từ hóa đơn thứ 21 trở đi thì khi in được 2 hóa đơn vào 1 tờ giấy A4.
Tôi gửi file đính kèm nhờ anh xem giúp nguyên nhân làm sao. Do công thức hay vì lý do nào khác.
Giúp tôi nhé.
File lớn quá không đính kèm được. Tôi gửi vào email cho anh nhé.
 
Lần chỉnh sửa cuối:
Nói chung, file này nặng chủ yếu ở mấy cái báo cáo còn phần lập Hoá đơn chắc là nó không thể gây ra tốc độ ấy được. Để cải thiện về tốc độ và dung lượng thì phải hy sinh tiện ích thôi. (Tức là loại bỏ bớt báo cáo - Chỉ cần xoá bớt các sheet này) . Nếu vẫn muốn để lại thì tạo file báo cáo riêng rồi link dữ liệu tới file này. Khi in Hoá đơn thì ta lập và in vài trăm Hoá đơn 1 lần thôi.
 
Phần mềm Quản lý và tính tiền điện

Pro nào giúp em với.Em quản lý tiền điện của hợp tác xã khoảng 1500 hộ đang cần file tính tiền và lập hóa đơn.Ở Diễn đàn,các pác đã có em cóp về nhưng thiếu tên hộ nộp tiền ở cả phần hóa đơn và phần cuống @!##,trong ô số seri công tơ pác mặc định thành mã trạm -0-/..Em đã sửa ở file temp nhưng khi lên lập hóa đơn máy báo lỗi.Pro nào viết ra cái chương trình này sửa giúp em với.Em gửi kèm file temp đã sửa để pro tham khảo.
http://www.mediafire.com/download.php?nmkzwh4m1mi
YM của em là : Pham_tuan1964@yahoo.com
Anh thử dùng cai này di http://www.mediafire.com/download.php?jtnzjd2jneuhttp://www.mediafire.com/download.php?iz5madnj11j
 
Lần chỉnh sửa cuối:
các bác giúp em với em bị hiện tượng khi in hóa đơn khi em in thì tất cả các chữ ở các dòng trong nó nhảy linh tinh chẳng hạn như 1 tờ A4 có 2 cái hóa đơn thì khi em in thì lúc thì nó ở 1 trang A4 lúc thi chỉ có 1 nữa chữ ở tờ A4. cac chữ nó bi nhảy linh tinh như hình ở dưới. bác nào biết chỉ cho em với
3.jpg
Untitled.jpg
 
Lần chỉnh sửa cuối:
Bạn kiểm tra lại có thể lỗi hoặc mất dòng lệnh này trong Sub inbg():
Sheet5.Cells(k, 1).PasteSpecial Paste:=xlPasteFormats
 
em đã kiểm tra rồi nhưng vẫn còn dòng đó mà. Em mở đi mở lại thì lại được sau đó em chỉnh trang temp rồi in lại hóa đơn thì lại bị.
 
Trang Temp nó đã được chỉnh phù hợp kích cỡ rồi bạn dãn dòng là nó xô dịch lung tung ngay. Tất cả các trang kết quả chép đúng mẫu này. Mình muốn để các bạn tham khảo thôi chứ đúng ra in xong phải khóa lại.
 
Web KT
Back
Top Bottom