Tìm số lượng với các tiêu chuẩn liên quan với nhau

Dapconmuoi1993

Thành viên mới
Tham gia ngày
15 Tháng chín 2020
Bài viết
5
Được thích
4
Điểm
15
Tuổi
120
Xin chào các pro, em có bài toán này trên excel mà vẫn chưa có lời giải.
Ví dụ trong các nhà kho có chứa hoa quả gồm cam quýt xoài táo….vv Trong đó có các Thùng + một số túi hoa quả + một ít quả rơi vãi trên sàn.
Trong mỗi Thùng, mỗi loại túi thì chứa các túi hoa quả theo tiêu chuẩn trên file.
Yêu cầu đặt ra là trong các nhà kho hiện tại có bao nhiêu quả? Liệu có phương án nào, công thức, addin hay VBA nào giải quyết nhanh đc không ạ?
Xin cảm ơn anh, chị!
 

File đính kèm

xuongrongdat

Có bao giờ bạn tự hỏi "Tôi là ai?"
Tham gia ngày
30 Tháng sáu 2008
Bài viết
910
Được thích
754
Điểm
860
Nơi ở
Mỹ Tho- Tiền Giang
Xin chào các pro, em có bài toán này trên excel mà vẫn chưa có lời giải.
Ví dụ trong các nhà kho có chứa hoa quả gồm cam quýt xoài táo….vv Trong đó có các Thùng + một số túi hoa quả + một ít quả rơi vãi trên sàn.
Trong mỗi Thùng, mỗi loại túi thì chứa các túi hoa quả theo tiêu chuẩn trên file.
Yêu cầu đặt ra là trong các nhà kho hiện tại có bao nhiêu quả? Liệu có phương án nào, công thức, addin hay VBA nào giải quyết nhanh đc không ạ?
Xin cảm ơn anh, chị!
Xin chào bạn thành viên mới toanh. Lần sau bạn đổi đoạn này "Xin chào các pro" lại thành:
"Xin chào mọi người"
hoặc "Xin chào các anh chị"
nhé!
Bài của bạn mình không biết giải, nhưng bạn có thể cho mình hỏi đây là bài toán gì không? Và ứng dụng của nó vào việc gì vậy bạn?
Kho 1 với Kho 2 là 2 bài toán độc lập hay nó có dính líu gì nhau không? Mình tách ra để giải quyết từng Kho hén!
 

Dapconmuoi1993

Thành viên mới
Tham gia ngày
15 Tháng chín 2020
Bài viết
5
Được thích
4
Điểm
15
Tuổi
120
Xin chào bạn thành viên mới toanh. Lần sau bạn đổi đoạn này "Xin chào các pro" lại thành:
"Xin chào mọi người"
hoặc "Xin chào các anh chị"
nhé!
Bài của bạn mình không biết giải, nhưng bạn có thể cho mình hỏi đây là bài toán gì không? Và ứng dụng của nó vào việc gì vậy bạn?
Kho 1 với Kho 2 là 2 bài toán độc lập hay nó có dính líu gì nhau không? Mình tách ra để giải quyết từng Kho hén!
Xin cảm anh/chị Xuongrongdat đã nhắc nhở, lần sau mình sẽ lưu ý :D
Bài toán này thực chất là tìm ra định mức nhỏ nhất (nguyên vật liệu) của một sản phẩm đc sản xuất theo định mức (BOM) qua nhiều giai đoạn.
Ứng dụng trong quản trị sản xuất hoặc kế toán.
Cụ thể hơn, VD có Thành phẩm A đc sản xuất từ : Bán thành phẩm (hay có nơi gọi là nửa thành phẩm) B, C. Và các nguyên vật liệu A1, A2.
- BTP B thì đc tạo từ các NVL: B1, B2, B3 với định mức cố định.
- BTP C thì đc tạo từ các NVL: C1, C2 với định mức cố định.
Như vậy, thành phẩm A đc tạo ra từ các nguyên vật liệu là: A1, A2, B1, B2, B3, C1, C2 với định mức là bao nhiêu.
Từ đó có thể tính đc là sản xuất 1000 sp A thì cần tốn bao nhiêu NVL: A1, A2, B1, B2, B3, C1, C2
Bác thông cảm nếu em không diễnđạt tốt.
 

xuongrongdat

Có bao giờ bạn tự hỏi "Tôi là ai?"
Tham gia ngày
30 Tháng sáu 2008
Bài viết
910
Được thích
754
Điểm
860
Nơi ở
Mỹ Tho- Tiền Giang
@Dapconmuoi1993 : một lần nữa mình nhắc bạn, bạn đừng nên viết tắt hoặc viết tiếng Anh lửng lửng nha (pro, đc,...). Nên tôn trọng những anh chị chú bác là những người sẽ giúp bạn đó.
Cảm ơn bạn đã giải thích cặn kẽ. Bạn chờ các anh chị chú bác khác vào giúp nhé!

@hongtrang26 : bài này khó thiệt sự nè.
 

HieuCD

Chuyên gia GPE
Tham gia ngày
14 Tháng chín 2010
Bài viết
7,287
Được thích
14,355
Điểm
1,860
Xin cảm anh/chị Xuongrongdat đã nhắc nhở, lần sau mình sẽ lưu ý :D
Bài toán này thực chất là tìm ra định mức nhỏ nhất (nguyên vật liệu) của một sản phẩm đc sản xuất theo định mức (BOM) qua nhiều giai đoạn.
Ứng dụng trong quản trị sản xuất hoặc kế toán.
Cụ thể hơn, VD có Thành phẩm A đc sản xuất từ : Bán thành phẩm (hay có nơi gọi là nửa thành phẩm) B, C. Và các nguyên vật liệu A1, A2.
- BTP B thì đc tạo từ các NVL: B1, B2, B3 với định mức cố định.
- BTP C thì đc tạo từ các NVL: C1, C2 với định mức cố định.
Như vậy, thành phẩm A đc tạo ra từ các nguyên vật liệu là: A1, A2, B1, B2, B3, C1, C2 với định mức là bao nhiêu.
Từ đó có thể tính đc là sản xuất 1000 sp A thì cần tốn bao nhiêu NVL: A1, A2, B1, B2, B3, C1, C2
Bác thông cảm nếu em không diễnđạt tốt.
Gởi file với ví dụ phù hợp với thực tế hơn
 

hongtrang26

Thành viên thường trực
Tham gia ngày
10 Tháng mười một 2011
Bài viết
304
Được thích
321
Điểm
410
Tuổi
36
Cái quan trọng đọc cái đề bài chẳng hiểu nổi chủ thớt muốn kết quả là thế nào, đưa bài toán thực tế và kết quả mong muốn như nào thì may ra còn hiểu được
 

Nhattanktnn

Thành viên tích cực
Tham gia ngày
11 Tháng mười một 2016
Bài viết
1,029
Được thích
956
Điểm
360
Xin chào các pro, em có bài toán này trên excel mà vẫn chưa có lời giải.
Ví dụ trong các nhà kho có chứa hoa quả gồm cam quýt xoài táo….vv Trong đó có các Thùng + một số túi hoa quả + một ít quả rơi vãi trên sàn.
Trong mỗi Thùng, mỗi loại túi thì chứa các túi hoa quả theo tiêu chuẩn trên file.
Yêu cầu đặt ra là trong các nhà kho hiện tại có bao nhiêu quả? Liệu có phương án nào, công thức, addin hay VBA nào giải quyết nhanh đc không ạ?
Xin cảm ơn anh, chị!
Đúng ra thì nên lập bảng tra và làm như vậy
 

File đính kèm

Dapconmuoi1993

Thành viên mới
Tham gia ngày
15 Tháng chín 2020
Bài viết
5
Được thích
4
Điểm
15
Tuổi
120

File đính kèm

excel_lv1.5

Thành viên tiêu biểu
Tham gia ngày
20 Tháng mười 2017
Bài viết
797
Được thích
1,382
Điểm
360
Xin chào các pro, em có bài toán này trên excel mà vẫn chưa có lời giải.
Ví dụ trong các nhà kho có chứa hoa quả gồm cam quýt xoài táo….vv Trong đó có các Thùng + một số túi hoa quả + một ít quả rơi vãi trên sàn.
Trong mỗi Thùng, mỗi loại túi thì chứa các túi hoa quả theo tiêu chuẩn trên file.
Yêu cầu đặt ra là trong các nhà kho hiện tại có bao nhiêu quả? Liệu có phương án nào, công thức, addin hay VBA nào giải quyết nhanh đc không ạ?
Xin cảm ơn anh, chị!
Bài này có vẻ là toán tổ hợp rất nhiều trường hợp, viết VBA còn cảm thấy cực, công thức khả năng không làm được!
 

VetMini

Chuyên gia GPE
Tham gia ngày
21 Tháng mười hai 2012
Bài viết
10,359
Được thích
12,634
Điểm
1,560
Bài này có vẻ là toán tổ hợp rất nhiều trường hợp, viết VBA còn cảm thấy cực, công thức khả năng không làm được!
Mấy phần mềm chuyên tính BOM và Fast Track (dự tính Semi-finished product / bán thành phẩm) nó còn phải có chuyên viên sử dụng.
Bảo Excel và VBA làm mà còn đòi hỏi "giải quyết nhanh". Diễu hơi xa.
 

bebo021999

Thành viên gạo cội
Tham gia ngày
26 Tháng một 2011
Bài viết
3,857
Được thích
6,045
Điểm
560
Nơi ở
TPHCM, Gò Vấp
Về cơ bản, coi bán thành phẩm là 1 loại thành phẩm, đồng thời nó cũng là nguyên liệu.
Mình tạo bảng như sau:
Cột: Thành phẩm và bán thành phẩm
Dòng: Nguyên vật liệu cơ bản và Bán thành phẩm
Ví dụ kinh doanh cơm tấm. Có 2 loại cơm tấm, Loại 1 và loại 2
Các loại nguyên liệu sử dụng : Gạo, thịt, Tỏi ớt, Nước mắm nguyên chất, Nước, Nước mắm pha (Bán TP 1), Thịt nướng (Bán TP 2)
Bán TP 1 (Nước mắm pha) : Nguyên liệu: Tỏi ớt, Nước mắm nguyên chất, Nước
Bán TP 2: (Thịt nướng): Nguyên liệu: Thịt, Tỏi ớt, Nước mắm nguyên chất, Nước

Công thức tính tiêu hao của NL1 dùng cho TP1:

=SUMIF($D$4:$D$10,$L4,$G$4:$G$10)+
VLOOKUP($L4,$D$4:$J$10,6,0)*VLOOKUP($I$3,$D$4:$H$10,4,0)+
VLOOKUP($L4,$D$4:$J$10,7,0)*VLOOKUP($J$3,$D$4:$H$10,4,0)

Trong đó:
Dòng 1: Tính NVL dùng trực tiếp
Dòng 2: Tính NVL dùng cho BTP 1
Dòng 3: Tính NVL dùng cho BTP 2

Căn cứ vào đây bạn áp dụng vào thực tế của bạn nhé.
 

File đính kèm

excel_lv1.5

Thành viên tiêu biểu
Tham gia ngày
20 Tháng mười 2017
Bài viết
797
Được thích
1,382
Điểm
360
Về cơ bản, coi bán thành phẩm là 1 loại thành phẩm, đồng thời nó cũng là nguyên liệu.
Mình tạo bảng như sau:
Cột: Thành phẩm và bán thành phẩm
Dòng: Nguyên vật liệu cơ bản và Bán thành phẩm
Ví dụ kinh doanh cơm tấm. Có 2 loại cơm tấm, Loại 1 và loại 2
Các loại nguyên liệu sử dụng : Gạo, thịt, Tỏi ớt, Nước mắm nguyên chất, Nước, Nước mắm pha (Bán TP 1), Thịt nướng (Bán TP 2)
Bán TP 1 (Nước mắm pha) : Nguyên liệu: Tỏi ớt, Nước mắm nguyên chất, Nước
Bán TP 2: (Thịt nướng): Nguyên liệu: Thịt, Tỏi ớt, Nước mắm nguyên chất, Nước

Công thức tính tiêu hao của NL1 dùng cho TP1:

=SUMIF($D$4:$D$10,$L4,$G$4:$G$10)+
VLOOKUP($L4,$D$4:$J$10,6,0)*VLOOKUP($I$3,$D$4:$H$10,4,0)+
VLOOKUP($L4,$D$4:$J$10,7,0)*VLOOKUP($J$3,$D$4:$H$10,4,0)

Trong đó:
Dòng 1: Tính NVL dùng trực tiếp
Dòng 2: Tính NVL dùng cho BTP 1
Dòng 3: Tính NVL dùng cho BTP 2

Căn cứ vào đây bạn áp dụng vào thực tế của bạn nhé.
File này bạn chỉ thiết kế bán thành phẩm 1 cấp, trong ví dụ của bạn chủ thread ít nhất 2 cấp (bán thành phẩm trong bán thành phẩm), nếu vậy data bạn sẽ thiết kế như thế nào ít nhất là 2 cấp trở lên
 

bebo021999

Thành viên gạo cội
Tham gia ngày
26 Tháng một 2011
Bài viết
3,857
Được thích
6,045
Điểm
560
Nơi ở
TPHCM, Gò Vấp
Nếu gọi BTP-C1, BTP-C2, thì TP và BTP liệt kê theo cột
Các loại NVL và BTP-C1, BTP-C2 liệt kê theo dòng
Nơi giao nhau là số lượng sử dụng tương quan giữa 2 loại NVL,BTP và TP,BTP
VD: Nơi giao nhau giữa dòng BTP-C2 và cột BTP-C1 là số lượng sử dụng của BTP-C2 dùng để SX BTP-C1
 

hongtrang26

Thành viên thường trực
Tham gia ngày
10 Tháng mười một 2011
Bài viết
304
Được thích
321
Điểm
410
Tuổi
36
Cảm ơn bác đã quan tâm bài viết. Em sẽ lấy một ví dụ cụ thể về một sản phẩm được sản xuất theo nhiều giai đoạn ở file dưới đây.
Cái kết quả bạn ghi ra có đúng không sao chia thử tỷ lệ chẳng thấy liên quan gì nhỉ
 

anhduong9x9

Người qua đường. Xin cảm ơn!
Tham gia ngày
19 Tháng sáu 2012
Bài viết
24
Được thích
27
Điểm
365
Tuổi
28
Nơi ở
CauGiay_HN
Có vẻ như tôi hiểu như thế này có đúng không. Nếu đúng thì tối về, tôi sẽ làm cho. Còn tôi hiểu sai thì chịu trận nhé.

Cơ bản là bạn muốn yêu cầu như sau đúng không. Để sản xuất ra 1 hoặc 1 triệu cái sản phẩm cuối tức là giai đoạn 3 (GĐ3), thì cần thống kê ra bao nhiêu nguyên liệu sơ cấp hay gọi là nguyên vật liệu (NVL). Và có thể khi chọn xem 1 bán thành phẩm (BTP) nào đấy nó cũng sẽ thống kê NVL cần có để sản xuất với 1 số lượng BTP theo yêu cầu nào đó.

Còn sản phẩm cuối cùng (GĐ3) thì được sản xuất từ NVL_i+ Bán thành phẩm thứ i (BTP_i)
Bán thành phẩm (BTP) được sản xuất từ các NVL_i.

Mình là dân kĩ thuật nên hiểu sơ sơ như vậy. Mọi người thông cảm giúp Em.
 

HieuCD

Chuyên gia GPE
Tham gia ngày
14 Tháng chín 2010
Bài viết
7,287
Được thích
14,355
Điểm
1,860
Cảm ơn bác đã quan tâm bài viết. Em sẽ lấy một ví dụ cụ thể về một sản phẩm được sản xuất theo nhiều giai đoạn ở file dưới đây.
Code chỉ dùng cho 1 sản phẩm, chạy 3 giai đoạn, không có trường hợp bán thành phẩm dùng cho nhau
Mã:
Sub XYZ()
  Dim aSP(), aBTP(), aGD1(), Res(), Dic As Object
  Dim sRow&, i&, iKey
  
  aSP = Range("C11:F17").Value 'Thanh Pham
  aBTP = Range("C18:F38").Value 'Ban Thanh Pham
  
  Set Dic = CreateObject("scripting.dictionary")
  Set Dic2 = CreateObject("scripting.dictionary")
  
  For i = 1 To UBound(aSP)
    Dic.Item(aSP(i, 3)) = aSP(i, 4)
  Next i

  For i = 1 To UBound(aBTP)
    If aBTP(i, 1) <> Empty Then iKey = aBTP(i, 1)
    If Dic.exists(iKey) Then
      Dic2.Item(iKey) = ""
      Dic.Item(aBTP(i, 3)) = Dic.Item(aBTP(i, 3)) + Dic.Item(iKey) * aBTP(i, 4)
    End If
  Next i
  If Dic2.Count > 0 Then
    For Each iKey In Dic2.keys
      Dic.Remove iKey
    Next iKey
  End If
  
  ReDim Res(1 To Dic.Count, 1 To 2)
  For Each iKey In Dic.keys
    k = k + 1
    Res(k, 1) = iKey
    Res(k, 2) = Dic.Item(iKey)
  Next iKey
  Range("I12").Resize(UBound(Res), 2) = Res
End Sub
 

File đính kèm

Lần chỉnh sửa cuối:

Dapconmuoi1993

Thành viên mới
Tham gia ngày
15 Tháng chín 2020
Bài viết
5
Được thích
4
Điểm
15
Tuổi
120
Nhờ các bình luận và file của mọi người, em đã phần nào giải quyết được vấn đề; đồng thời cũng học hỏi được thêm nhiều thứ.
Xin cảm ơn tất cả anh/chị đã nhiệt tình hỗ trợ!
 

anhduong9x9

Người qua đường. Xin cảm ơn!
Tham gia ngày
19 Tháng sáu 2012
Bài viết
24
Được thích
27
Điểm
365
Tuổi
28
Nơi ở
CauGiay_HN
Tối qua không thấy bạn phản hồi nên tôi không giám viết code. T phải đợi bạn phản hồi tôi mới làm code cho bạn được =)).

Ưu điểm của code này.
- Cơ bản code này chạy với n giai đoạn. dữ liệu đầu vào là cái bảng định mức tổng hợp. Điều kiện tra là cái mã thành phẩm hoặc bán thành phẩm bạn nhập vào ô "i12".
- Tự động cộng dồn các nguyên liệu đầu vào nếu chúng có trong ở các bán thành phẩm khác nhau.

Nhược điểrm của bảng này:
- Nó sẽ không sắp xếp các nguyên liệu đầu vào theo thứ tự từ 1 đến 29 đâu.

Luu ý bạn có thể thay các dữ liệu đầu vào trực tiếp vào code bên dưới những cái tôi bôi đậm để tương thích với từng cách bố trí của từng người. Mình có file đính kèm. bên trong có 1 function phụ.

Sub ExtractDataLucas()
Dim ImportData() As Variant
Dim CriticalValue As String
Dim ActivesheetLucas As String
Dim BTPorTP, BTPorTPDraft As String
Dim ScheduleAll() As String
Dim OutPutLucas() As Variant
Dim i, j, k, t As Double
ActivesheetLucas = Application.ActiveSheet.Name
'Define Input data
ImportData = ThisWorkbook.Worksheets(ActivesheetLucas).Range("C11:F50").Value
CriticalValue = ThisWorkbook.Worksheets(ActivesheetLucas).Range("I12").Value
For i = 1 To UBound(ImportData)
If ImportData(i, 1) = "" And i > 1 Then ImportData(i, 1) = ImportData(i - 1, 1)
Next i
k = 0
BTPorTP = BTPorTP & "*\" & CriticalValue & "*\"
Do
k = 0
ScheduleAll = VBA.Split(BTPorTP, "*\")
For i = 1 To UBound(ScheduleAll)
BTPorTPDraft = ""
If ScheduleAll(i) <> "" And IsNumeric(ScheduleAll(i)) = False Then
If ScheduleAll(i + 1) = "" Then
t = 1
ElseIf IsNumeric(ScheduleAll(i + 1)) = True Then
t = ScheduleAll(i + 1)
End If
For j = 1 To UBound(ImportData)
If ScheduleAll(i) = ImportData(j, 1) Then
BTPorTPDraft = BTPorTPDraft & ImportData(j, 3) & "*\" & VBA.CDbl(ImportData(j, 4)) * t & "*\"
k = 1
End If
Next j
If BTPorTPDraft <> "" Then
BTPorTP = VBA.Replace(BTPorTP, ScheduleAll(i) & "*\" & ScheduleAll(i + 1), BTPorTPDraft)
BTPorTP = VBA.Replace(BTPorTP, "*\*\", "*\")
End If
End If
Next i
Loop While k = 1
'Write data to activesheet
ScheduleAll = VBA.Split(BTPorTP, "*\")
t = Application.WorksheetFunction.RoundDown((UBound(ScheduleAll) + 3) / 2, 0) * 2
ReDim OutPutLucas(2, 4) As Variant
OutPutLucas = ReDimPreserve(OutPutLucas, t / 2, 3)
k = 1
For i = 1 To t - 2 Step 2
If ScheduleAll(i) <> "" Then
For j = i + 2 To t - 2 Step 2
If ScheduleAll(i) = ScheduleAll(j) And IsNumeric(ScheduleAll(j)) = False Then
ScheduleAll(i + 1) = VBA.CDbl(ScheduleAll(i + 1)) + VBA.CDbl(ScheduleAll(j + 1))
OutPutLucas(k, 2) = ScheduleAll(i)
OutPutLucas(k, 3) = ScheduleAll(i + 1)
ScheduleAll(j) = ScheduleAll(j + 1) = ""
Else
OutPutLucas(k, 2) = ScheduleAll(i)
OutPutLucas(k, 3) = ScheduleAll(i + 1)
End If
Next j
k = k + 1
End If
Next i
OutPutLucas(1, 1) = CriticalValue
ThisWorkbook.Worksheets(ActivesheetLucas).Range("I12:K" & 9 + t / 2).Value = OutPutLucas
End Sub
Bài đã được tự động gộp:

Good luck!
 

File đính kèm

Lần chỉnh sửa cuối:

Dapconmuoi1993

Thành viên mới
Tham gia ngày
15 Tháng chín 2020
Bài viết
5
Được thích
4
Điểm
15
Tuổi
120
Tối qua không thấy bạn phản hồi nên tôi không giám viết code. T phải đợi bạn phản hồi tôi mới làm code cho bạn được =)).

Ưu điểm của code này.
- Cơ bản code này chạy với n giai đoạn. dữ liệu đầu vào là cái bảng định mức tổng hợp. Điều kiện tra là cái mã thành phẩm hoặc bán thành phẩm bạn nhập vào ô "i12".
- Tự động cộng dồn các nguyên liệu đầu vào nếu chúng có trong ở các bán thành phẩm khác nhau.

Nhược điểrm của bảng này:
- Nó sẽ không sắp xếp các nguyên liệu đầu vào theo thứ tự từ 1 đến 29 đâu.

Luu ý bạn có thể thay các dữ liệu đầu vào trực tiếp vào code bên dưới những cái tôi bôi đậm để tương thích với từng cách bố trí của từng người. Mình có file đính kèm. bên trong có 1 function phụ.

Sub ExtractDataLucas()
Dim ImportData() As Variant
Dim CriticalValue As String
Dim ActivesheetLucas As String
Dim BTPorTP, BTPorTPDraft As String
Dim ScheduleAll() As String
Dim OutPutLucas() As Variant
Dim i, j, k, t As Double
ActivesheetLucas = Application.ActiveSheet.Name
'Define Input data
ImportData = ThisWorkbook.Worksheets(ActivesheetLucas).Range("C11:F50").Value
CriticalValue = ThisWorkbook.Worksheets(ActivesheetLucas).Range("I12").Value
For i = 1 To UBound(ImportData)
If ImportData(i, 1) = "" And i > 1 Then ImportData(i, 1) = ImportData(i - 1, 1)
Next i
k = 0
BTPorTP = BTPorTP & "*\" & CriticalValue & "*\"
Do
k = 0
ScheduleAll = VBA.Split(BTPorTP, "*\")
For i = 1 To UBound(ScheduleAll)
BTPorTPDraft = ""
If ScheduleAll(i) <> "" And IsNumeric(ScheduleAll(i)) = False Then
If ScheduleAll(i + 1) = "" Then
t = 1
ElseIf IsNumeric(ScheduleAll(i + 1)) = True Then
t = ScheduleAll(i + 1)
End If
For j = 1 To UBound(ImportData)
If ScheduleAll(i) = ImportData(j, 1) Then
BTPorTPDraft = BTPorTPDraft & ImportData(j, 3) & "*\" & VBA.CDbl(ImportData(j, 4)) * t & "*\"
k = 1
End If
Next j
If BTPorTPDraft <> "" Then
BTPorTP = VBA.Replace(BTPorTP, ScheduleAll(i) & "*\" & ScheduleAll(i + 1), BTPorTPDraft)
BTPorTP = VBA.Replace(BTPorTP, "*\*\", "*\")
End If
End If
Next i
Loop While k = 1
'Write data to activesheet
ScheduleAll = VBA.Split(BTPorTP, "*\")
t = Application.WorksheetFunction.RoundDown((UBound(ScheduleAll) + 3) / 2, 0) * 2
ReDim OutPutLucas(2, 4) As Variant
OutPutLucas = ReDimPreserve(OutPutLucas, t / 2, 3)
k = 1
For i = 1 To t - 2 Step 2
If ScheduleAll(i) <> "" Then
For j = i + 2 To t - 2 Step 2
If ScheduleAll(i) = ScheduleAll(j) And IsNumeric(ScheduleAll(j)) = False Then
ScheduleAll(i + 1) = VBA.CDbl(ScheduleAll(i + 1)) + VBA.CDbl(ScheduleAll(j + 1))
OutPutLucas(k, 2) = ScheduleAll(i)
OutPutLucas(k, 3) = ScheduleAll(i + 1)
ScheduleAll(j) = ScheduleAll(j + 1) = ""
Else
OutPutLucas(k, 2) = ScheduleAll(i)
OutPutLucas(k, 3) = ScheduleAll(i + 1)
End If
Next j
k = k + 1
End If
Next i
OutPutLucas(1, 1) = CriticalValue
ThisWorkbook.Worksheets(ActivesheetLucas).Range("I12:K" & 9 + t / 2).Value = OutPutLucas
End Sub
Bài đã được tự động gộp:

Good luck!
Quá tuyệt, chân thành cảm ơn sự nhiệt tình của bác!
 
Top Bottom