Tự động insert và tách dữ liệu ra làm hai dòng (1 người xem)

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

destinythanhphuong

Thành viên hoạt động
Tham gia
15/10/11
Bài viết
125
Được thích
2
Chào các anh chị
Hiện tại em đang làm thủ công bằng tay ínert từng dòng và tách dữ liệu ra làm hai dòng
VD TC071300824 có 4500 số lượng TC tại trước nhiệt và 500 số lượng TC tại nhiệt. Em muốn tách ra làm 2 dòng: 1 dòng cái TC đó 4500 trước nhiệt, và 1 dòng 400 TC đó tại Nhiệt

http://www.mediafire.com/?gmffm866pb8o019
 
Chào các anh chị
Hiện tại em đang làm thủ công bằng tay ínert từng dòng và tách dữ liệu ra làm hai dòng
VD TC071300824 có 4500 số lượng TC tại trước nhiệt và 500 số lượng TC tại nhiệt. Em muốn tách ra làm 2 dòng: 1 dòng cái TC đó 4500 trước nhiệt, và 1 dòng 400 TC đó tại Nhiệt

http://www.mediafire.com/?gmffm866pb8o019
Bạn tham khảo File, bấm Ctrl + q để thấy kết quả
 

File đính kèm

Bạn tham khảo File, bấm Ctrl + q để thấy kết quả

Bạn ơi viết giúp mình macro file này
Sheet import TC online cột E tới H insert và tách ra hai dòng dùm mình các TC của các bộ phận SAW; BHT; HT; AHT
Bạn lưu ý dùm mình có link công thức với sheet WIP nên khi tách đừng để số liệu bị double, mình cám ơn bạn nhiều lắm

http://www.mediafire.com/download/z31vc9vc8yzp12u/TC_san_xuat_tuan_5-9.xls
 
File của bạn nặng quá tôi không post lên GPE được
Bạn thêm đoạn Code sau vào phía dưới đoạn Code bài #2 rồi cho chạy Macro, cách chạy Macro thì bạn tự tìm trên GPE
Mã:
Sub SplitImport()
    Application.Calculation = xlCalculationManual
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Dim i As Long, eR As Long, j As Long, Tmp As Long, TmpCol As Long
    With Sheets("IMPORT TC ONLINE")
        eR = Range("A65536").End(xlUp).Row
        For i = 4 To eR
            For j = 5 To 8
                If Cells(i, j) > 0 Then
                    Tmp = Tmp + 1
                    If Tmp = 1 Then TmpCol = j
                    If Tmp > 1 Then
                        Cells(i, j).EntireRow.Copy
                        Cells(i, j).EntireRow.Insert
                        Cells(i, j) = 0
                        Cells(i + 1, TmpCol) = 0
                        eR = eR + 1
                        i = i + 1
                        TmpCol = j
                    End If
                End If
            Next
            Tmp = 0
        Next
    End With
    Application.Calculation = xlCalculationAutomatic
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
End Sub

Góp ý: Yêu cầu của bạn thì chỉ mình bạn biết rõ nên muốn được giúp đỡ nhanh chóng thì bạn phải nêu rõ từng chi tiết mọi người mới hiểu mà làm.
 
File của bạn nặng quá tôi không post lên GPE được
Bạn thêm đoạn Code sau vào phía dưới đoạn Code bài #2 rồi cho chạy Macro, cách chạy Macro thì bạn tự tìm trên GPE
Mã:
Sub SplitImport()
    Application.Calculation = xlCalculationManual
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Dim i As Long, eR As Long, j As Long, Tmp As Long, TmpCol As Long
    With Sheets("IMPORT TC ONLINE")
        eR = Range("A65536").End(xlUp).Row
        For i = 4 To eR
            For j = 5 To 8
                If Cells(i, j) > 0 Then
                    Tmp = Tmp + 1
                    If Tmp = 1 Then TmpCol = j
                    If Tmp > 1 Then
                        Cells(i, j).EntireRow.Copy
                        Cells(i, j).EntireRow.Insert
                        Cells(i, j) = 0
                        Cells(i + 1, TmpCol) = 0
                        eR = eR + 1
                        i = i + 1
                        TmpCol = j
                    End If
                End If
            Next
            Tmp = 0
        Next
    End With
    Application.Calculation = xlCalculationAutomatic
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
End Sub

Góp ý: Yêu cầu của bạn thì chỉ mình bạn biết rõ nên muốn được giúp đỡ nhanh chóng thì bạn phải nêu rõ từng chi tiết mọi người mới hiểu mà làm.

Bạn làm đúng ý của mình rồi nhưng bạn xem lại dùm mình cột S với từ cột Z tới cột AK bị nhảy công thức ko đúng khi insert dòng, bạn có thể chỉnh dùm mình lại
thanks
 
File của bạn nặng quá tôi không post lên GPE được
Bạn thêm đoạn Code sau vào phía dưới đoạn Code bài #2 rồi cho chạy Macro, cách chạy Macro thì bạn tự tìm trên GPE
Mã:
Sub SplitImport()
    Application.Calculation = xlCalculationManual
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Dim i As Long, eR As Long, j As Long, Tmp As Long, TmpCol As Long
    With Sheets("IMPORT TC ONLINE")
        eR = Range("A65536").End(xlUp).Row
        For i = 4 To eR
            For j = 5 To 8
                If Cells(i, j) > 0 Then
                    Tmp = Tmp + 1
                    If Tmp = 1 Then TmpCol = j
                    If Tmp > 1 Then
                        Cells(i, j).EntireRow.Copy
                        Cells(i, j).EntireRow.Insert
                        Cells(i, j) = 0
                        Cells(i + 1, TmpCol) = 0
                        eR = eR + 1
                        i = i + 1
                        TmpCol = j
                    End If
                End If
            Next
            Tmp = 0
        Next
    End With
    Application.Calculation = xlCalculationAutomatic
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
End Sub

Góp ý: Yêu cầu của bạn thì chỉ mình bạn biết rõ nên muốn được giúp đỡ nhanh chóng thì bạn phải nêu rõ từng chi tiết mọi người mới hiểu mà làm.
Bạn làm dùm mình trên file này nhé
Bạn làm đúng ý của mình rồi nhưng bạn xem lại dùm mình cột W với từ cột AD tới cột AO bị nhảy công thức ko đúng khi insert dòng, bạn có thể chỉnh dùm mình lại
Với lại mình thấy TC081300296 chạy macro xong thì chỉ tách ra làm 2 dòng. Mình muốn tách ra làm 3 dòng ý của mình là mỗi một dòng chỉ thể hiện 1 cột số liệu or(E, F,G,H)
thanks bạn
http://www.mediafire.com/?308bwb1lwfb7vhp
 
Bạn làm dùm mình trên file này nhé
Bạn làm đúng ý của mình rồi nhưng bạn xem lại dùm mình cột W với từ cột AD tới cột AO bị nhảy công thức ko đúng khi insert dòng, bạn có thể chỉnh dùm mình lại
Với lại mình thấy TC081300296 chạy macro xong thì chỉ tách ra làm 2 dòng. Mình muốn tách ra làm 3 dòng ý của mình là mỗi một dòng chỉ thể hiện 1 cột số liệu or(E, F,G,H)
thanks bạn
http://www.mediafire.com/?308bwb1lwfb7vhp

Chào bạn,

Bạn thay bằng Code này xem sao
Mã:
Sub SplitImport()
    Application.Calculation = xlCalculationManual
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Dim i As Long, eR As Long, j As Long, Tmp As Long, TmpCol As Long
    With Sheets("IMPORT TC ONLINE")
        eR = Range("A65536").End(xlUp).Row
        For i = 4 To eR
            For j = 5 To 8
                If Cells(i, j) > 0 Then
                    Tmp = Tmp + 1
                    If Tmp = 1 Then TmpCol = j
                    If Tmp > 1 Then
                        Cells(i, j).EntireRow.Copy
                        Cells(i, j).EntireRow.Insert
                        Range(Cells(i, j), Cells(i, 8)) = 0
                        Cells(i + 1, TmpCol) = 0
                        eR = eR + 1
                        i = i + 1
                        TmpCol = j
                    End If
                End If
            Next
            Tmp = 0
        Next
    End With
    Application.Calculation = xlCalculationAutomatic
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
End Sub
 
Chào bạn,

Bạn thay bằng Code này xem sao
Mã:
Sub SplitImport()
    Application.Calculation = xlCalculationManual
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Dim i As Long, eR As Long, j As Long, Tmp As Long, TmpCol As Long
    With Sheets("IMPORT TC ONLINE")
        eR = Range("A65536").End(xlUp).Row
        For i = 4 To eR
            For j = 5 To 8
                If Cells(i, j) > 0 Then
                    Tmp = Tmp + 1
                    If Tmp = 1 Then TmpCol = j
                    If Tmp > 1 Then
                        Cells(i, j).EntireRow.Copy
                        Cells(i, j).EntireRow.Insert
                        Range(Cells(i, j), Cells(i, 8)) = 0
                        Cells(i + 1, TmpCol) = 0
                        eR = eR + 1
                        i = i + 1
                        TmpCol = j
                    End If
                End If
            Next
            Tmp = 0
        Next
    End With
    Application.Calculation = xlCalculationAutomatic
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
End Sub

hix bạn ơi phần tách thì ok rồi nhưng công thức cột W và từ cột AD tới cột AO bị nhảy khi insert dòng thêm
Bạn xem dùm có khắc phục được ko ?
 
hix bạn ơi phần tách thì ok rồi nhưng công thức cột W và từ cột AD tới cột AO bị nhảy khi insert dòng thêm
Bạn xem dùm có khắc phục được ko ?
Phần công thức thì máy mình không chạy nổi, mình phải copy paste Value để tách dòng cho bạn nên không test được. Bạn xem chỉnh lại công thức cho phù hợp. Híc để hiểu hết mấy cái này mà viết Code thì sẽ gọn và nhanh nhưng nhìn công thức của bạn thì không có đủ kiên nhẫn. Bạn chờ cao thủ khác vậy

Chúc bạn vui!
 
Phần công thức thì máy mình không chạy nổi, mình phải copy paste Value để tách dòng cho bạn nên không test được. Bạn xem chỉnh lại công thức cho phù hợp. Híc để hiểu hết mấy cái này mà viết Code thì sẽ gọn và nhanh nhưng nhìn công thức của bạn thì không có đủ kiên nhẫn. Bạn chờ cao thủ khác vậy

Chúc bạn vui!

Cám ơn bạn nhiều lắm, bạn nhiệt tình thiệt, mình khắc phục kéo công thức từ dòng 4 từ trên xuống vậy
 
Macro chạy hết macro con

Chào các bạn!

Mình có file excel có nhiều macro được đánh số. Giờ mình muốn một macro chạy tất cả các macro còn lại thì phải làm như thế nào. Mong cả nhà giúp đỡ.

Cám ơn cả nhà
 
Chào các bạn!

Mình có file excel có nhiều macro được đánh số. Giờ mình muốn một macro chạy tất cả các macro còn lại thì phải làm như thế nào. Mong cả nhà giúp đỡ.
̀

Bạn không nên chen ngang như vậy, mà nên lập topic mới!

Hay chí ít tìm topic nào cùng mục đích mà viết tiếp câu hỏi của bạn!
 

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

Back
Top Bottom