Làm form nhập thêm số trong VBA (1 người xem)

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

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

xukj

Thành viên mới
Tham gia
31/8/11
Bài viết
24
Được thích
0
Có bác pro nào chỉ giúp tại sao câu lệnh này:

PHP:
Private Sub cmdtiep_Click()
    Dim h As Byte
    h = 6
    Range("a6").Value = 1
    While Range("b" & h).Value <> ""
        h = h + 1
    Wend
    If (txtx.Value <> "" & txty.Value <> "") Then
        Range("b" & h).Value = txtx.Value
        Range("c" & h).Value = txty.Value
        Range("a" & h + 1).Value = Range("a" & h).Value + 1
    Else
        txtx.Value = ""
        txty.Value = ""
        txtx.SetFocus
    End If
    txtx.Value = ""
    txty.Value = ""
    txtx.SetFocus
End Sub

khi mà nhập thêm x,trống y thì nó vẫn chạy, còn nhập y mà trống x thì nó chạy thêm 1 lần thui:
Có file đi kèm
Giúp gấp nhá. Sắp phải nộp cái này ùi.
Thêm cái link có file excel o trong đó
http://www.mediafire.com/?9qj1qe6qaye3t21,dbe1bj7u6xebcdz
tks 8-x
 

File đính kèm

  • Hinh.jpg
    Hinh.jpg
    37.4 KB · Đọc: 13
  • Hinhne.jpg
    Hinhne.jpg
    84.5 KB · Đọc: 9
Chỉnh sửa lần cuối bởi điều hành viên:
Có bác pro nào chỉ giúp tại sao câu lệnh này:

PHP:
Private Sub cmdtiep_Click()
    Dim h As Byte
    h = 6
    Range("a6").Value = 1
    While Range("b" & h).Value <> ""
        h = h + 1
    Wend
    If (txtx.Value <> "" & txty.Value <> "") Then
        Range("b" & h).Value = txtx.Value
        Range("c" & h).Value = txty.Value
        Range("a" & h + 1).Value = Range("a" & h).Value + 1
    Else
        txtx.Value = ""
        txty.Value = ""
        txtx.SetFocus
    End If
    txtx.Value = ""
    txty.Value = ""
    txtx.SetFocus
End Sub

khi mà nhập thêm x,trống y thì nó vẫn chạy, còn nhập y mà trống x thì nó chạy thêm 1 lần thui:
Có file đi kèm
Giúp gấp nhá. Sắp phải nộp cái này ùi.
Thêm cái link có file excel o trong đó
http://www.mediafire.com/?9qj1qe6qaye3t21,dbe1bj7u6xebcdz
tks 8-x
Thấy nó vẫn cứ dài dài mình viết lại chút.Bạn xem đúng yêu cầu chưa nhé.
PHP:
Private Sub cmdtiep_Click()
Dim dg As Byte
With Sheet1
dg = .[b1000].End(xlUp).Row
If Me.txtx = "" And Me.txty = "" Then
 Unload Me
 Else
        .Cells(dg + 1, 2) = Val(Me.txtx)
        .Cells(dg + 1, 3) = Val(Me.txty)
        .Cells(dg + 1, 1) = dg - 4
    End If
    End With
End Sub
Chú ý:
Nếu nhập dữ liệu hoặc x trống hoặc y trống để cells đó không hiện 0 thì
.Cells(dg + 1, 2) = val(Me.txtx)-->.Cells(dg + 1, 2) = Me.txtx
.Cells(dg + 1, 3) = val(Me.txtx)-->.Cells(dg + 1, 2) = Me.txty
 
Lần chỉnh sửa cuối:
Upvote 0
Tks bác. Nhưng mình mún là dữ liệu x và y là bắt buộc phải có. Nếu chỉ có 1 trong 2 hoặc là không thì khi mình nhấn tiếp nó sẽ không add thêm giá trị vào
Cái của bác hay mà câu lệnh cũng ngắn but thiếu cái phần đó
Ak mà: dg = .[b1000].End(xlUp).Row câu lệnh này mang ý nghĩa j thế?????
 
Upvote 0
Tks bác. Nhưng mình mún là dữ liệu x và y là bắt buộc phải có. Nếu chỉ có 1 trong 2 hoặc là không thì khi mình nhấn tiếp nó sẽ không add thêm giá trị vào
Cái của bác hay mà câu lệnh cũng ngắn but thiếu cái phần đó
Ak mà: dg = .[b1000].End(xlUp).Row câu lệnh này mang ý nghĩa j thế?????
nếu bắt buộc cái dữ liệu X,y phải có thì lại càng dễ mình nghĩ bạn làm được chứ nhỉ?
If Me.txtx = "" Or Me.txty = "" Then
MsgBox ("ban chua nhap dung du lieu kia")
còn cái tiếp theo thì tham khảo cái này:
http://www.giaiphapexcel.com/forum/archive/index.php/t-12903.html
 
Lần chỉnh sửa cuối:
Upvote 0
Uk thank bạn. Cái đó thì không có j
8-x 8-x 8-x
 
Upvote 0
Web KT

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

Back
Top Bottom