Chèn thêm hàng có điều kiện và tự đông tính tổng (2 người xem)

Liên hệ QC

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

Cám ơn bạn Ba Tê nhiều, dữ liệu lần sau không liên quan đến lần trước, bạn đã giúp mình giảm bớt thao tác làm việc rất nhiều, nếu không có bạn giúp đỡ mình phải làm thủ công rất vất vã.
Nếu bạn có thời gian bạn giúp mình tối ưu hóa dùm mình nha.

Mình gởi bạn file export nguyên gốc từ phần mềm của công ty mình ra. File gốc này mặc định có một cột trống đầu tiên là cột A.
Giờ mình vẫn phải làm thủ công xóa đi cột A sau khi export từ phần mềm, cột A này mặc định rất nhỏ phải kéo rộng ra mới bấm chuột phải vào xóa được.
Do phải cần tính sản lượng liên quan đến ngày, nên mình cần dữ liệu nguồn thêm hai cột nữa là 6 cột, mình thêm cột A là "Complete date ", cột này có thể đặt ở vị trí cột A hoặc B, C, D, E, F đều được. và một cột nữa là " Họ và Tên "
File khi export được đặt tên với định dạng sau: tháng_mã hàng_chuyền. Ví dụ: Feb_VN10132_Line_2.xls
File export sản lượng của chuyền ra đặt chung thư mục với file " ChenDongTong_Mau4.xls
Bạn có thể tạo cho mình một nút command giống như nút " Delete " tên là " Copy " với chức năng sau:
1. Tự động xóa cột trống ( A ) của file export từ phần mềm ( file gốc Feb_VN10132_Line_2.xls)
2. Copy dữ liệu từ của file Feb_VN10132_Line_3.xls ( lúc này file này đã được xóa cột A trống )
3. Paste dữ liệ đã copy vào file ChenDongTong_Mâu4.xls tại vị trí bắt đầu là A3 ngang qua 6 cột và xuống đến hết dữ liệu.
Trong cùng thư mục lúc này có nhiều File được Export từ phần mềm của các chuyền khác và các mã hàng khác
ví dụ như: Mar_VN10123_Line_9.xls, Mar_VN10123_Line_10.xls .......

Mình mới upload lên file Feb_VN10132_Line_2.xls với file mới export từ phần mềm với 6 cột.

Thật sự cám ơn bạn rất nhiều với những gì bạn đã giúp đỡ mình.
Mình ở Long An, bạn có ở gần gần mình không, có dịp cho mình mời bạn caphe nha.

1/ Các vấn đề liên quan đến code cũ:
- Chèn thêm cột, làm thay đổi cấu trúc viết code
- Thay đổi thứ tự cột, cũng làm thay đổi nội dung code
- Nếu tiếp tục thay đổi thêm nữa thì "nghỉ".
2/ Dữ liệu file con từ cột B, Copy sang mẫu vào cột A, Nếu quy luật như vậy thì không cần phải xoá cột A trong file con.
3/ Vì không biết các File của bạn nằm ở đâu trong máy bạn, nên tạm phải mở file con lên, nhập tên file chính xác vào ô A1 của file Mẫu.
Trong Sub có các dòng lệnh Open file con khi nó chưa được mở, (đã bị vô hiệu bằng dấu nháy đơn đầu dòng). Bạn thử bỏ các dấu nháy đó và thử code chạy có bị lỗi không. (Điều kiện: File Mẫu và các file con nằm cùng Folder)
PHP:
Public Sub Copy_Line()
Application.ScreenUpdating = False
'On Error Resume Next'
Dim Wb As Workbook, FName As String, Pat As String, DK As Boolean, Myname As String
'Pat = ThisWorkbook.Path'
Myname = ThisWorkbook.Name
FName = Range("A1").Value
'For Each Wb In Workbooks'
    'If Wb.Name = FName Then DK = True'
'Next Wb'
'If DK = False Then'
    'Workbooks.Open Filename:=Pat & "\" & FName  '
'End If'
Windows(FName).Activate
    Range([B2], [B2].End(xlDown)).Resize(, 6).Copy
Windows(Myname).Activate
    Range("A4").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Range("K1").Select
End Sub
 

File đính kèm

Lần chỉnh sửa cuối:
1/ Các vấn đề liên quan đến code cũ:
- Chèn thêm cột, làm thay đổi cấu trúc viết code
- Thay đổi thứ tự cột, cũng làm thay đổi nội dung code
- Nếu tiếp tục thay đổi thêm nữa thì "nghỉ".
2/ Dữ liệu file con từ cột B, Copy sang mẫu vào cột A, Nếu quy luật như vậy thì không cần phải xoá cột A trong file con.
3/ Vì không biết các File của bạn nằm ở đâu trong máy bạn, nên tạm phải mở file con lên, nhập tên file chính xác vào ô A1 của file Mẫu.
Trong Sub có các dòng lệnh Open file con khi nó chưa được mở, (đã bị vô hiệu bằng dấu nháy đơn đầu dòng). Bạn thử bỏ các dấu nháy đó và thử code chạy có bị lỗi không. (Điều kiện: File Mẫu và các file con nằm cùng Folder)
PHP:
Public Sub Copy_Line()
Application.ScreenUpdating = False
'On Error Resume Next'
Dim Wb As Workbook, FName As String, Pat As String, DK As Boolean, Myname As String
'Pat = ThisWorkbook.Path'
Myname = ThisWorkbook.Name
FName = Range("A1").Value
'For Each Wb In Workbooks'
    'If Wb.Name = FName Then DK = True'
'Next Wb'
'If DK = False Then'
    'Workbooks.Open Filename:=Pat & "\" & FName  '
'End If'
Windows(FName).Activate
    Range([B2], [B2].End(xlDown)).Resize(, 6).Copy
Windows(Myname).Activate
    Range("A4").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Range("K1").Select
End Sub

Chào bạn Ba Tê,

Để không thay đổi cấu trúc code, mình sẽ không thay đổi số lượng cột và thứ tự cột, mình sẽ dùng VLOOKUP để điền thủ công thông tin họ tên và phòng ban.
Bạn có thể thống kê số công đoạn đã nhập trồi và số công đoạn nhập còn thiếu chi tiết như file đính kèm giùm mình.
Mình sẽ dùng thông tin thống kê chi tiết này để đưa cho chuyền trưởng trừ hoặc cộng thêm vào cho đủ cho từng người.
Cám ơn bạn nhiều lắm.
Còn phần code trên mình chạy chưa được, mình đang bỏ vô chạy lại.
 

File đính kèm

Chào bạn Ba Tê,

Để không thay đổi cấu trúc code, mình sẽ không thay đổi số lượng cột và thứ tự cột, mình sẽ dùng VLOOKUP để điền thủ công thông tin họ tên và phòng ban.
Bạn có thể thống kê số công đoạn đã nhập trồi và số công đoạn nhập còn thiếu chi tiết như file đính kèm giùm mình.
Mình sẽ dùng thông tin thống kê chi tiết này để đưa cho chuyền trưởng trừ hoặc cộng thêm vào cho đủ cho từng người.
Cám ơn bạn nhiều lắm.
Còn phần code trên mình chạy chưa được, mình đang bỏ vô chạy lại.

Đã tốn công làm rồi thì không bỏ qua được.
Bạn cùng mở 2 file ChenDongTong_Mau5.xls và Feb_VN10132_Line_2.xls rồi bấm nút Copy File xem báo lỗi thế nào.
Chuyện lọc thêm 2 vùng số liệu nữa thì tính sau.
 

File đính kèm

Lần chỉnh sửa cuối:
Đã tốn công làm rồi thì không bỏ qua được.
Bạn cùng mở 2 file ChenDongTong_Mau5.xls và Feb_VN10132_Line_2.xls rồi bấm nút Copy File xem báo lỗi thế nào.
Chuyện lọc thêm 2 vùng số liệu nữa thì tính sau.

Chào bạn Ba Tê,

Chạy được rồi bạn ơi, cám ơn bạn nhiều lắm, có cách nào không cần mở file Feb_VN10132_Line_2.xls lên không, chỉ cần đặt chung một thư mục là được.
Trên file ChenDongTong_Mau5.xls mình chỉ việc thay đổi tên file cần copy tại ô A1 thôi.

Hoặc tại ô A1 làm cái Select box, khi người dùng bấm vào ô A1 thì sẽ hiện ra danh sách các file cần copy trong thư mục đó.

Ví dụ trong thư mục đó có 3 file: Feb_VN10132_Line_2.xls, Feb_VN10132_Line_3.xls, Feb_VN10132_Line_4.xls. Thì người dùng sẽ chọn file nào cần copy vào File ChenDongTong_Mau5.xls, nếu người dùng xóa bớt file trong thư mục cần copy thì danh sách các file trong ô A1 cũng được cập nhật đúng.
 
Lần chỉnh sửa cuối:
Đã tốn công làm rồi thì không bỏ qua được.
Bạn cùng mở 2 file ChenDongTong_Mau5.xls và Feb_VN10132_Line_2.xls rồi bấm nút Copy File xem báo lỗi thế nào.
Chuyện lọc thêm 2 vùng số liệu nữa thì tính sau.

Chào bạn Ba Tê,

Mình mới vừa kiểm tra kỹ lại thấy phần thống kê file ChenDongTong_mau5.xls bị sai chổ thống kê cột O và cột Q thay vì lấy số công đoạn ra thì lại hiện ra là số mã thẻ nhân viên, Đúng là hiện ra số Step ( Số công đoạn ) ở cột O và cột Q
Bạn xem lại dùm mình nha.
 
Chào bạn Ba Tê,

Mình mới vừa kiểm tra kỹ lại thấy phần thống kê file ChenDongTong_mau5.xls bị sai chổ thống kê cột O và cột Q thay vì lấy số công đoạn ra thì lại hiện ra là số mã thẻ nhân viên, Đúng là hiện ra số Step ( Số công đoạn ) ở cột O và cột Q
Bạn xem lại dùm mình nha.

Sai là do bị chèn thêm cột, chỉnh sửa code chưa đầy đủ.
1/ Xem lại file 6 này có chạy được không, mới tính tiếp chuyện không cần mở File con để lấy dữ liệu.
2/ Chuyện tạo List chọn gì đó thì bạn tự làm đi. Cái gì cũng nhờ làm thì ... coi sao được.
3/ Trong Sub Copy tôi đã viết sẵn mấy dòng lệnh để Open File khi File có tên ở ô A1 chưa được mở.
Nếu biết "đọc hiểu code" thì bạn thử chỉnh lại cho nó chạy thử xem.
PHP:
Public Sub Copy_Line()
Application.ScreenUpdating = False
Dim Wb As Workbook, FName As String, Pat As String, DK As Boolean, Myname As String
'Pat = ThisWorkbook.Path'
Myname = ThisWorkbook.Name
FName = Range("A1").Value
For Each Wb In Workbooks
    If Wb.Name = FName Then DK = True
Next Wb
If DK = False Then
    MsgBox "Chua Open File " & FName, , "GPE"
    Exit Sub
End If
'If DK = False Then Workbooks.Open Filename:=Pat & "\" & FName'
Windows(FName).Activate
    Range([B2], [B2].End(xlDown)).Resize(, 6).Copy
Windows(Myname).Activate
    Range("A4").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Range("K1").Select
End Sub
 

File đính kèm

Lần chỉnh sửa cuối:
Sai là do bị chèn thêm cột, chỉnh sửa code chưa đầy đủ.
1/ Xem lại file 6 này có chạy được không, mới tính tiếp chuyện không cần mở File con để lấy dữ liệu.
2/ Chuyện tạo List chọn gì đó thì bạn tự làm đi. Cái gì cũng nhờ làm thì ... coi sao được.
3/ Trong Sub Copy tôi đã viết sẵn mấy dòng lệnh để Open File khi File có tên ở ô A1 chưa được mở.
Nếu biết "đọc hiểu code" thì bạn thử chỉnh lại cho nó chạy thử xem.
PHP:
Public Sub Copy_Line()
Application.ScreenUpdating = False
Dim Wb As Workbook, FName As String, Pat As String, DK As Boolean, Myname As String
'Pat = ThisWorkbook.Path'
Myname = ThisWorkbook.Name
FName = Range("A1").Value
For Each Wb In Workbooks
    If Wb.Name = FName Then DK = True
Next Wb
If DK = False Then
    MsgBox "Chua Open File " & FName, , "GPE"
    Exit Sub
End If
'If DK = False Then Workbooks.Open Filename:=Pat & "\" & FName'
Windows(FName).Activate
    Range([B2], [B2].End(xlDown)).Resize(, 6).Copy
Windows(Myname).Activate
    Range("A4").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Range("K1").Select
End Sub

Chào bạn Ba Tê.
File CheDongTong_Mau6 mình vửa kiểm tra thấy chạy kết quả đúng rồi bạn Ba Tê ơi.
Cám ơn bạn nhiều lắm.
Thật tình thì mình không biết tí gì về lập trình nên mới nhờ bạn giúp đỡ, Cám ơn bạn đã giúp mình những ngày qua rất nhiều.
 
Sai là do bị chèn thêm cột, chỉnh sửa code chưa đầy đủ.
1/ Xem lại file 6 này có chạy được không, mới tính tiếp chuyện không cần mở File con để lấy dữ liệu.
2/ Chuyện tạo List chọn gì đó thì bạn tự làm đi. Cái gì cũng nhờ làm thì ... coi sao được.
3/ Trong Sub Copy tôi đã viết sẵn mấy dòng lệnh để Open File khi File có tên ở ô A1 chưa được mở.
Nếu biết "đọc hiểu code" thì bạn thử chỉnh lại cho nó chạy thử xem.
PHP:
Public Sub Copy_Line()
Application.ScreenUpdating = False
Dim Wb As Workbook, FName As String, Pat As String, DK As Boolean, Myname As String
'Pat = ThisWorkbook.Path'
Myname = ThisWorkbook.Name
FName = Range("A1").Value
For Each Wb In Workbooks
    If Wb.Name = FName Then DK = True
Next Wb
If DK = False Then
    MsgBox "Chua Open File " & FName, , "GPE"
    Exit Sub
End If
'If DK = False Then Workbooks.Open Filename:=Pat & "\" & FName'
Windows(FName).Activate
    Range([B2], [B2].End(xlDown)).Resize(, 6).Copy
Windows(Myname).Activate
    Range("A4").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Range("K1").Select
End Sub

Chào bạn BaTê,

Hổm nay mình chạy file một thời gian, mình phát hiện ra 2 vấn đề mong bạn chỉnh sửa dùm mình.

1. Khi bấm nút xoá thì những dữ liệu nằm dưới dòng 1000 ( từ 1001 trở đi sẽ không xóa ), bạn có thể chỉnh lại chổ này dùm mình cho xóa hết luôn không.

2. Cột Z ---> AD sẽ hiển thị ra những công đoạn còn nhập thiếu, hiện tại đã hiện ra những công đoạn nhập còn thiếu nhưng lại hiện ra luôn những công đoạn nhập đủ và nhập trồi. Bạn có thể chỉnh dùm mình chỉ cho hiển thị thông tin những công đoạn nhập thiếu thôi nha.

Cám ơn bạn nhiều.
 

File đính kèm

Có ai biết sửa code lại chổ này giúp dùm mình nha.

Cám ơn.
 
Bạn thử thêm 2 dòng lệnh có đánh số như dưới đây vô macro 'Xoa' xem sao:

PHP:
Public Sub XOA()
1 Dim Rws As Long
 
2 Rws = [A4].CurrentRegion.Rows.Count
 Range("A4:AD" & Rws).Clear
End Sub

Thông cảm nha, mình không có file để thử toàn bộ các macro khác.
 
Bạn thử thêm 2 dòng lệnh có đánh số như dưới đây vô macro 'Xoa' xem sao:

PHP:
Public Sub XOA()
1 Dim Rws As Long
 
2 Rws = [A4].CurrentRegion.Rows.Count
 Range("A4:AD" & Rws).Clear
End Sub

Thông cảm nha, mình không có file để thử toàn bộ các macro khác.

Mình upload file lên, bạn có thời gian xem giúp dùm mình nha

Quota input for each step " Ô N3 "

Line 12 là 485

Line 5 là 911

Line 3 là 857

Line 2 là 911

Bạn kiểm tra thử xem sao, sao mình thấy một số File chạy đúng với sản lượng nhập thiếu, một số file chạy không đúng với sản lượng thiếu ( hiển thị ra tất cả các công đoạn luôn chứ không phải chỉ hiển thị ra các công đoạn thiếu thôi.

Bạn cần thêm thông tin gì cho mình biết nha

Cám ơn.
 

File đính kèm

Mình upload file lên, bạn có thời gian xem giúp dùm mình nha

Quota input for each step " Ô N3 "

Line 12 là 485

Line 5 là 911

Line 3 là 857

Line 2 là 911

Bạn kiểm tra thử xem sao, sao mình thấy một số File chạy đúng với sản lượng nhập thiếu, một số file chạy không đúng với sản lượng thiếu ( hiển thị ra tất cả các công đoạn luôn chứ không phải chỉ hiển thị ra các công đoạn thiếu thôi.

Bạn cần thêm thông tin gì cho mình biết nha

Cám ơn.


Mình thêm một số " 0 " vào chổ hàm xoá là 10000 và kết quả đã xoá được rồi bạn ơi.
 
Chào các bạn,

Mình có file Excel bên trên, Macro chạy được tren Microsoft Excel nhưng không chạy được trên LibreOffice 4.3, mình đã chỉnh Security xuống thấp nhất rồi, nhưng vẫn không chạy được. Bạn nào biết cách chỉnh chỉ dùm mình. Tất cả các file đều để chung một thư mục.
Vì chổ làm của mình không có cho sài Microsoft Office chỉ sài LibreOffice thôi, Mong các bạn giúp đỡ.

Vì không đủ dung lượng upload nên mình upload lên Google Drive, các bạn vào link này xem file dùm mình

https://drive.google.com/file/d/0B8Cg-AicMUmjMDJPV3h4T2RZT1k/view?usp=sharing

https://drive.google.com/file/d/0B8Cg-AicMUmjazRlMURFajVjZms/view?usp=sharing

Cám ơn rất nhiều.
 

File đính kèm

  • LibreOffice4.3.jpg
    LibreOffice4.3.jpg
    20.9 KB · Đọc: 32
Lần chỉnh sửa cuối:
Chào các bạn,

Mình có file Excel bên trên, Macro chạy được tren Microsoft Excel nhưng không chạy được trên LibreOffice 4.3, mình đã chỉnh Security xuống thấp nhất rồi, nhưng vẫn không chạy được. Bạn nào biết cách chỉnh chỉ dùm mình. Tất cả các file đều để chung một thư mục.
Vì chổ làm của mình không có cho sài Microsoft Office chỉ sài LibreOffice thôi, Mong các bạn giúp đỡ.

Vì không đủ dung lượng upload nên mình upload lên Google Drive, các bạn vào link này xem file dùm mình

https://drive.google.com/file/d/0B8Cg-AicMUmjMDJPV3h4T2RZT1k/view?usp=sharing

https://drive.google.com/file/d/0B8Cg-AicMUmjazRlMURFajVjZms/view?usp=sharing

Cám ơn rất nhiều.


Có bạn nào biết chỉ giúp mình với.
Cám ơn nhiều lắm.
 
Chào các bạn,

Mình có file Excel bên trên, Macro chạy được tren Microsoft Excel nhưng không chạy được trên LibreOffice 4.3, mình đã chỉnh Security xuống thấp nhất rồi, nhưng vẫn không chạy được. Bạn nào biết cách chỉnh chỉ dùm mình. Tất cả các file đều để chung một thư mục.
Vì chổ làm của mình không có cho sài Microsoft Office chỉ sài LibreOffice thôi, Mong các bạn giúp đỡ.

Vì không đủ dung lượng upload nên mình upload lên Google Drive, các bạn vào link này xem file dùm mình

https://drive.google.com/file/d/0B8Cg-AicMUmjMDJPV3h4T2RZT1k/view?usp=sharing

https://drive.google.com/file/d/0B8Cg-AicMUmjazRlMURFajVjZms/view?usp=sharing

Cám ơn rất nhiều.


Các bạn có ai giúp dùm mình khắc phục lỗi này nha,
Cám ơn.
 
[thongbao]Macro chạy được tren Microsoft Excel nhưng không chạy được trên LibreOffice 4.3, mình đã chỉnh Security xuống thấp nhất rồi, nhưng vẫn không chạy được. Bạn nào biết cách chỉnh chỉ dùm mình.[/thongbao]

Kiểu này bạn fải chờ ai đó cùng xài LO4.3 cùng với bạn thôi: Lạ & khác người quá mà!
 
Web KT

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

Back
Top Bottom