lỗi cụ thể là lỗi j bạn? bạn thử chụp hình lên đây xem saoChào mọi người
Cho em hỏi là cùng 1 đoạn code mà trên máy em lại không chạy được nhưng qua máy khác lại chạy được.
Mọi người chỉ cho em khắc phục lỗi này với ạ. Em cám ơn!
lỗi cụ thể là lỗi j bạn? bạn thử chụp hình lên đây xem saoChào mọi người
Cho em hỏi là cùng 1 đoạn code mà trên máy em lại không chạy được nhưng qua máy khác lại chạy được.
Mọi người chỉ cho em khắc phục lỗi này với ạ. Em cám ơn!
Em gửi file đính kèm. nhờ mọi người xem giúp em. bình thường em mở file là nó chạy bình thường nhưng giờ nó không chạy được. nhưng đem qua máy khác thì vẩn chạy bình thường. em cám ơn!lỗi cụ thể là lỗi j bạn? bạn thử chụp hình lên đây xem sao
Dạ e gửi ảnh và file đính kèm rồi đó ahThì ít ra bạn cũng lôi cái code đó lên đây.Và xem nó lỗi ở đâu.Tốt nhất gửi file lỗi lên.
Mình gửi vd lên nhờ các bắc bớt chút thời gian chỉ dùm vài chiêu
Cảm ơn các bạn nhiều!!!
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B4")) Is Nothing Then
Range("C4") = "=IFERROR(VLOOKUP(RC[-1],MA!R3C2:R7C4,2,0),"""")"
Range("D4") = "=IFERROR(VLOOKUP(RC[-2],MA!R3C2:R7C4,3,0),"""")"
Range("C4:d4").Value = Range("C4:d4").Value
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B4")) Is Nothing Then
Range("C4").Value = Evaluate("=IFERROR(VLOOKUP(B4,MA!$B$3:$D$7,2,0),"""")")
Range("D4").Value = Evaluate("=IFERROR(VLOOKUP(B4,MA!$B$3:$D$7,3,0),"""")")
End If
End Sub
Cái mồ này đã tám năm rồi mà.Ngắn hơn một chút:
...
Tôi có mở file, nhìn code vậy tôi cũng chưa ra được lỗi gì? Máy này chạy được, máy kia ko chạy được có thể do phần Path (không tồn tại đường dẫn này).Em gửi file đính kèm. nhờ mọi người xem giúp em. bình thường em mở file là nó chạy bình thường nhưng giờ nó không chạy được. nhưng đem qua máy khác thì vẩn chạy bình thường. em cám ơn!
dạ em cám ơn ạ!Tôi có mở file, nhìn code vậy tôi cũng chưa ra được lỗi gì? Máy này chạy được, máy kia ko chạy được có thể do phần Path (không tồn tại đường dẫn này).
Như một số chuyên gia có tư vấn, việc gộp File bạn nên dùng thử Power Query, có tài liệu của thầy @ptm0412.
Thử xem sao nhé
Ngắn nhất cho bạn. Dể hiểu nhất cho bạn......Buye
Mã:Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("B4")) Is Nothing Then Range("C4") = "=IFERROR(VLOOKUP(RC[-1],MA!R3C2:R7C4,2,0),"""")" Range("D4") = "=IFERROR(VLOOKUP(RC[-2],MA!R3C2:R7C4,3,0),"""")" Range("C4:d4").Value = Range("C4:d4").Value End If End Sub
Chào bạn,Ngắn hơn một chút:
PHP:Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("B4")) Is Nothing Then Range("C4").Value = Evaluate("=IFERROR(VLOOKUP(B4,MA!$B$3:$D$7,2,0),"""")") Range("D4").Value = Evaluate("=IFERROR(VLOOKUP(B4,MA!$B$3:$D$7,3,0),"""")") End If End Sub
Dùng thử phương thức tìm kiếm Find xem sao, click UpdateChào bạn,
Tương tự như yêu cầu của chủ đề,
Bạn ban đầu Vlookup cho 1 giá trị. Nếu mở rộng thêm nhiều giá trị tương tự thì code VBA thế nào vậy, có thể giúp mình được không.
Thanks
Sub FindMethod()
Dim i&, Rng As Range, KQ(), Ma()
Ma = Range(Sheets("CT").[B4], Sheets("CT").[B500].End(3))
ReDim KQ(1 To UBound(Ma), 1 To 2)
For i = 1 To UBound(Ma)
Set Rng = Sheets("MA").[B3:B500].Find(Ma(i, 1), , , 1)
If Not Rng Is Nothing Then
KQ(i, 1) = Rng(, 1)
KQ(i, 2) = Rng(, 2)
End If
Next
Sheets("CT").[C4].Resize(i - 1, 2) = KQ
End Sub
yêu câu thứ 1: khi thay đổi bất kỳ bên sheet "LLNV" thì sheet "chitiet" cập nhật theo (giống tính năng của hàm vlookup)
cái này có thể sử dụng find method trong sự kiện worksheet change cho sheet "LLNV"
tuy nhiên cho hỏ là: các mã cột C của sheet "chi tiet" có trùng nhau ko?
câu hỏi 2: nếu nằm ở file khác thì phức tạp hơn là phải mở file đó ra rồi dùng phương pháp Find
(hoặc dùng ADO, cái này thì tôi chỉ biết là vậy chứ chưa biết làm)
Câu 2 bạn đã nhận được sự giúp đỡ chưa? Mình cũng đang tìm đề tài này.yêu câu thứ 1: khi thay đổi bất kỳ bên sheet "LLNV" thì sheet "chitiet" cập nhật theo (giống tính năng của hàm vlookup)
cái này có thể sử dụng find method trong sự kiện worksheet change cho sheet "LLNV"
tuy nhiên cho hỏ là: các mã cột C của sheet "chi tiet" có trùng nhau ko?
câu hỏi 2: nếu nằm ở file khác thì phức tạp hơn là phải mở file đó ra rồi dùng phương pháp Find
(hoặc dùng ADO, cái này thì tôi chỉ biết là vậy chứ chưa biết làm)
Nên chăng copy dữ liệu nguồn vào 1 sheet, tha hồ tìm kiếm, truy vấn...chào mọi người
cho em hỏi nếu link từ 1 file khác sang thi nên dùng code nào ạ
Mong mọi người giúp đỡ
Link File thì không cần dùng code, cứ gõ dấu = ; hoặc copy - paste link thông thường của Excel là đượcchào mọi người
cho em hỏi nếu link từ 1 file khác sang thi nên dùng code nào ạ
Mong mọi người giúp đỡ
Code viết rất hay, cảm on bạn sẽ để dành dùng khin cầnCái ni cũng vừa đủ sòai nề
PHP:Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("B4:B99")) Is Nothing Then Dim Rng As Range, sRng As Range, Sh As Worksheet Set Sh = ThisWorkbook.Worksheets("MA") Set Rng = Sh.Range(Sh.[b2], Sh.[b2].End(xlDown)) Set sRng = Rng.Find(Target.Value, , xlFormulas, xlWhole) If sRng Is Nothing Then MsgBox "Nothing" Else Target.Offset(, 1).Resize(, 2).Value = sRng.Offset(, 1).Resize(, 2).Value End If End If End Sub
Code viết rất hay, cảm on bạn sẽ để dành dùng khin cần
Bạn thử Code.Chào các bác.
Nhờ các bác thêm giúp e đoạn code để có thể tìm từ cột MA sang nhiều sheet với ạ.
Hiện tại ở File e đã lấy từ một bác ở trên, chạy khá ổn, giờ e muốn nó chạy thêm vài sheet nữa để.
Sub laydulieu()
Dim i As Long, lr As Long, dic As Object, a As Long, sh As Worksheet, kq, arr, dk As String
Set dic = CreateObject("scripting.dictionary")
With Sheets("Ma")
lr = .Range("B" & Rows.Count).End(xlUp).Row
If lr < 3 Then Exit Sub
arr = .Range("B3:E" & lr).Value
For i = 1 To UBound(arr)
dk = arr(i, 1)
If Not dic.exists(dk) Then
dic.Add dk, arr(i, 4)
End If
Next i
End With
For Each sh In ThisWorkbook.Worksheets
If sh.Name <> "MA" Then
With sh
lr = .Range("B" & Rows.Count).End(xlUp).Row
If lr > 3 Then
arr = .Range("B4:C" & lr).Value
ReDim kq(1 To UBound(arr), 1 To 1)
For i = 1 To UBound(arr)
dk = arr(i, 1)
If dic.exists(dk) Then
kq(i, 1) = dic.Item(dk)
End If
Next i
End If
.Range("G4:G" & lr).Value = kq
End With
End If
Next
End Sub