Những câu hỏi về code, xin giải thích các code, đề nghị các bạn gửi vào đây

Status
Không mở trả lời sau này.

siwtom

Thành viên gắn bó
Tham gia ngày
19 Tháng ba 2008
Bài viết
2,128
Được thích
4,166
Điểm
860
Chào bạn mình la thành viên mới. Thấy bảo chưa post được 30 bài thì chưa lập topic gi đó được. đọc trên diễn đàn thấy bảo posts nhờ trên topic khác: cho minh hỏi vói nhé minh moi hoc VBA: Đề bài là: Viết hàm nhận 1 số nguyên dương có 3 chữ số, tính tổng của 3 chữ số đó. mình đã viết đoạn code thử làm bên dưới nhưng khi chạy lại sai. Giả sử số đó là 456 thì kết quả phải la 15 nhưng khi chạy lại ra 56. mong ban chỉ giup!
Public Function tong(sobachu As Long)
Dim a As Long, b As Long, c As Long
c = sobachu Mod 10
b = sobachu Mod 100 - c
a = (sobachu - b * 10 - c) / 100
tong = a + b + c
End Function
Bạn sai cái b.
Ví dụ có 456 thì
c = 6 => b = sobachu Mod 100 - c = 456 mod 100 - 6 = 56 - 6 = 50

Chắc bạn biết sửa?
 

maytinhvp01

Thành viên thường trực
Tham gia ngày
27 Tháng bảy 2013
Bài viết
389
Được thích
178
Điểm
395
Nơi ở
VĩnhYên_VP
Cảm ơn ban trước, mình đã thử đoạn code của ban với số có 3 chữ số la 456 Kq là 15 đã đúng. Nhưng cho hỏi thêm là đoạn code của minh logic sai chỗ nào với????
 
Lần chỉnh sửa cuối:

HYen17

Thành viên cằn cỗi.
Tham gia ngày
27 Tháng năm 2007
Bài viết
4,481
Được thích
6,162
Điểm
100
Tuổi
19
Mình vừa thử trên cửa sổ Immediate đây mà:

Này nha:

?Tong3So(456) = Tong3So(654)
True!
 

tiendungnst

Thành viên chính thức
Tham gia ngày
9 Tháng bảy 2007
Bài viết
86
Được thích
5
Điểm
0
Nhờ bổ sung thêm CODE để có thể tổng hợp cho tất cả các SHEET

Mình có đoạn CODE này để tổng hợp dữ liệu, nhưng nó chỉ tổng hợp được dữ liệu của một SHEET có tên là "MAU1". Nhờ các cao thủ chỉnh sửa giúp để CODE có thể tổng hợp cho tất cả các SHEET từ dữ liệu tương ứng của các file:

Option Explicit
Sub BCTK(Folder As String, ShName As String, SrcRng As String, Target As Range)
Dim Temp As String
Temp = ShName & "'!" & Range(SrcRng).Address(, , 2)
If Right(Folder, 1) <> "\" Then Folder = Folder & "\"
ActiveWorkbook.Names.Add "Arr", "=""'" & Folder & "[""&Files(""" & Folder & "*.*"")&""]" & Temp & """"
Target.Consolidate Evaluate("Arr"), 9, 0, 1
ActiveWorkbook.Names("Arr").Delete
End Sub
Sub Tonghop()
Dim Folder As String, ShName As String, SrcRng As String
Range("B12:M27").ClearContents
With CreateObject("Shell.Application")
On Error Resume Next
Folder = .BrowseForFolder(0, "", 1).Self.Path
End With
ShName = "MAU1": SrcRng = "B12:M27"
BCTK Folder, ShName, SrcRng, Range("B12")
End Sub

Xin cảm ơn!
 

maytinhvp01

Thành viên thường trực
Tham gia ngày
27 Tháng bảy 2013
Bài viết
389
Được thích
178
Điểm
395
Nơi ở
VĩnhYên_VP
Giải thích giup tu khoá

Từ khoá mình muốn hỏi là " Ran.Rows.Count và Ran.Columns.Count "
Trong ví du:
Public Function Tong(Ran As Range)
Dim d As Integer, c As Integer, sum As Double
sum = 0
For d = 1 To Ran.Rows.Count
For c = 1 To Ran.Columns.Count
sum = sum + Ran.Cells(d, c)
Next c
Next d
Tong = sum
End Function
 
Lần chỉnh sửa cuối:

viehoai

GPE mỗi ngày
Tham gia ngày
22 Tháng năm 2009
Bài viết
2,595
Được thích
2,877
Điểm
860
Tuổi
46
Nơi ở
Thừa Thiên Huế
Từ khoá mình muốn hỏi là " Ran.Rows.Count và Ran.Columns.Count "
Trong ví du:
Public Function Tong(Ran As Range)
Dim d As Integer, c As Integer, sum As Double
sum = 0
For d = 1 To Ran.Rows.Count
For c = 1 To Ran.Columns.Count
sum = sum + Ran.Cells(d, c)
Next c
Next d
Tong = sum
End Function
Ran.Rows.Count là đếm số HÀNG vùng có tên là Ran
Ran.Columns.Count là đếm số CỘT vùng có tên là Ran
 

maytinhvp01

Thành viên thường trực
Tham gia ngày
27 Tháng bảy 2013
Bài viết
389
Được thích
178
Điểm
395
Nơi ở
VĩnhYên_VP
Cảm ơn ban nhé. Mới bít một ít nên khổ thế đấy. Cái gì cũng la mới lạ!
 

PhanTuHuong

Excel & AutoCad & VBA & VB.NET
Thành viên danh dự
Tham gia ngày
13 Tháng sáu 2006
Bài viết
6,825
Được thích
23,333
Điểm
1,860
Nơi ở
Hà Nội
Thớt này dài quá rồi, tôi đóng tại đây.
 

ngoyeubebu

Thành viên chính thức
Tham gia ngày
7 Tháng sáu 2013
Bài viết
89
Được thích
5
Điểm
0
Tuổi
27
Giúp mình tìm lỗi cho đoạn CODE này với......

Ko hiểu sao trong sheet HoaDon mình chọn lựa nhập phần Tỉnh - Tên Khách Hàng - Mã KH xong rồi nhấn Nhập Hoá Đơn trên sheet Hoa Don lại báo lỗi . trong khí không nhập phần Tỉnh - Tên KH - Mã KH thì lại ko báo lỗi.
Các pro giúp mình với
Cảm ơn
 

File đính kèm

sealand

Thành viên gạo cội
Tham gia ngày
16 Tháng năm 2008
Bài viết
4,877
Được thích
7,754
Điểm
860
Tuổi
59
Nơi ở
Hải Phòng
Lỗi là do bạn dùng lẫn lộn 2 phương thức AddItem và Rowsource. Vì còn liên quan đến lọc nên bạn phải giữ lại phương thức AddItem và vào Properties của cbbMa và cbbName xóa Rowsource của nó đi là OK
 

ngoyeubebu

Thành viên chính thức
Tham gia ngày
7 Tháng sáu 2013
Bài viết
89
Được thích
5
Điểm
0
Tuổi
27
Có cách nào khác để làm phần combobox trong phần Tỉnh - Khách Hàng - Mã Khách hàng mà không cần dùng Name như mình làm không bạn
 

sealand

Thành viên gạo cội
Tham gia ngày
16 Tháng năm 2008
Bài viết
4,877
Được thích
7,754
Điểm
860
Tuổi
59
Nơi ở
Hải Phòng
Đây là Form mà vai trò của 2 Combo này hoàn toàn khác xa với mục đích nhập liệu. Chính vì vậy mà việc sử dụng nó để nhập liệu là không hợp lý và dẫm chân lên nhau. Banj nên bổ xung 1 Form khác hoặc dùng 1 Combo thôi để làm việc này.
 
Status
Không mở trả lời sau này.
Top