Chuyên đề giải đáp những thắc mắc về code VBA

Liên hệ QC

maytinhvp01

Thành viên thường trực
Tham gia
27/7/13
Bài viết
390
Được thích
179
Mình muốn nhờ giải thich câu lệnh " If Ran.Cells(d, c) > max Then max = Ran.Cells(d, c) "
trong ví du:
Public Function LonNhat(Ran As Range)
Dim max As Double, v As Integer, d As Integer, c As Integer
max = Ran.Cells(1, 1)
For d = 1 To Ran.Rows.Count
For c = 1 To Ran.Columns.Count
If Ran.Cells(d, c) > max Then max = Ran.Cells(d, c)
Next c
Next d
v = Tim(max, Ran)
LonNhat = max
End Function
-------------------------------------------------------
[INFO1]Thông báo:
Vì topic này:
http://www.giaiphapexcel.com/forum/...ải-thích-các-code-đề-nghị-các-bạn-gửi-vào-đây
đã quá dài nên BQT đóng lại.
Nay tôi mở topic mới với cùng chủ đề: GIẢI THÍCH NHỮNG THẮC MẮC VỀ CODE
Các bạn nếu có nhu cầu giải thích code, vui lòng post tại đây nhé
NDU96081631

[/INFO1]
 
Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
ai cho em hỏi tại sao code này không chạy khi cột a có "ok"
PHP Code:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If
Intersect(Target, Columns("A:A")) Is Nothing Then
If UCase$(Target.Value) = "OK" Then
MyCode
ElseIf IsNumeric(Target.Value) Then
Else
End If
End If
End Sub


Code:
Sub MyCode()
MsgBox "Xin Chào"
End Sub
 
Upvote 0
Đó là macro sự kiện; Rõ hơn là bạn nhập gì đó vô cột [A]'

Nếu là dữ liệu kiểu số hay gì, gì khác thì nó iêm re; Bằng nhập "OK", "oK", "ok" hay "Ok" trong cột [A] thì nó sẽ báo bạn biết rằng bạn đã nhập 1 trong 4 từ đó trong ô vừa nhập.
 
Upvote 0
cho em hỏi, em đang tập tẹ VBA, em mún tách địa chỉ và đường ra bằng VBA phải viết thủ tục như thế nào ạ? bằng hàm thì em biết rồi ạ! Thanks!
Ví dụ như: 21 Nguyễn Hồng Đào ạ!
 
Upvote 0
Đó là macro sự kiện; Rõ hơn là bạn nhập gì đó vô cột [A]'

Nếu là dữ liệu kiểu số hay gì, gì khác thì nó iêm re; Bằng nhập "OK", "oK", "ok" hay "Ok" trong cột [A] thì nó sẽ báo bạn biết rằng bạn đã nhập 1 trong 4 từ đó trong ô vừa nhập.

vba đó là đúng ý mình nhưng sao mình copy vào file nhap ok vào cột a
thì không thấy hiện thông báo của code msgbox
 
Upvote 0
Nhờ các bác tạo giúp xem cái Marcro menu có chức nang như sau:


Em không biết gì về Marcro nên em đọc của bác hiểu không hết, em nhờ bác tạo giúp em cái Menu có các Sheet và nội dung yêu cầu sau:
1. Em có 1 File có các Sheet tên là như sau: sheet tên là "Menu" (đây là Sheet chính để mở các Sheet khác), LENHXE_DIEUXE, SOQUY_THU_CHI, INLICHXE_DEDIEUXE, LICHXE_HANGNGAY, THUTIEN_KH_HANGNGAY, TT_NCC_HANGNGAY, DS_KH_NCC, LXE_THU_KH, LXE_NOP_TIEN, LXE_UNG, LXEDA_CHIPHI, CHILUONG_NV, LUONG_LXE, NCC_CON_NO, CONGNO_DATT_NCC, CONGNO_NCC, KH_CON_NO, CONGNO_TUNG_KH, DS_LXECTY
(tất các Sheet phụ trên ở ô A1 có Nút "Trở Về" khi Click vào sẽ trở lại về Sheet "Menu" - Trên Sheet "Menu" có tên các Sheet trên và khi Click vào tên nào sẽ mở Sheet đó).
Nhờ các giúp em làm cái cái Marcro để có chức năng như trên giúp. Cảm ơn bác nhiều.
 
Upvote 0
Nhờ các bác tạo giúp xem cái Marcro menu có chức nang như sau:


Em không biết gì về Marcro nên em đọc của bác hiểu không hết, em nhờ bác tạo giúp em cái Menu có các Sheet và nội dung yêu cầu sau:
1. Em có 1 File có các Sheet tên là như sau: sheet tên là "Menu" (đây là Sheet chính để mở các Sheet khác), LENHXE_DIEUXE, SOQUY_THU_CHI, INLICHXE_DEDIEUXE, LICHXE_HANGNGAY, THUTIEN_KH_HANGNGAY, TT_NCC_HANGNGAY, DS_KH_NCC, LXE_THU_KH, LXE_NOP_TIEN, LXE_UNG, LXEDA_CHIPHI, CHILUONG_NV, LUONG_LXE, NCC_CON_NO, CONGNO_DATT_NCC, CONGNO_NCC, KH_CON_NO, CONGNO_TUNG_KH, DS_LXECTY
(tất các Sheet phụ trên ở ô A1 có Nút "Trở Về" khi Click vào sẽ trở lại về Sheet "Menu" - Trên Sheet "Menu" có tên các Sheet trên và khi Click vào tên nào sẽ mở Sheet đó).
Nhờ các giúp em làm cái cái Marcro để có chức năng như trên giúp. Cảm ơn bác nhiều.

Muốn làm thì bạn gởi file lên, mọi người mới giúp được.
 
Upvote 0
Sao tai mai moi duoc vay ta
 

File đính kèm

  • LICHXE_T7_T8_2017.rar
    325.9 KB · Đọc: 3
Upvote 0
em gui anh file nho anh giup
 

File đính kèm

  • LICHXE_T7_T8_2017.rar
    325.9 KB · Đọc: 7
Upvote 0
Em gui anh, nho anh giup em voi

Cái này sao bạn không dùng Hyperlink?
1/ Tôi làm cho bạn bằng Click chuột phải vào 1 ô trong cột B sheet Menu (B1:B19)
2/ Nếu bạn muốn xài mấy cái Button thì làm theo như sau:
- Vào thẻ Developer, bấm nút Design mode
- Click đúp vào nút LICH XE DIEU XE, sẽ xuất hiện cái này trong VBE
Private Sub CommandButton1_Click()

End Sub
- Bạn nhập dòng lệnh này vào giữa, thành như vầy:
Private Sub CommandButton1_Click()
Sheets("LICHXE_DIEUXE").Activate
End Sub
Chú ý là "LICHXE_DIEUXE" phải đúng tên sheet muốn mở.
- Trở ra sheet Menu, click vào nút Design mode. Xong. Bạn click thử vào nút mới làm xem có chạy đến sheet "LICHXE_DIEUXE" không.
3/ Làm tương tự cho hết mấy chục cái nút của bạn.
4/ Insert 1 Module mới, Copy cái này vào:
Public Sub BackMe()
Sheets("Menu").Activate
End Sub
5/ Trong các sheet con (ngoài Menu), Bạn cũng vào Design mode, click đúp vào nút Trở về, bạn nhập "BackMe" dòng giữa
Private Sub CommandButton1_Click()
BackMe
End Sub
6/ Nhớ thoát khỏi chế độ Design mode khi làm xong.
 

File đính kèm

  • LICHXE_T7_T8_2017.rar
    212.5 KB · Đọc: 13
Upvote 0
Có ae nào biết vẽ biểu đồ đường bằng VBA ko?? do dữ liệu của mình luôn thay đổi và công việc lặp lại nên mình muốn tạo Marcro vẽ biểu đồ mà ko biết làm như thế nào?? tạo marcro cứ báo lỗi hoài @@
 
Upvote 0
Có ae nào biết vẽ biểu đồ đường bằng VBA ko?? do dữ liệu của mình luôn thay đổi và công việc lặp lại nên mình muốn tạo Marcro vẽ biểu đồ mà ko biết làm như thế nào?? tạo marcro cứ báo lỗi hoài @@
Dữ liệu thay đổi thì vẽ biểu đồ động, VBA làm cái gì? Hay muốn gì gì đó phải có file???
 
Upvote 0
Chào các AC. CHo e hỏi 1 chút là làm sao có thể cài đc phím ( Ví dụ phím F5 ) cho 1 Macro, thông thường thì chỉ cài đc THeo kiểu Ctrl + ... hoặc Ctrl + Shirt + ... chứ ạ !
 
Upvote 0
Chào các AC. CHo e hỏi 1 chút là làm sao có thể cài đc phím ( Ví dụ phím F5 ) cho 1 Macro, thông thường thì chỉ cài đc THeo kiểu Ctrl + ... hoặc Ctrl + Shirt + ... chứ ạ !
Bạn dùng thử lệnh này cho Moduble. Lưu lại đóng tập tin sau đó mở lại và nhấn phím F5 xem có gì lạ không?
Mã:
Private Sub Auto_Open()
Application.OnKey "{F5}", "GPE"
End Sub
Private Sub Auto_Close()
    Application.OnKey "{F5}"
End Sub
Private Sub GPE()
    msgbox "Ban vua nhan phim F4"
End Sub
Có thể tham khảo ở đây:
https://msdn.microsoft.com/en-us/library/office/ff197461.aspx
 
Lần chỉnh sửa cuối:
Upvote 0
Chào các AC. CHo e hỏi 1 chút là làm sao có thể cài đc phím ( Ví dụ phím F5 ) cho 1 Macro, thông thường thì chỉ cài đc THeo kiểu Ctrl + ... hoặc Ctrl + Shirt + ... chứ ạ !

Bấm {CTRL}+{SHIFT}+F sẽ không tiện lợi bằng {F5}

Nhưng cái tiện lợi của bạn có thể là cái không tiện lợi cho người khác thì nên lưu í!

 
Upvote 0
Bấm {CTRL}+{SHIFT}+F sẽ không tiện lợi bằng {F5}

Nhưng cái tiện lợi của bạn có thể là cái không tiện lợi cho người khác thì nên lưu í!

Thask a ạ, E đang học VBA nên mới tìm hiểu. Cứ mắc đến đâu lại hỏi đến đấy, mặc dù có thể ít ứng dụng, nhưng sẽ vận dụng đc vào nhìu cái mình cần ạ :) !
 
Upvote 0
Web KT
Back
Top Bottom