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

Liên hệ QC
Status
Không mở trả lời sau này.

ST-Lu!

Love Wingchun
Tham gia
19/8/08
Bài viết
730
Được thích
546
Nghề nghiệp
Xích lô một thời
Kể từ hôm nay, tất cả những câu hỏi nhờ giải thích dùm một đoạn code, hay là hỏi những vấn đề linh tinh gì liên quan đến cách viết code, đề nghị các bạn gửi chung vào đây.

Những đề tài mới với tiêu đề: "Nhờ giải thích dùm đoạn code", mà không nói rõ là code gì, code dùng để làm gì, sẽ bị xóa.

BQT

----------------------------------------------------------------------------------------------------------------


Em xin được hỏi 2 đoạn code sau có tương đương nhau ?

Cells(Cells.Rows.Count, 1).End(xlUp).Row có tương đương với [A65000].End(xlup).row

Cám ơn các anh chỉ giáo
 
Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
Anh cho em hỏi thêm nhe.

Khi em thay đổi sô tiền bên BANG_TRA. Thì bên cột bù lương số tiền bù nó không tự thay đổi. Em phải kéo công thức lại thì nó mới hiện ra kết quả mới. Nếu không thì vân là kết quả cũ.
Thank anh!

Thì tôi đã thủ sẳn cho bạn cái này rồi đó: Application.Volatile

Bỏ cái dấu nháy ra mà dùng nhé!
 
Upvote 0
Code điều kiện để tính thâm niên trong công ty

Em có code điều kiện để tính thâm niên trong công ty, em viêt nó dai dòng quá, nay nhờ các anh chi giúp em rút gon nó lại.
'Dieu kien tinh tham nien =====================================
[GPECODE=vb]Function DIEUKIEN(ByVal s_ghichu As String, d_Namcongtac As Double, _
s_Chuyenmon As String, s_Trinhdo As String) As Double
If d_Namcongtac >= 4 And s_ghichu <> "Chuyeån" And s_ghichu <> "Nghæ vieäc" Then
If StrComp(Trim(s_ghichu), "CC", vbBinaryCompare) = 0 Or _
(((s_Trinhdo = "Ñaïi hoïc") Or (s_Trinhdo = "Cöû nhaân")) And (s_Chuyenmon <> "K")) Then
DIEUKIEN = 1
Else
DIEUKIEN = 2
End If
Else
DIEUKIEN = 0
End If
End Function
[/GPECODE]
Chân thành cảm ơn các anh / chị nhiều trên Giải pháp Excel rất nhiều
 
Upvote 0
Em có code điều kiện để tính thâm niên trong công ty, em viêt nó dai dòng quá, nay nhờ các anh chi giúp em rút gon nó lại.
'Dieu kien tinh tham nien =====================================
[GPECODE=vb]Function DIEUKIEN(ByVal s_ghichu As String, d_Namcongtac As Double, _
s_Chuyenmon As String, s_Trinhdo As String) As Double
If d_Namcongtac >= 4 And s_ghichu <> "Chuyeån" And s_ghichu <> "Nghæ vieäc" Then
If StrComp(Trim(s_ghichu), "CC", vbBinaryCompare) = 0 Or _
(((s_Trinhdo = "Ñaïi hoïc") Or (s_Trinhdo = "Cöû nhaân")) And (s_Chuyenmon <> "K")) Then
DIEUKIEN = 1
Else
DIEUKIEN = 2
End If
Else
DIEUKIEN = 0
End If
End Function
[/GPECODE]
Chân thành cảm ơn các anh / chị nhiều trên Giải pháp Excel rất nhiều

Bạn mô tả ra chứ post nguyên đoạn code như vậy ai kiên nhẫn mà ngồi dịch. Ngoài ra nếu code bạn sai lại đi làm theo cái sai à.
 
Upvote 0

File đính kèm

  • Dieukien.rar
    38.8 KB · Đọc: 8
Upvote 0
EM gởi file lên, em có mô tả trong file anh xem giúp em
Code không cần ngắn mà quan trọng là tốc độ tối ưu. Code của bạn như vậy là được rồi, chỉ sửa lại một chút là bỏ hàm StrComp đi và thay bằng một biểu thức so sánh bằng bình thường là được.
 
Upvote 0
Các bạn cho hỏi:
Cho i là số nguyên, làm thế nào để xác định nhanh i có thuộc tập hợp các số {1,2,3,4,5} mà không phải dùng vòng lặp.

--------------------------------
Hồi nãy quên, giờ biết rồi, lẫn thẫn ghê.
Phải vậy không các bạn: MsgBox (i Like "[0-5]")
 
Lần chỉnh sửa cuối:
Upvote 0
Các bạn cho hỏi:
Cho i là số nguyên, làm thế nào để xác định nhanh i có thuộc tập hợp các số {1,2,3,4,5} mà không phải dùng vòng lặp.

Có phải anh muốn nói, nếu i = 6 thì i không thuộc tập hợp {1,2,3,4,5} này phải không?

Tôi không nghĩ là không dùng vòng lặp mà giải quyết được vấn đề này.
 
Upvote 0
Lần chỉnh sửa cuối:
Upvote 0
Xin lỗi mình chưa hỏi rõ ý, Ý mình là một dãy liên tục (dùng vòng lặp được, không cần đến mảng).

OK, nếu vậy thì được, còn không thì cứ sử dụng số đầu với số cuối, nếu i lớn hơn hoặc bằng số đầu và nhỏ hơn hoặc bằng số cuối là được.

Đúng vậy, nhưng mình dùng like thấy OK mà.
MsgBox (i Like "[1-5]")

Cũng nói thêm, nếu số đầu và số cuối là một giá trị bất kỳ (một biến) thì anh làm như thế này là ổn:

Sub test()
Dim i, f, e
i = 10
f = 2
e = 9
MsgBox (i Like "[" & f & "-" & e & "]")
End Sub
 
Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
Thì dùng WorksheetFunction.Match cũng được vậy

Đúng là thế Thầy ạ, nếu nó không lỗi thì nó nằm trong tập hợp đó.

Đúng vậy, nhưng mình dùng like thấy OK mà.
MsgBox (i Like "[1-5]")

Anh ơi, em kiểm tra rồi, cái vụ Like này nó chỉ đúng từ 0 đến 9 thôi nhé (Any single digit (0–9)). Ngoài ra là sai bét hết đó!

Vì thế anh phải làm 1 cái hàm để kiểm tra số liên tục thôi:

Mã:
Function FindSubSet(ByVal Item As Long, ByVal StartNumber As Long, ByVal EndNumber As Long) As Boolean
    If StartNumber > EndNumber Then
        FindSubSet = (Item >= EndNumber And Item <= StartNumber)
    Else
        FindSubSet = (Item >= StartNumber And Item <= EndNumber)
    End If
End Function

Thủ tục kiểm tra:

Mã:
Sub test2()
    MsgBox FindSubSet(9, 90, -90)
End Sub
 
Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
Chào bác GPEX
giúp em chút với.
e có file yêu cầu o sheet note, data o sheet Source.
E đã làm macro khi nhấn nút rồi nhưng báo lỗi, mới học làm macro nên không biết tại sao.
Nhờ a giúp với.
Cảm ơn anh.

http://www.mediafire.com/view/?ssb9ycuubpta9s9
Mong bác chỉ bảo thêm.
Cám ơn bác rất nhiều
 
Upvote 0
Báo lỗi màu vàng tại dong đầu tiên : =>Sub auto_open()
mình có sửa mấy lần nhưng vẫn báo lỗi tại cuối code: End sub
mong đc giúp đỡ

anh này đang cố gắng bẻ phần mềm của bác Vũ Nghĩa đây. đây là đoạn code lấy ID máy và can thiệp một số thao tác để có được một đoạn seri khác.
 
Lần chỉnh sửa cuối:
Upvote 0
Xin được trợ giúp code

Xin chào các anh, chị, các bạn! nhờ các bạn giúp mình đoạn code cho file mình gửi kèm với.
nó là dạng hàm if.
mình có làm thử nhưng không biết sai như thế nào cụ thể hàm if như sau: =IF(F6>0,G6&H6,"")
mình muốn chuyển hàm này thành code mong nhận được giúp đỡ.
 

File đính kèm

  • Hoi ham if.xls
    31 KB · Đọc: 4
Upvote 0
Xin chào các anh, chị, các bạn! nhờ các bạn giúp mình đoạn code cho file mình gửi kèm với.
nó là dạng hàm if.
mình có làm thử nhưng không biết sai như thế nào cụ thể hàm if như sau: =IF(F6>0,G6&H6,"")
mình muốn chuyển hàm này thành code mong nhận được giúp đỡ.

Trong VB có 1 hàm gần tương tự như hàm If là hàm IIF (<------- bạn cân nhắc và sử dụng nhé __--__)
[GPECODE=vb][D6] = IIf([F6] > 0, [G6] & [H6], "")[/GPECODE]
 
Upvote 0
Đề nghị bạn Namkpac xóa hộ code trên, tôi chủ yếu muốn tạo file có các thông số đó để khỏi viết tay thôi, dãy số có đến 48 ký tự cơ mà, chứ đoạn code đã **** ngay từ phút đầu tiên rồi,thank
 
Upvote 0
bạn biết code chèn slide hình vào userform không, chỉ mình với
 
Upvote 0
Status
Không mở trả lời sau này.
Web KT
Back
Top Bottom