Xin các thầy các cô giúp em tạo một cái userform tìm kiếm và sửa dư liệu (7 người xem)

Liên hệ QC

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

gamegamegamegame

Thành viên hoạt động
Tham gia
5/6/15
Bài viết
144
Được thích
5
Em muốn tạo một userform tìm kiếm mã hàng và sửa chửa
userform gồm
tìm kiếm mh
mh
tên hàng
loại
kg
giá kg
em muống khi đánh mã hàng vào ô tìm kiếm mh thì dữ liệu sẽ tự động lấy dữ liệu từ sheet quanglyhang vào userform
mh
tên hàng
loại
kg
giá kg
vd : Nếu em đánh vào ô tiềm kiếm mh trong userform là v1206 thì du lieu se tu dong dien vao o mh :v1206
tên hàng :vuông 12(0,6)
loai : 0.6k
kg :1.8
giá kg :17000
và em muống sửa chữa được 5 ô trống userfoem
vd : Em sửa mh v1206 thanh v1209
ten hang thanh vuong 12(0.9)
loai : 0.6k
kg : 1.7
gia kg : 15000
khi bam nut sua thi thay doi tren se tu dong thai doi trong sheet quanglyhang
mong dc sự góp ý cua các thầy và các cô
 
quên đây là file của em

Góp ý cho bạn:

- Khi bạn không dùng Form để nhập liệu mà tìm kiếm để làm gì khi Excel đã có sẳn (chọn cột và nhấn Ctrl+F) là tìm được ngay thứ bạn cần và chính xác hơn dùng Form nhiều.

- Còn muốn sử dụng Form để nhập liệu thì bạn phải có 1 sheet danh mục (mã hàng, tên hàng, đơn vị tính, giá), trên Form dùng 1 ListBox để có thể chọn nhiều mã hàng để nhập liệu hoặc chọn loại hàng cần sửa.
 
Upvote 0
Góp ý cho bạn:

- Khi bạn không dùng Form để nhập liệu mà tìm kiếm để làm gì khi Excel đã có sẳn (chọn cột và nhấn Ctrl+F) là tìm được ngay thứ bạn cần và chính xác hơn dùng Form nhiều.

- Còn muốn sử dụng Form để nhập liệu thì bạn phải có 1 sheet danh mục (mã hàng, tên hàng, đơn vị tính, giá), trên Form dùng 1 ListBox để có thể chọn nhiều mã hàng để nhập liệu hoặc chọn loại hàng cần sửa.


bạn có thể làm cho mình một cái màu đc ko mình là thành viên mới nên mình chưa hiểu lắm
 
Upvote 0
bạn có thể làm cho mình một cái màu đc ko mình là thành viên mới nên mình chưa hiểu lắm

Tôi đang làm việc trời ơi, đất hởi, có nghĩa là: người khác theo dõi tất tần tật mọi công việc (2 năm rồi), giờ yêu cầu tôi phải tổng hợp báo cáo kết quả mọi hoạt động.

Vì vậy, tôi không rảnh giúp bạn được, bạn có thể tải File ở bài #55 để tham khảo code, đúng như những thứ bạn cần, (tôi không đặt Pass), bên dưới là Link để bạn tải File ở Topic sau:

http://www.giaiphapexcel.com/forum/showthread.php?10068-Quản-Lý-Công-Văn-đi-Và-đến/page6
 
Upvote 0
Để học thì bạn tham khỏa Code sau cho chính Form của bạn.
Bạn nên đặt tên các Object cho chuẩn với ý nghĩa trường cần tham chiếu sẽ rất hữu ích cho các project lớn và tạo thói quen tốt cho lập trình
Mã:
Public i As Long
Private Sub CommandButton1_Click()
    If i > 0 Then
        Cells(i + 1, 1) = Me.TextBox2   'MH
        Cells(i + 1, 2) = Me.TextBox3   'Ten hang
        Cells(i + 1, 4) = Me.TextBox4   'loai
        Cells(i + 1, 5) = Me.TextBox6   'Kg
        Cells(i + 1, 6) = Me.TextBox7   'Gia kg
    End If
End Sub


Private Sub CommandButton2_Click()
    End
End Sub


Private Sub TextBox5_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    Dim Arr()
    Arr = Range("A2:F" & Range("A65536").End(3).Row)
    If KeyCode = 13 Then 'Khi bam Enter se hien thong tin
        For i = 1 To UBound(Arr, 1)
            If UCase(Arr(i, 1)) = UCase(Me.TextBox5) Then
                Me.TextBox2 = Arr(i, 1)    'MH
                Me.TextBox3 = Arr(i, 2)    'Ten hang
                Me.TextBox4 = Arr(i, 4)    'Loai
                Me.TextBox6 = Arr(i, 5)    'Kg
                Me.TextBox7 = Arr(i, 6)    'Gia kg
            Else
                i = 0
                MsgBox "Khong tim thay du lieu", vbInformation, "Thong bao"
            End If
        Exit For
        Next
    End If
End Sub
 
Upvote 0
Để học thì bạn tham khỏa Code sau cho chính Form của bạn.
Bạn nên đặt tên các Object cho chuẩn với ý nghĩa trường cần tham chiếu sẽ rất hữu ích cho các project lớn và tạo thói quen tốt cho lập trình
Mã:
Public i As Long
Private Sub CommandButton1_Click()
    If i > 0 Then
        Cells(i + 1, 1) = Me.TextBox2   'MH
        Cells(i + 1, 2) = Me.TextBox3   'Ten hang
        Cells(i + 1, 4) = Me.TextBox4   'loai
        Cells(i + 1, 5) = Me.TextBox6   'Kg
        Cells(i + 1, 6) = Me.TextBox7   'Gia kg
    End If
End Sub


Private Sub CommandButton2_Click()
    End
End Sub


Private Sub TextBox5_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    Dim Arr()
    Arr = Range("A2:F" & Range("A65536").End(3).Row)
    If KeyCode = 13 Then 'Khi bam Enter se hien thong tin
        For i = 1 To UBound(Arr, 1)
            If UCase(Arr(i, 1)) = UCase(Me.TextBox5) Then
                Me.TextBox2 = Arr(i, 1)    'MH
                Me.TextBox3 = Arr(i, 2)    'Ten hang
                Me.TextBox4 = Arr(i, 4)    'Loai
                Me.TextBox6 = Arr(i, 5)    'Kg
                Me.TextBox7 = Arr(i, 6)    'Gia kg
            Else
                i = 0
                MsgBox "Khong tim thay du lieu", vbInformation, "Thong bao"
            End If
        Exit For
        Next
    End If
End Sub



cảm ơn đã giúp đỡ một bài học hay
 
Upvote 0
anh ơi sao chị tìm đc mã đầu tiên vậy anh

Để học thì bạn tham khỏa Code sau cho chính Form của bạn.
Bạn nên đặt tên các Object cho chuẩn với ý nghĩa trường cần tham chiếu sẽ rất hữu ích cho các project lớn và tạo thói quen tốt cho lập trình
Mã:
Public i As Long
Private Sub CommandButton1_Click()
    If i > 0 Then
        Cells(i + 1, 1) = Me.TextBox2   'MH
        Cells(i + 1, 2) = Me.TextBox3   'Ten hang
        Cells(i + 1, 4) = Me.TextBox4   'loai
        Cells(i + 1, 5) = Me.TextBox6   'Kg
        Cells(i + 1, 6) = Me.TextBox7   'Gia kg
    End If
End Sub


Private Sub CommandButton2_Click()
    End
End Sub


Private Sub TextBox5_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    Dim Arr()
    Arr = Range("A2:F" & Range("A65536").End(3).Row)
    If KeyCode = 13 Then 'Khi bam Enter se hien thong tin
        For i = 1 To UBound(Arr, 1)
            If UCase(Arr(i, 1)) = UCase(Me.TextBox5) Then
                Me.TextBox2 = Arr(i, 1)    'MH
                Me.TextBox3 = Arr(i, 2)    'Ten hang
                Me.TextBox4 = Arr(i, 4)    'Loai
                Me.TextBox6 = Arr(i, 5)    'Kg
                Me.TextBox7 = Arr(i, 6)    'Gia kg
            Else
                i = 0
                MsgBox "Khong tim thay du lieu", vbInformation, "Thong bao"
            End If
        Exit For
        Next
    End If
End Sub

mã hàng thứ 2 thì báo không tìm thấy dữ liệu
 
Upvote 0
tôi có sửa lại 1 chút. Bạn thử xem sao
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
bản này chính xác hơn nhé ( do tôi có sự nhầm lẫn giữa giá với GIAKG @@ )
 

File đính kèm

Upvote 0
Web KT

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

Back
Top Bottom