bluecat
Thành viên mới
- Tham gia
- 7/10/06
- Bài viết
- 37
- Được thích
- 1
Tôi dùng đọan mã sau nhập dữ liệu cho excel từ form (có 19 textbox) gồm 19 hàng trong cùng 1 cột và dùng cell A1 (đặt tên là DemCot) để nhảy số cho vòng lặp. Giá trị đầu tiên của DemCot = 1.
Private Sub GhiSo_Click()
S01.Select
Range("DemCot").Select
TongSoCot = Range("DemCot").Value
For N = 1 To TongSoCot
ActiveCell.Offset(1, 0).Select: ActiveCell.Value = Me.Dai.Value
ActiveCell.Offset(1, 0).Select: ActiveCell.Value = Me.XLo1.Value
ActiveCell.Offset(1, 0).Select: ActiveCell.Value = Me.XLo2.Value
ActiveCell.Offset(1, 0).Select: ActiveCell.Value = Me.XLo3.Value
ActiveCell.Offset(1, 0).Select: ActiveCell.Value = Me.XLo4.Value
ActiveCell.Offset(1, 0).Select: ActiveCell.Value = Me.XLo5.Value
ActiveCell.Offset(1, 0).Select: ActiveCell.Value = Me.XLo6.Value
ActiveCell.Offset(1, 0).Select: ActiveCell.Value = Me.XLo7.Value
ActiveCell.Offset(1, 0).Select: ActiveCell.Value = Me.XLo8.Value
ActiveCell.Offset(1, 0).Select: ActiveCell.Value = Me.XLo9.Value
ActiveCell.Offset(1, 0).Select: ActiveCell.Value = Me.XLo10.Value
ActiveCell.Offset(1, 0).Select: ActiveCell.Value = Me.XLo11.Value
ActiveCell.Offset(1, 0).Select: ActiveCell.Value = Me.XLo12.Value
ActiveCell.Offset(1, 0).Select: ActiveCell.Value = Me.XLo13.Value
ActiveCell.Offset(1, 0).Select: ActiveCell.Value = Me.XLo14.Value
ActiveCell.Offset(1, 0).Select: ActiveCell.Value = Me.XLo15.Value
ActiveCell.Offset(1, 0).Select: ActiveCell.Value = Me.XLo16.Value
ActiveCell.Offset(1, 0).Select: ActiveCell.Value = Me.XLo17.Value
ActiveCell.Offset(1, 0).Select: ActiveCell.Value = Me.XLo18.Value
Range("DemCot").Select
Range("DemCot").Value = Range("DemCot").Value + 1
ActiveCell.Offset(0, N).Select
Next
End Sub
Xin cho hỏi tôi bị sai ở đâu :
- Sau mỗi lần nhập dữ liệu thì DemCot lại tăng thành gấp đôi chứ không phải là một đơn vị?
- Vòng lặp sai ở chổ nào mà Excel luôn ghi dữ liệu bắt đầu từ cột A
Xin giúp tôi :
- Có cách nào không cần dùng cel tham chiếu A1 (DemCot)?
- Để Excel tự động nhảy cột tiếp theo để ghi dữ liệu không?
- Làm sao để khi đến cột 256 thì Excel tự động xuống dòng và tiếp tục ghi?
Cảm ơn các bạn nhiều. (Xin chỉ cụ thể vì tôi mới tiếp xúc vơi VBA)
Private Sub GhiSo_Click()
S01.Select
Range("DemCot").Select
TongSoCot = Range("DemCot").Value
For N = 1 To TongSoCot
ActiveCell.Offset(1, 0).Select: ActiveCell.Value = Me.Dai.Value
ActiveCell.Offset(1, 0).Select: ActiveCell.Value = Me.XLo1.Value
ActiveCell.Offset(1, 0).Select: ActiveCell.Value = Me.XLo2.Value
ActiveCell.Offset(1, 0).Select: ActiveCell.Value = Me.XLo3.Value
ActiveCell.Offset(1, 0).Select: ActiveCell.Value = Me.XLo4.Value
ActiveCell.Offset(1, 0).Select: ActiveCell.Value = Me.XLo5.Value
ActiveCell.Offset(1, 0).Select: ActiveCell.Value = Me.XLo6.Value
ActiveCell.Offset(1, 0).Select: ActiveCell.Value = Me.XLo7.Value
ActiveCell.Offset(1, 0).Select: ActiveCell.Value = Me.XLo8.Value
ActiveCell.Offset(1, 0).Select: ActiveCell.Value = Me.XLo9.Value
ActiveCell.Offset(1, 0).Select: ActiveCell.Value = Me.XLo10.Value
ActiveCell.Offset(1, 0).Select: ActiveCell.Value = Me.XLo11.Value
ActiveCell.Offset(1, 0).Select: ActiveCell.Value = Me.XLo12.Value
ActiveCell.Offset(1, 0).Select: ActiveCell.Value = Me.XLo13.Value
ActiveCell.Offset(1, 0).Select: ActiveCell.Value = Me.XLo14.Value
ActiveCell.Offset(1, 0).Select: ActiveCell.Value = Me.XLo15.Value
ActiveCell.Offset(1, 0).Select: ActiveCell.Value = Me.XLo16.Value
ActiveCell.Offset(1, 0).Select: ActiveCell.Value = Me.XLo17.Value
ActiveCell.Offset(1, 0).Select: ActiveCell.Value = Me.XLo18.Value
Range("DemCot").Select
Range("DemCot").Value = Range("DemCot").Value + 1
ActiveCell.Offset(0, N).Select
Next
End Sub
Xin cho hỏi tôi bị sai ở đâu :
- Sau mỗi lần nhập dữ liệu thì DemCot lại tăng thành gấp đôi chứ không phải là một đơn vị?
- Vòng lặp sai ở chổ nào mà Excel luôn ghi dữ liệu bắt đầu từ cột A
Xin giúp tôi :
- Có cách nào không cần dùng cel tham chiếu A1 (DemCot)?
- Để Excel tự động nhảy cột tiếp theo để ghi dữ liệu không?
- Làm sao để khi đến cột 256 thì Excel tự động xuống dòng và tiếp tục ghi?
Cảm ơn các bạn nhiều. (Xin chỉ cụ thể vì tôi mới tiếp xúc vơi VBA)