Code nhập tên nhà cung cấp từ texbox xuống sheet không đúng. (1 người xem)

Liên hệ QC

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

NguyenthiH

Thành viên mới đăng ký
Tham gia
11/12/16
Bài viết
965
Được thích
175
Giới tính
Nữ
Em có tạo một form trong form chỉ có một textbox (tb_TNCC) để nhập tên nhà cung cấp, và commanbutton1 để lưu tên nhà cung cấp vào sheet, và commanbutton2 để thoát form, trong sheet đã có tên các nhà cung cấp từ AI4->AI21 rồi, thế mà hôm nay em nhập tiếp nhà cung cấp mới vào,mà tên nhà cung cấp lại gán vào AI422 chứ không phải là AI22. Mong các anh chị chỉnh dùm code.
Mã:
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long

Private Sub UserForm_Initialize()
Dim dw As Long, hwnd As Long, result()
    dw = &H84080080
    hwnd = FindWindow("ThunderDFrame", Me.Caption)
    SetWindowLong hwnd, -16, dw
    Me.Height = Me.Height + 1: Me.Height = Me.Height - 20
    
End Sub

Private Sub CommandButton1_Click()
Dim lastRow As Long
  lastRow = Sheet1.Range("AI65536").End(xlUp).Row
  Sheet1.Range("AI4" & lastRow + 1).Value = Application.Proper(Trim(tb_TNCC.Value))
' sap xep
  Sheet1.Range("AI4", Sheet1.Range("AI4").End(xlDown)).Sort key1:=Sheet1.Range("AI4"), order1:=xlAscending, Header:=xlYes
 tb_TNCC = ""
 tb_TNCC.SetFocus
  MsgBox ("da luu xong"), , "GPE"
End Sub

Private Sub CommandButton2_Click()
 Unload Me
End Sub
 
Em có tạo một form trong form chỉ có một textbox (tb_TNCC) để nhập tên nhà cung cấp, và commanbutton1 để lưu tên nhà cung cấp vào sheet, và commanbutton2 để thoát form, trong sheet đã có tên các nhà cung cấp từ AI4->AI21 rồi, thế mà hôm nay em nhập tiếp nhà cung cấp mới vào,mà tên nhà cung cấp lại gán vào AI422 chứ không phải là AI22. Mong các anh chị chỉnh dùm code.
Mã:
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long

Private Sub UserForm_Initialize()
Dim dw As Long, hwnd As Long, result()
    dw = &H84080080
    hwnd = FindWindow("ThunderDFrame", Me.Caption)
    SetWindowLong hwnd, -16, dw
    Me.Height = Me.Height + 1: Me.Height = Me.Height - 20
   
End Sub

Private Sub CommandButton1_Click()
Dim lastRow As Long
  lastRow = Sheet1.Range("AI65536").End(xlUp).Row
  Sheet1.Range("AI4" & lastRow + 1).Value = Application.Proper(Trim(tb_TNCC.Value))
' sap xep
  Sheet1.Range("AI4", Sheet1.Range("AI4").End(xlDown)).Sort key1:=Sheet1.Range("AI4"), order1:=xlAscending, Header:=xlYes
tb_TNCC = ""
tb_TNCC.SetFocus
  MsgBox ("da luu xong"), , "GPE"
End Sub

Private Sub CommandButton2_Click()
Unload Me
End Sub
Khả năng là bạn kẻ dòng hoặc làm cái gì đó làm nó xác nhận sai vị trí cuối dòng.Bạn thử xóa delete từ dòng 22 trở đi rồi chạy code xem.
 
Upvote 0
Mình đã xóa tới cell AI1022,mà khi nhập tên nhà cung cấp vẫn vào cell AI422.
 
Upvote 0
Dòng này:
Sheet1.Range("AI4" & lastRow + 1)
 
Upvote 0
Cám ơn bạn @Minh Tùng nhe, mình sửa như bạn thì được rồi, sao kỳ vậy ta.
 
Upvote 0
Cám ơn bạn @Minh Tùng nhe, mình sửa như bạn thì được rồi, sao kỳ vậy ta.
Chuyện kỳ lạ này, theo mình bạn nên hỏi VBE trước khi đưa câu hỏi lên diễn đàn

Ví dụ: Trước dòng lệnh

Sheet1.Range("AI4" & lastRow + 1).Value = Application.Proper(Trim(tb_TNCC.Value))

bạn nên thêm dòng lệnh tạm như:

MsgBox Sheet1.Range("AI4" & lastRow + 1).Row
 
Upvote 0
Chuyện kỳ lạ này, theo mình bạn nên hỏi VBE trước khi đưa câu hỏi lên diễn đàn

Ví dụ: Trước dòng lệnh

Sheet1.Range("AI4" & lastRow + 1).Value = Application.Proper(Trim(tb_TNCC.Value))

bạn nên thêm dòng lệnh tạm như:

MsgBox Sheet1.Range("AI4" & lastRow + 1).Row
Cái Msg box này hay nè. Mình hay mấy vụ kiểm tra giá trị
 
Upvote 0
Web KT

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

Back
Top Bottom