Xin code VBA cho file tự động nhập liệu (1 người xem)

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

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

tle2003

Thành viên hoạt động
Tham gia
22/1/07
Bài viết
166
Được thích
59
Tôi đã xử dụng hàm (file đính kèm), nhờ các bác xem giúp
1. Tôi xử dụng như vậy có ổn không?
2. Xin code VBA thay thế ...

Cám ơn
 

File đính kèm

Tôi đã xử dụng hàm (file đính kèm), nhờ các bác xem giúp
1. Tôi xử dụng như vậy có ổn không?
2. Xin code VBA thay thế ...

Cám ơn

1. Công thức chưa ổn, khi [C] là số 0,hay không phải số. Tôi đã cập nhật file.
2. Xin các giúp cho phần VBA

Cám ơn
 

File đính kèm

Upvote 0
Xen ngang chàng Ba Tê này cái chơi!

Bác Ba Tê có thể giúp em
Không ghỉ dữ liệu cách ô được , ví dụ C3 = 10, thỉ chỉ có thể ghi vào được C4 , Khi C4 có giá trị thì chỉ có thẻ ghi vào được C5...
Cám ơn
PHP:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
 If Not Intersect(Target, Range("C3:C9999")) Is Nothing Then
    Const Ma$ = "GPE":                                  Const S0$ = "0000"
    Dim So As Long:                                     Dim Msg$
    
    Randomize
    If Target.Offset(-1).Value = "" Or Target.Value = 0 Then
        Msg = "Nothing":                                GoTo GPE
    Else
        With Target
            If Not IsNumeric(.Value) Then
                Msg = "Hay Nhap Kí Só""":               GoTo GPE
            Else
                If Left(.Offset(-1, 1).Value, 3) <> Ma Then
                    .Offset(, 1).Value = Ma & "00001"
                    .Offset(, 2).Value = Ma & Right("0000" & CStr(9 + Rnd() * 9 \ 1), 5)
                Else
                    So = 1 + CLng(Mid(.Offset(-1, 2).Value, 4, 5))
                    .Offset(, 1).Value = Ma & Right(S0 & CStr(So), 5)
                    .Offset(, 2).Value = Ma & Right(S0 & CStr(So + Rnd() * 9 \ 1), 5)
                End If
            End If
        End With
    End If
 End If
 Exit Sub
GPE:                                                    MsgBox Msg, , "Bye"
End Sub
 
Upvote 0
PHP:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
 If Not Intersect(Target, Range("C3:C9999")) Is Nothing Then
    Const Ma$ = "GPE":                                  Const S0$ = "0000"
    Dim So As Long:                                     Dim Msg$
    
    Randomize
    If Target.Offset(-1).Value = "" Or Target.Value = 0 Then
        Msg = "Nothing":                                GoTo GPE
    Else
        With Target
            If Not IsNumeric(.Value) Then
                Msg = "Hay Nhap Kí Só""":               GoTo GPE
            Else
                If Left(.Offset(-1, 1).Value, 3) <> Ma Then
                    .Offset(, 1).Value = Ma & "00001"
                    .Offset(, 2).Value = Ma & Right("0000" & CStr(9 + Rnd() * 9 \ 1), 5)
                Else
                    So = 1 + CLng(Mid(.Offset(-1, 2).Value, 4, 5))
                    .Offset(, 1).Value = Ma & Right(S0 & CStr(So), 5)
                    .Offset(, 2).Value = Ma & Right(S0 & CStr(So + Rnd() * 9 \ 1), 5)
                End If
            End If
        End With
    End If
 End If
 Exit Sub
GPE:                                                    MsgBox Msg, , "Bye"
End Sub

Cám ơn bạn HYen17, nhưng kết quả không được ổn. Mã đầu và mã cuối có vấn đề, xin bạn xem lại giúp.
 
Upvote 0
Hông hiểu luôn, cho file ví dụ đi.
Hình như là không được nhập kiểu ..."cà tưng", thí dụ chỉ được nhập vào [C100] khi [C99] có dữ liệu
Bài này có khi phải không chế ngay từ đầu, tức là cell [C3] phải có dữ liệu rồi mới xuống được [C4]......tiếp tục
Híc, nói đại, trật thì thôi vậy
 
Upvote 0
Hình như là không được nhập kiểu ..."cà tưng", thí dụ chỉ được nhập vào [C100] khi [C99] có dữ liệu
Bài này có khi phải không chế ngay từ đầu, tức là cell [C3] phải có dữ liệu rồi mới xuống được [C4]......tiếp tục
Híc, nói đại, trật thì thôi vậy

Ủa sao vậy ta? Tui nhập từa lưa nè.
 

File đính kèm

Upvote 0
Ủa sao vậy ta? Tui nhập từa lưa nè.

Code của Bác rất ngọt.., nhưng vấn đề là vì số mã là chuổi liên tục đã cho ra thì không thể thay đổi hay dùng lại ...
Em xin phép được chèn sheet Ví dụ vào file của bác.

Cám ơn
 

File đính kèm

Upvote 0
Hình như là không được nhập kiểu ..."cà tưng", thí dụ chỉ được nhập vào [C100] khi [C99] có dữ liệu
Bài này có khi phải không chế ngay từ đầu, tức là cell [C3] phải có dữ liệu rồi mới xuống được [C4]......tiếp tục
Híc, nói đại, trật thì thôi vậy

Đúng là vậy đó, cám ơn
 
Upvote 0
Em xin phép chèn thêm 1 dòng vào code của Bác. Nhờ bác xem lại giúp.


If Cll.Offset(-1, 0).Value = 0 Then Exit Sub

Cám ơn
 

File đính kèm

Upvote 0

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

Back
Top Bottom