Chào mừng đến với Diễn đàn Dân Kế Toán - Kế toán tổng hợp thực tế.
Kết quả 1 đến 3 của 3
  1. #1
    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!!!

  2. #2
    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/

  3. #3
    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
    Nếu bạn cần tìm dòng cuối chứa dữ liệu cũa cột [A:A] thì câu lệnh chỉ là:


    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] 
    2./ Khuyên bạn chí tình: Nên khai báo tường minh các biến để xài

    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
    ta chỉ cần:


    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] 

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •