Nhờ các bạn xem và sửa giúp câu lệnh bị sai ? (4 người xem)

  • Thread starter Thread starter le_vis
  • Ngày gửi Ngày gửi
Liên hệ QC

Người dùng đang xem chủ đề này

le_vis

Thành viên tích cực
Tham gia
23/7/09
Bài viết
1,322
Được thích
813
Ý nghĩa câu lệnh : Đánh số thứ tự tự động với điều kiện 2 ký tự đầu của cột I = nc
.Range("J" & lr).Value = "=if(left(RC[-1],2)= nc," & Chr(34) & Chr(34) & ",max(R7C:R[-1]C)+1)"

xin cảm ơn
 
Ý nghĩa câu lệnh : Đánh số thứ tự tự động với điều kiện 2 ký tự đầu của cột I = nc
.Range("J" & lr).Value = "=if(left(RC[-1],2)= nc," & Chr(34) & Chr(34) & ",max(R7C:R[-1]C)+1)"
xin cảm ơn

Một câu lệnh thế này thì cơm cháo ra sao mà biết!

Hoặc bạn đưa nguyên macro í lên hay file giả lập; Chứ thế này thì mùng thất cũng chả có ai hỗ trợ được bạn mà xem!
 
Một câu lệnh thế này thì cơm cháo ra sao mà biết!

Hoặc bạn đưa nguyên macro í lên hay file giả lập; Chứ thế này thì mùng thất cũng chả có ai hỗ trợ được bạn mà xem!
Cảm ơn HYen17 bạn đã quan tâm . GPE Chuyển toàn tiếng anh (Làm khó mình quá) nay Mình xin đính kèm File và những yêu cầu ghi rõ trong các Sheet mong các bạn quan tâm giúp. Mình sửa mãi không được
 

File đính kèm

Ý nghĩa câu lệnh : Đánh số thứ tự tự động với điều kiện 2 ký tự đầu của cột I = nc
.Range("J" & lr).Value = "=if(left(RC[-1],2)= nc," & Chr(34) & Chr(34) & ",max(R7C:R[-1]C)+1)"

xin cảm ơn
bạn chỉnh lại
Mã:
....= "=IF(LEFT(RC[-1],2)<> ""kh"","""",MAX(R7C:R[-1]C)+1)"
2 sheet khác có lẽ bạn phải thêm điều kiện, số 50 tùy bạn thay đổi theo cột lấy dữ liệu
Mã:
If SrcArr(lr, 50) <> "" Then
 
Cảm ơn HieuCD vẫn bị lỗi bạn xem lại giúp
.Range("J" & lr).Value = "=IF(LEFT(RC[-1],2)<>""kh""," & Chr(34) & Chr(34) & ",MAX(R7C:R[-1]C)+1)"
Báo lỗi #NAME? bạn xem lại giúp nhé
 
Cảm ơn HieuCD vẫn bị lỗi bạn xem lại giúp
.Range("J" & lr).Value = "=IF(LEFT(RC[-1],2)<>""kh""," & Chr(34) & Chr(34) & ",MAX(R7C:R[-1]C)+1)"
Báo lỗi #NAME? bạn xem lại giúp nhé
bạn chạy thử code xem có lỗi không
Mã:
Private Sub UpdateCustmer_N()
Dim mst As String, wsKH As Worksheet, wsForm As Worksheet, lr As Long, indez As Variant
Set wsKH = Worksheets("DS_KH")
Set wsForm = Worksheets("Form_N")
Sheets("DS_KH").Unprotect Password:=""
mst = wsForm.[$E$4].Value
If WorksheetFunction.Trim(mst) <> "" Then
    With wsKH
        lr = WorksheetFunction.Max(.Range("D" & .Rows.Count).End(xlUp).Row, 8)
        indez = Application.Match(mst, .Range("D8:D" & lr), 0)
        If TypeName(indez) = "Error" Then
            lr = lr + 1
            .Range("C" & lr).Value = "=if(RC[1]=0," & Chr(34) & Chr(34) & ",max(R7C:R[-1]C)+1)"
            .Range("J" & lr).Value = "=IF(LEFT(RC[-1],2)<>""kh""," & Chr(34) & Chr(34) & ",MAX(R7C:R[-1]C)+1)"
            .Range("D" & lr).Value = "'" & mst
            .Range("E" & lr).Value = wsForm.[C5].Value
            .Range("F" & lr).Value = wsForm.[C6].Value
            .Range("H" & lr).Value = wsForm.[E7].Value
            .Range("G" & lr).Value = "'" & wsForm.[C7].Value
            .Range("I" & lr).Value = wsForm.[C4].Value
        End If
    End With
End If
Sheets("DS_KH").Protect Password:="", AllowFiltering:=True
End Sub
 
Cảm ơn bạn HieuCD. Mình phát hiện ra rồi. Câu lệnh bạn sửa lại cho là đúng nhưng lỗi là do định dạng FIle. Xin lỗi đã làm mất thời gian của bạn
 
Xin lỗi các bạn tại File #3 phát sinh lỗi này nhờ các bạn xem và hỗ trợ mình mói :
Trên From có 02 vùng Ceel H3 và Ceel F10 chứa dữ liệu ngày tháng năm

Tại Sheet BTH_N dữ liệu tại các cột E và cột C đang lưu dưới dạng dd/mm/yyyy

Từ Form nhập liệu ta gọi dữ liệu về để sửa (Gọi theo số quản lý tại cột D):
Lúc này dữ liệu tương ứng của vùng Ceel cột E sẽ được loát về vùng Ceel H3 dữ liệu tương ứng vùng Ceel cột C sẽ được loát về vùng Ceel F10 thì xảy ra trường hợp :

Tại vùng Ceel H3 dữ Liệu bị đảo thành mm/dd/yyyy trong khi đó vùng Ceel F10 không bị hiện tương này.

Tôi đã kiểm tra và định dạng lại từ trong Catrolpanel cho đến các vùng Ceel đồng nhất dữ liệu dd/mm/yyyy nhưng vận bị hiện tượng này (Đang dùng Office 2007)

Xin mọi người trợ giúp :

- Tại sao bị như thế, cách xử lý

- Hoặc có thể xử lý thế nào với câu lệnh này để giải quyết được vấn đề nêu trên :

wsForm.[H3].Value = .Range("E" & indez(0)).Value

Trân trọng cảm ơn.
 
Lần chỉnh sửa cuối:
Web KT

Bài viết mới nhất

Back
Top Bottom