Nhờ viết marco chuyển săp xếp dữ liệu. (1 người xem)

  • Thread starter Thread starter 790312
  • Ngày gửi Ngày gửi
Liên hệ QC

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

790312

Thành viên hoạt động
Tham gia
7/4/08
Bài viết
181
Được thích
8
Nhờ các bác viết giùm marco chuyển dữ liệu như file đính kèm
Chân thành cảm ơn trước.
 

File đính kèm

Nhờ các bác viết giùm marco chuyển dữ liệu như file đính kèm
Chân thành cảm ơn trước.
Copy Code này vào file rồi tạo nút gì đó cho nó.
PHP:
Public Sub GPE()
Dim Arr(), Rng(), I As Long, K As Long
    Rng() = Sheet1.Range(Sheet1.[A1], Sheet1.[A65000].End(xlUp)).Resize(, 4).Value
ReDim Arr(1 To UBound(Rng, 1) * 2, 1 To 3)
    For I = 1 To UBound(Rng, 1)
        K = K + 1
        Arr(K, 1) = Abs(Rng(I, 1)): Arr(K, 3) = Abs(Rng(I, 3))
            K = K + 1
            Arr(K, 1) = Abs(Rng(I, 1)): Arr(K, 3) = Abs(Rng(I, 4))
    Next
Sheet2.[A1].Resize(K, 3).Value = Arr
End Sub
 
Upvote 0
Copy Code này vào file rồi tạo nút gì đó cho nó.
PHP:
Public Sub GPE()
Dim Arr(), Rng(), I As Long, K As Long
    Rng() = Sheet1.Range(Sheet1.[A1], Sheet1.[A65000].End(xlUp)).Resize(, 4).Value
ReDim Arr(1 To UBound(Rng, 1) * 2, 1 To 3)
    For I = 1 To UBound(Rng, 1)
        K = K + 1
        Arr(K, 1) = Abs(Rng(I, 1)): Arr(K, 3) = Abs(Rng(I, 3))
            K = K + 1
            Arr(K, 1) = Abs(Rng(I, 1)): Arr(K, 3) = Abs(Rng(I, 4))
    Next
Sheet2.[A1].Resize(K, 3).Value = Arr
End Sub
Em mới tập tành thôi bác ah,bác giúp tạo giùm e cái nút nằm bên sheet2 luôn với.Cảm ơn bác rất nhiều.
 
Upvote 0
Copy Code này vào file rồi tạo nút gì đó cho nó.
PHP:
Public Sub GPE()
Dim Arr(), Rng(), I As Long, K As Long
    Rng() = Sheet1.Range(Sheet1.[A1], Sheet1.[A65000].End(xlUp)).Resize(, 4).Value
ReDim Arr(1 To UBound(Rng, 1) * 2, 1 To 3)
    For I = 1 To UBound(Rng, 1)
        K = K + 1
        Arr(K, 1) = Abs(Rng(I, 1)): Arr(K, 3) = Abs(Rng(I, 3))
            K = K + 1
            Arr(K, 1) = Abs(Rng(I, 1)): Arr(K, 3) = Abs(Rng(I, 4))
    Next
Sheet2.[A1].Resize(K, 3).Value = Arr
End Sub
Khi lọc qua sheet2 muốn nó chỉ lấy 2 số sau dấu chấm thôi thì sửa như thế nào vậy bác?
 
Upvote 0
Phải nói rõ và có ví dụ để mà hiểu chứ, có làm tròn số lên không?
-3160,115 ; 33,05199; -2923,5 ;... lấy cái gì?
Dạ có làm tròn.Thí dụ 3160,115 thì làm tròn thành 3160,12 và 33,05199 thì làm tròn thành 33,05...Số thứ ba nhỏ hơn 5 thì số thứ 2 giữ nguyên,còn lớn hơn hoặc bằng 5 thì số thứ 2 tăng lên 1 bậc.Cảm ơn chú nhiều.
 
Upvote 0
Dạ có làm tròn.Thí dụ 3160,115 thì làm tròn thành 3160,12 và 33,05199 thì làm tròn thành 33,05...Số thứ ba nhỏ hơn 5 thì số thứ 2 giữ nguyên,còn lớn hơn hoặc bằng 5 thì số thứ 2 tăng lên 1 bậc.Cảm ơn chú nhiều.
Trời ơi, hổng hỏi rõ là chết rồi.
Trong Excel có hàm Round. VBA cũng có đó. Thêm Round vào.
PHP:
Public Sub GPE()
Dim Arr(), Rng(), I As Long, K As Long
    Rng() = Sheet1.Range(Sheet1.[A1], Sheet1.[A65000].End(xlUp)).Resize(, 4).Value
ReDim Arr(1 To UBound(Rng, 1) * 2, 1 To 3)
    For I = 1 To UBound(Rng, 1)
        K = K + 1
        Arr(K, 1) = Round(Abs(Rng(I, 1)), 2): Arr(K, 3) = Round(Abs(Rng(I, 3)), 2)
            K = K + 1
            Arr(K, 1) = Round(Abs(Rng(I, 1)), 2): Arr(K, 3) = Round(Abs(Rng(I, 4)), 2)
    Next
Sheet2.[A1].Resize(K, 3).Value = Arr
End Sub
 
Upvote 0
Trời ơi, hổng hỏi rõ là chết rồi.
Trong Excel có hàm Round. VBA cũng có đó. Thêm Round vào.
PHP:
Public Sub GPE()
Dim Arr(), Rng(), I As Long, K As Long
    Rng() = Sheet1.Range(Sheet1.[A1], Sheet1.[A65000].End(xlUp)).Resize(, 4).Value
ReDim Arr(1 To UBound(Rng, 1) * 2, 1 To 3)
    For I = 1 To UBound(Rng, 1)
        K = K + 1
        Arr(K, 1) = Round(Abs(Rng(I, 1)), 2): Arr(K, 3) = Round(Abs(Rng(I, 3)), 2)
            K = K + 1
            Arr(K, 1) = Round(Abs(Rng(I, 1)), 2): Arr(K, 3) = Round(Abs(Rng(I, 4)), 2)
    Next
Sheet2.[A1].Resize(K, 3).Value = Arr
End Sub
Cảm ơn sự nhiệt tình của chú.Cháu cần lọc dữ liệu giống yêu cầu của chủ thớt nhưng nó thêm 1 điều kiện lọc nữa mong chú bớt chút thời gian giúp cháu .Chúc chú nhiều sức khoẻ.
 

File đính kèm

Upvote 0
Cảm ơn sự nhiệt tình của chú.Cháu cần lọc dữ liệu giống yêu cầu của chủ thớt nhưng nó thêm 1 điều kiện lọc nữa mong chú bớt chút thời gian giúp cháu .Chúc chú nhiều sức khoẻ.
Hổng hiểu yêu cầu của cái nút thứ hai.
Làm thí thí, hên xui.
 

File đính kèm

Upvote 0
Phiền chú lần nữa.Làm thế nào để đổi tên Nút1,Nút2 thành tên khác vậy chú.Bình thường nhấn phải chuột vào là đổi được.Cảm ơn chú.
Xem hình:
EDIT.JPG
Bấm vào nút Control Toolbox, Bấm nút Design Mode, Click chuột phải vào Nút nào đó, Chọn CommandButton Object - Edit: Sửa tên. Chọn Format Control... - Properties - Bỏ chọn ô Print Object, để không in các nút ra giấy in, Xong nhớ bấm vào nút Design Mode lúc nãy (Bây giờ đã thành Exit Design Mode). Đóng thanh Control Toolbox.
Hy vọng bạn làm được.
Híc!
 
Upvote 0
Xem hình:
View attachment 81176
Bấm vào nút Control Toolbox, Bấm nút Design Mode, Click chuột phải vào Nút nào đó, Chọn CommandButton Object - Edit: Sửa tên. Chọn Format Control... - Properties - Bỏ chọn ô Print Object, để không in các nút ra giấy in, Xong nhớ bấm vào nút Design Mode lúc nãy (Bây giờ đã thành Exit Design Mode). Đóng thanh Control Toolbox.
Hy vọng bạn làm được.
Híc!
Dạ được rồi chú nhưng cho cháu thắc mắc tí.Mặc định muốn sửa tên các nút thì phím phải sẽ sửa được.Chú làm cách nào không cho nhấn phím phải chuột để sửa vậy Chú?
 
Upvote 0
Dạ được rồi chú nhưng cho cháu thắc mắc tí.Mặc định muốn sửa tên các nút thì phím phải sẽ sửa được.Chú làm cách nào không cho nhấn phím phải chuột để sửa vậy Chú?
Tôi không quan tâm đến chuyện đó nên không biết cách làm luôn.
Tôi nghĩ là Protect Sheet nó sẽ khoá luôn các Button, không chỉnh sửa gì được cả.
Bạn thử xem.
 
Upvote 0
.Mặc định muốn sửa tên các nút thì phím phải sẽ sửa được.Chú làm cách nào không cho nhấn phím phải chuột để sửa vậy Chú?

Tại nó... thế thôi!
Nút ấy thuộc nhóm Control Toolbox. Loại control này, khi muốn Edit phải bấm nút Design Mode (để chuyển sang chê độ Design) và ngược lại, khi dùng ta cũng sẽ bấm nút Design Mode lần nữa (để tắt chế độ Design) <--- Lúc này ta sẽ không thể click phải để chỉnh sửa được nữa
 
Upvote 0
Thành thật xin lỗi chú,cháu viết lộn cái cần lọc rồi.Mong chú xem lại giúp giùm cháu.Dòng màu đỏ là cái cháu sửa sai.Cảm ơn chú nhiều.
Quá sợ, hình như bạn lấy ví dụ khơi khơi chứ không quan tâm đến yêu cầu chính của mình.
Chỉ đoán mò theo dữ liệu mẫu, còn lộn chỗ nào nữa thì nói tiếp nhé.
Xem lại file này.
 

File đính kèm

Upvote 0
Nhờ Chú giúp cháu lọc dữ liệu Max,Min.Cháu gửi file đính kèm:
Chúc Chú nhiều sức khoẻ.
Hổng biết ý đồ ABS() bắt đầu ở đâu. Bài trên khác, bài này khác.
Làm theo kết quả mẫu của tác giả.
Hên xui!
 

File đính kèm

Upvote 0
Quá sợ, hình như bạn lấy ví dụ khơi khơi chứ không quan tâm đến yêu cầu chính của mình.
Chỉ đoán mò theo dữ liệu mẫu, còn lộn chỗ nào nữa thì nói tiếp nhé.
Xem lại file này.
Trong quá trình làm cháu phát sinh cần lọc thêm 1 cột nữa.Mong chú giúp cháu lần nữa.Yêu cầu cháu ghi trong file đính kèm.Chúc chú nhiều sức khoẻ.
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Trong quá trình làm cháu phát sinh cần lọc thêm 1 cột nữa.Mong chú giúp cháu lần nữa.Yêu cầu cháu ghi trong file đính kèm.Chúc chú nhiều sức khoẻ.
Rối tung không biết sao mà gom lại. Thêm 1 Code nữa mới xong.
Híc! Cũng ráng vậy.
 

File đính kèm

Upvote 0
Hổng biết ý đồ ABS() bắt đầu ở đâu. Bài trên khác, bài này khác.
Làm theo kết quả mẫu của tác giả.
Hên xui!
Dạ đúng ý cháu rồi ạ.Nếu muốn khi đã lọc qua sheet2 rồi thì xoá dữ liệu ở sheet1 đi thì làm sao Chú?Cảm ơn chú rất nhiều.
 
Upvote 0
Dạ đúng ý cháu rồi ạ.Nếu muốn khi đã lọc qua sheet2 rồi thì xoá dữ liệu ở sheet1 đi thì làm sao Chú?Cảm ơn chú rất nhiều.
Xóa hết dữ liệu ở sheet1 (tất tần tật) hay chỉ xóa dữ liệu trong các cột từ A đến J? (Đề phòng dữ liệu trong các cột khác còn giữ lại để sử dụng)
Híc! hỏi cũng chưa rõ ràng, làm xong lại không đúng ý.
 
Upvote 0
Xóa hết dữ liệu ở sheet1 (tất tần tật) hay chỉ xóa dữ liệu trong các cột từ A đến J? (Đề phòng dữ liệu trong các cột khác còn giữ lại để sử dụng)
Híc! hỏi cũng chưa rõ ràng, làm xong lại không đúng ý.
Dạ xoá dữ liệu trong vùng từ A4:C56536 chú ạ và chú có thể chỉ cháu đoạn code để xoá tất cả dữ liệu trong sheeet1 luôn.Cảm ơn chú.
 
Lần chỉnh sửa cuối:
Upvote 0

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

Back
Top Bottom