Chào Thầy!
Em đang tạo 1 chương trình QLVB, em đang tạo 1 Form tìm kiếm và đã load được dữ liệu lên Listbox, và đã thực hiện được chức năng tìm kiếm bằng Mảng rồi ạ
Bây giờ em muốn DoubleClick vào dữ liệu Listbox nó sẽ trả đến dữ liệu ban đầu nhanh nhất
Choà bạn bạn muốn load lên 1 from đúng không? Hay là như thế nào nhỉ?
Không cần load lên form mà nó chuyển về sheet nguồn và tìm đúng dữ liệu mà mình nhấp double click trên list box
Chào bạn bạn phải tìm được từ khoá duy nhất thì mới di chuyển dược
bạn có thể dùng hàm match để tìm, và di chuyển đến ô đó.
Thầy cho em xin code đc kh ạ
Private Sub lsb_VanBanDi_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Range("D7").Value = lsb_VanBanDi.List(lsb_VanBanDi.ListIndex, 3)
Range("E7").Value = lsb_VanBanDi.List(lsb_VanBanDi.ListIndex, 4)
Range("F7").Value = lsb_VanBanDi.List(lsb_VanBanDi.ListIndex, 5)
Range("G7").Value = lsb_VanBanDi.List(lsb_VanBanDi.ListIndex, 6)
Range("H7").Value = lsb_VanBanDi.List(lsb_VanBanDi.ListIndex, 7)
Range("I7").Value = lsb_VanBanDi.List(lsb_VanBanDi.ListIndex, 8)
Unload Me
End Sub
Private Sub tb_TuKhoaTimKiemVBDi_Change()
Dim arr(), kq(), i As Long, a As Long, dk As String, j As Long, lr As Long
dk = UCase(tb_TuKhoaTimKiemVBDi.Text)
lr = Sheet5.Range("B" & Rows.Count).End(xlUp).Row
arr = Range("A9:I" & lr).Value
ReDim kq(1 To UBound(arr, 1), 1 To 9)
For i = 1 To UBound(arr, 1)
If UCase(arr(i, 5)) Like "*" & dk & "*" Or _
UCase(arr(i, 4)) Like "*" & dk & "*" Then
a = a + 1
For j = 1 To 9
kq(a, j) = arr(i, j)
Next j
End If
Next i
lsb_VanBanDi = ""
lsb_VanBanDi.Clear
lsb_VanBanDi.List = kq
End Sub
Private Sub UserForm_Initialize()
Dim lr As Long
lr = Range("B" & Rows.Count).End(xlUp).Row
lsb_VanBanDi.List = Sheets("VANBANDI").Range("A9:I" & lr).Value
End Sub
Sub TimKiemDuLieuVanBanDi()
Dim i As Long
If WorksheetFunction.CountIf(Sheets("VANBANDI").Range("D9:D10006"), Sheets("VANBANDI").Range("D7").Value) > 0 Then
i = WorksheetFunction.Match(Sheets("VANBANDI").Range("D7").Value, Sheets("VANBANDI").Range("D9:D10006"), 0) + 8
End If
End Sub
Bạn đính kèm file giúp gitiho nhé.
File excel maro hay sao ạ
Bây giờ em cần thầy giúp code như vậy!. Dữ liệu từ dòng A7 đến I7 đã được load lên bây giờ làm sao chúng ta đặt con trỏ chuột ngây đúng phần dữ liệu bên dưới
File có macro bạn đang làm đó
Giống như hình ảnh này, thì làm sao khi nhấp vào dòng A7 đến I7 con trỏ sẽ tự động tìm đến đúng dòng dữ liệu bên dưới ạ. Mong thầy giúp!
BẠN ĐẨY FILE LÊN GIÚP GITIHO NHÉ.
ý bạn là như thế này
Kích đúp vào lên form sửa
Private Sub lsb_VanBanDi_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Range("A7").Value = lsb_VanBanDi.List(lsb_VanBanDi.ListIndex, 0)
Range("B7").Value = lsb_VanBanDi.List(lsb_VanBanDi.ListIndex, 1)
Range("C7").Value = lsb_VanBanDi.List(lsb_VanBanDi.ListIndex, 2)
Range("D7").Value = lsb_VanBanDi.List(lsb_VanBanDi.ListIndex, 3)
Range("E7").Value = lsb_VanBanDi.List(lsb_VanBanDi.ListIndex, 4)
Range("F7").Value = lsb_VanBanDi.List(lsb_VanBanDi.ListIndex, 5)
Range("G7").Value = lsb_VanBanDi.List(lsb_VanBanDi.ListIndex, 6)
Range("H7").Value = lsb_VanBanDi.List(lsb_VanBanDi.ListIndex, 7)
Range("I7").Value = lsb_VanBanDi.List(lsb_VanBanDi.ListIndex, 8)
Uf_SuaVanBanDi.Show
Unload Me
End Sub
Không phải ạ! khi kích đúp vào dòng bất kỳ trên List box tự động con trỏ chuột trả về dòng dữ liệu từ sheeet văn bản gốc, mục đích kiểu như trả về ban đầu con trỏ trả về đúng ngây dòng cũ á
Mong được phản hồi!!!
Mình muốn kích đúp vào listbox thì nó sẽ thoát form hiện tại và con trỏ sẽ đặt đúng dòng tại sheet dữ liệu gốc. Mong được phản hồi!
Bạn thực hiện như sau nhé
Private Sub lsb_VanBanDi_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Range("A7").Value = lsb_VanBanDi.List(lsb_VanBanDi.ListIndex, 0)
Dim sodong As Integer
sodong = Application.WorksheetFunction.Match(Sheet5.Range("A7").Value, Sheet5.Range("A9:A1000").Value, 0)
sodong = sodong + 8
Sheet5.Range("A" & sodong).Select
Unload Me
End Sub
E cảm ơn thầy ạ!
Thầy ơi. tư vấn giúp em code này được không ạ!
Em sử dụng code này để ẩn các thanh công cụ trên Excel để cho phần mềm chuyên nghiệp hơn. Tuy nhiên là mở 1 file khác thì nó ẩn luôn, em chỉ muốn file đang code bị ẩn thôi còn tất cả file excel vẫn hoạt động bình thường ạ??
muốn chuyên nghiệp phần mềm bạn tham dự khoá EXG06 tạo ribon thì phần mềm sẽ đẹp hơn nhé.
Có cách nào không ạ? Vì em đã code sẵn rồi, em chỉ ẩn ứng dụng mình chạy thôi, còn file khác thì hoạt động bình thưởng? có được không thầy?
Mong được giải đáp thắc mắc
Khi chạy code này:
Application.DisplayFullScreen = True
Application.DisplayFormulaBar = False
ActiveWindow.DisplayWorkbookTabs = False
ActiveWindow.DisplayHeadings = False
ActiveWindow.DisplayGridlines = False
thì nó bị ẩn file hiện tại, tuy nhiên mở file khác lên nó vẫn ẩn luôn
điều này mình không muốn có code khác không ạ. Chuyên gia???
Phần này nếu muốn hết cần chỉnh trong custom xml nữa mới đẹp được còn code của bạn giải quyết như sau
Option Explicit
Private Sub Workbook_Deactivate()
Application.ScreenUpdating = False
Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",True)"
Application.DisplayFormulaBar = True
ActiveWindow.DisplayHeadings = True
Application.DisplayStatusBar = True
ActiveWindow.DisplayWorkbookTabs = True
Application.ScreenUpdating = True
End Sub
Private Sub Workbook_Open()
Application.ScreenUpdating = False
Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",False)"
Application.DisplayFormulaBar = False
ActiveWindow.DisplayHeadings = False
Application.DisplayStatusBar = False
ActiveWindow.DisplayWorkbookTabs = False
Application.ScreenUpdating = True
End Sub
code đặt trong sự kiện thiswork book nhé.
Cảm ơn thầy ạ!
Bạn lên hỏi ra các câu hỏi mới để hiện thị nhanh hơn
Em muốn thay đổi icon phần mềm excel để nhìn nó chuyên nghiệp
phần này bạn có thể dùng công cụ đóng gói phần mềm nhé. như smart Install Maker
Cách sử dụng như nào ạ?? Thầy ơi?