Phân đoạn trong Excel?? (1 người xem)

Liên hệ QC

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

cấu trúc file của bạn thế nào, chỗ nào cần nhập số, chô nào hiện kết quả, bạn xem code có thể thấy mà, hoạc là gửi file để mình sửa code giúp

Em gửi bác file e đang cần thực hiện phân đoạn, trong đó:

  • Phần lớn nhất: ô V3
  • Số cần chia: từ ô W6 trở xuống, nếu W6= 0 hoặc W6="" thì bỏ qua.
  • Stt: ô X6 trở xuống, nếu W6= 0 hoặc W6="" thì bỏ qua.
  • Vị trí: ô AA6 trở xuống, nếu W6= 0 hoặc W6="" thì bỏ qua.
  • Đoạn: ô AE6 nhưng vì cần rút trích nên những Vị trí nào thuộc Đoạn nào thì bác cứ trả hết về Đoạn đó (VD: Số cần chia là 4 -> chia làm 2 Vị trí -> ở cột Đoạn e muốn cả 2 dòng này đều có chữ là "Đoạn 1")
 

File đính kèm

Em gửi bác file e đang cần thực hiện phân đoạn, trong đó:


  • Phần lớn nhất: ô V3
  • Số cần chia: từ ô W6 trở xuống, nếu W6= 0 hoặc W6="" thì bỏ qua.
  • Stt: ô X6 trở xuống, nếu W6= 0 hoặc W6="" thì bỏ qua.
  • Vị trí: ô AA6 trở xuống, nếu W6= 0 hoặc W6="" thì bỏ qua.
  • Đoạn: ô AE6 nhưng vì cần rút trích nên những Vị trí nào thuộc Đoạn nào thì bác cứ trả hết về Đoạn đó (VD: Số cần chia là 4 -> chia làm 2 Vị trí -> ở cột Đoạn e muốn cả 2 dòng này đều có chữ là "Đoạn 1")
paperclip.png
Tập tin đính kèm

Bạn chép đoạn code này vào Sheets("3. SCT coc") và gõ chữ Đoạn vào ô [AE4]
PHP:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Selection.Address = "$V$3" Then              'Chon o [V3] de kich hoat code ...
Application.ScreenUpdating = False
    [X6].Resize([x65535].End(xlUp).Row).Clear                           'Xoa "Phan to"
    [AA6].Resize([AA65535].End(xlUp).Row).Clear                         'Xoa "Chieu day"
    [AE6].Resize([AE65535].End(xlUp).Row).Clear                         'Xoa "Lop dat"
If (IsNumeric([V3]) = False) Or [V3] <= 0 Then Exit Sub                 'Chi xu ly [Phan lon nhat]=[So] > 0
For Each clls In Range([W6], [W65535].End(xlUp).Offset(1))              'Vung so can chia Doan
    If (IsNumeric(clls) = True) And (clls > 0) Then                     'Chi xu ly [Kq Tinh toan]=[So] > 0
        d = d + 1: j = 0
        [AA65535].End(xlUp).Offset(1, 4) = [AE4] & " " & d              'Bat dau "Lop dat moi"
        Do: j = j + 1: On Error Resume Next
            With [AE65535].End(xlUp).Offset(j - 1, -4)
                .Value = IIf(clls < [V3] * j, clls - [V3] * (j - 1), [V3])                          'Ghi "Chieu day"
                Union(.Offset(, -3), .Offset(), .Offset(, 4)).BorderAround LineStyle:=1             'Ke vien
                Union(.Offset(, -3), .Offset(), .Offset(, 4)).Interior.ColorIndex = 19 + (d Mod 2)  'To mau
            End With
        Loop Until [V3] * j >= clls
        Range([AE65535].End(xlUp), [AA65535].End(xlUp).Offset(, 4)) = [AE4] & " " & d               'Ghi "Lop dat"
    End If
Next
    If d > 0 Then Range([X6], [AA65535].End(xlUp).Offset(, -3)) = Evaluate("ROW(a:a)")             
Application.ScreenUpdating = True
End If
End Sub
Tạo bản lưu dự phòng rồi Test các trường hợp, khả năng có thể xem còn lỗi gì không nhé (Chọn ô [V3] để kích hoạt CODE)
 
Lần chỉnh sửa cuối:
Em đã làm như bác nhưng có lỗi như sau: !$@!!!$@!!
attachment.php

Bác test lại dùm e với nhé!

Bạn xóa bỏ chữ chú thích trong code đi là được mà
(hoặc thêm dấu nháy đơn như phần chú thích bên trên ý)

(mình ghi vào đó để bạn biết được code nó làm những gì, làm thế nào để có thể tùy chỉnh theo mục đích của mình - ai ngờ bạn bê nguyên xi như vậy mà không thềm nhòm ngó xem code ra làm sao --=0)

Khi đưa code lên web nó tự cắt bớt dấu nháy đơn, tưởng đưa thiếu nhưng khi vào sửa lại bài thì nó vẫn có nhưng gửi bài lên thì nó không hiện (đây là 1 lỗi của trang mà admin chưa khắc phục hoặc chưa biết để khắc phục)
 
Lần chỉnh sửa cuối:
Thương bác boyxin quá, mất nhiều thời gian để trả lời mà không thấy chủ topic nhấn cảm ơn gì. Thôi để em thay mặt chủ topic nhấn cảm ơn bác nhé.
 
[/PHP]Tạo bản lưu dự phòng rồi Test các trường hợp, khả năng có thể xem còn lỗi gì không nhé (Chọn ô [V3] để kích hoạt CODE)

Chào bác boyxin, e đã test code của bác khá kĩ. Tuy nhiên vì điều kiện in ấn nên e gặp 2 vấn đề sau:
1/ E đã sắp lại bảng tính nhưng khi edit theo hướng dẫn của bác 1 tẹo thì có gặp trục trặc là chạy ra kết quả ko đúng?? **~**
2/ Font chữ trả về là Font Time New Romans, Size 12 và có border như file e gửi cho bác.

Mong bác giúp đỡ
Thanks
 

File đính kèm

Web KT

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

Back
Top Bottom