Chủ đề: Form nhập liệu và bảng tổng hợp
-
05-27-2016, 04:27 PM #1Junior Member
- Ngày tham gia
- Nov 2015
- Bài viết
- 2
Form nhập liệu và bảng tổng hợp
Chào mợi người, mình không chuyên bên VBA nên có vấn để nhờ mọi người giúp đỡ, thanks all đã xem!
Hiện tại mình có cái form nhập liệu theo dạng excel, nhập dữ liệu xong bấm vào button OK thì nó lấy dữ liệu đã nhập copy sang sheet BANG TONG HOP, BANG TONG HOP đã có list dữ liệu nhập, nên dữ liệu sẽ nhập tiếp theo vào cuối bảng. Hic dài dòng khó hiểu quá!
Đây là code để copy dữ liệu từ sheet NHAP đển sheet BANG TONG HOP.
Code bị vấn đề gì đó, chạy rất tốn tài nguyên của máy, máy lag quá trời, tại gà mờ nên ko biết viết sao cho đúng
"
Sub NhapLieu()
Sheets("Bang Tong Hop").Select
n = Range("B" & Rows.Count).End(xlUp).Row
Sheets("NHAP").Select
NumRows = Range("A4", Range("A4").End(xlDown)).Rows.Count
If NumRows > 1 And NumRows < 1000 Then
For x = 1 To NumRows
Worksheets("Bang Tong Hop").Range("B" & x + n).Value = Range("B" & x + 3).Value
Worksheets("Bang Tong Hop").Range("C" & x + n).Value = Range("C" & x + 3).Value
Worksheets("Bang Tong Hop").Range("D" & x + n).Value = Range("D" & x + 3).Value
Worksheets("Bang Tong Hop").Range("E" & x + n).Value = Range("E" & x + 3).Value
Worksheets("Bang Tong Hop").Range("F" & x + n).Value = Range("F" & x + 3).Value
Next
Else
Sheets("Bang Tong Hop").Select
n = Range("F1").Value
Range("B1").Select
ActiveCell.Offset(n + 3, 0).Value = Sheets("NHAP").Range("B4").Value
ActiveCell.Offset(n + 3, 1).Value = Sheets("NHAP").Range("C4").Value
ActiveCell.Offset(n + 3, 2).Value = Sheets("NHAP").Range("D4").Value
ActiveCell.Offset(n + 3, 3).Value = Sheets("NHAP").Range("E4").Value
ActiveCell.Offset(n + 3, 4).Value = Sheets("NHAP").Range("F4").Value
End If
Sheets("NHAP").Select
Range("B4:B" & Range("B4").End(xlDown).Row).ClearContents
Range("E4:E" & Range("E4").End(xlDown).Row).ClearContents
End Sub
"
Please help me!!!View more random threads:
- tạo Pivot table giup mình với cả nhà!
- Phát hành sách Lập trình VBA trong Excel
- Nhập dữ liệu Sheet B,C,D thì tự động điền vào Sheet tổng hợp A
- Giúp tối ưu Marco trong Excel
- Anh chị viết giúp em đoạn code cho file đính kèm
- Gán giá trị cho 1 cell
- Nhập trùng dữ liệu 1 trong 2 cột thì hiện hộp thoại thông báo
- Xin giúp đỡ code lệnh tìm kiếm vba
- Xóa vùng các dòng một khi 1 ô trong vùng đạt điều kiện (cần xóa)
- Bẫy lỗi nhập trùng dữ liệu trong phạm vi cột chỉ định thì hiện hộp thoại thông báo
-
06-02-2016, 04:26 PM #2Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 0
Bạn gửi file mẫu của bạn để mình sửa giúp cho.
https://www.facebook.com/phamkieukieuvn
https://www.facebook.com/groups/VBAForExcel/
-
07-01-2016, 07:41 PM #3Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 0
1./ Câu lệnh này hơi kỳ:
Mã:NumRows = Range("A4", Range("A4").End(xlDown)).Rows.Count
Mã nguồn PHP:[COLOR=#000000]
NumRows [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]Range[/COLOR][COLOR=#007700]([/COLOR][COLOR=#DD0000]"A4"[/COLOR][COLOR=#007700]).[/COLOR][COLOR=#0000BB]End[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]xlDown[/COLOR][COLOR=#007700])).[/COLOR][COLOR=#0000BB]Row[/COLOR]
3./ Bạn lạm dụng câu lệnh .Select quá nhiều; Chuyện này cũng làm chậm;
Trong trường hợp chỉ thao tác trên 2 trang tính; bạn nên đứng ở 1 trang tính thôi;
Còn trang tính bên kia còn lại bạn nên làm vầy:
Khai báo 1 biến đối tượng là trang tính, như
Dim Sh As WorkSheet
Sau đó sét đối tượng này vô trang còn lại mà xài, như
Set Sh= ThisworkBook.WorkSheets("Nhap")
Sau đó thì thay vì:
Mã:Sheets("NHAP").Select Range("B4:B" & Range("B4").End(xlDown).Row).ClearContents Range("E4:E" & Range("E4").End(xlDown).Row).ClearContents
Mã nguồn PHP:[COLOR=#000000]
Sh[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]Range[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]Sh[/COLOR][COLOR=#007700].[[/COLOR][COLOR=#0000BB]B4[/COLOR][COLOR=#007700][, [/COLOR][COLOR=#0000BB]Sh[/COLOR][COLOR=#007700].[[/COLOR][COLOR=#0000BB]B4[/COLOR][COLOR=#007700]].[/COLOR][COLOR=#0000BB]End[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]xlDown[/COLOR][COLOR=#007700])).[/COLOR][COLOR=#0000BB]ClearContentsSh[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]Range[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]Sh[/COLOR][COLOR=#007700].[[/COLOR][COLOR=#0000BB]E4[/COLOR][COLOR=#007700]], [/COLOR][COLOR=#0000BB]Sh[/COLOR][COLOR=#007700].[[/COLOR][COLOR=#0000BB]E4[/COLOR][COLOR=#007700]].[/COLOR][COLOR=#0000BB]End[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]xlDown[/COLOR][COLOR=#007700])).[/COLOR][COLOR=#0000BB]ClearContents[/COLOR]
Tem ngậm Vinix là sản phẩm thuộc nhóm thực phẩm hỗ trợ sinh lý có tác dụng tăng cường nhu cầu, kích thích dương vật cương cứng ngay tức khắc. Từ khi ra đời, sản phẩm này đã được xem là giải pháp hàng...
Tem Vinix tăng cường "chuyện ấy" cho bạn trai đến từ xứ kim chi