FPT_online
Thành viên hoạt động



- Tham gia
- 27/10/13
- Bài viết
- 133
- Được thích
- 16




Mình có bảng tính như trong file đính kèm. Nhờ mọi người dùng công thức để fill theo điều kiện. Thank mọi người đã giúp
Sub Lap_Lai()
Dim DongHT As Long
Dim SM As Long
DongSM = 1
For DongHT = 2 To 1000
Dim SL_lap_lai As Integer
SL_lap_lai = CInt(Worksheets("Sheet1").Range("B" & DongHT).Value)
Dim i As Integer
For i = 1 To SL_lap_lai
Sheets("Sheet2").Range("A" & DongSM).Value = Sheets("Sheet1").Range("A" & DongHT).Value
DongSM = DongSM + 1
Next i
Next DongHT
End Sub
mình có bảng tính như trong file đính kèm. Nhờ mọi người dùng công thức để fill theo điều kiện. Thank mọi người đã giúp
a9=index($a$2:$a$5,if(count(a8),if(countif($a$8:a8,a8)<vlookup(a8,$a$2:$b$5,2,0),a8,match(a8,$a$2:$a$5,0)+1),1))
Sao lại có "Sheet2" ở đây?Sheets("Sheet2").Range("A" & DongSM).Value = Sheets("Sheet1").Range("A" & DongHT).Value
Sub ketqua()
Dim i&, j&, arr1(), arr2()
arr1 = Sheet1.Range("A2:A5").Value
arr2 = Sheet1.Range("B2:B5").Value
j = 0
For i = 1 To UBound(arr1)
Sheet1.Range("A9").Offset(j, 0).Resize(arr2(i, 1) * 1, 1) = arr1(i, 1)
j = j + arr2(i, 1)
Next
End Sub

Lúc đầu em định để kết quả ở sheet 2Sao lại có "Sheet2" ở đây?
Thử với 1 vòng lặp:
PHP:Sub ketqua() Dim i&, j&, arr1(), arr2() arr1 = Sheet1.Range("A2:A5").Value arr2 = Sheet1.Range("B2:B5").Value j = 0 For i = 1 To UBound(arr1) Sheet1.Range("A9").Offset(j, 0).Resize(arr2(i, 1) * 1, 1) = arr1(i, 1) j = j + arr2(i, 1) Next End Sub
DongSM = 9
Sheets("Sheet1").Range("A" & DongSM).Value = Sheets("Sheet1").Range("A" & DongHT).Value
Thừa dấu "=" rồi kìa "chú chim hồng"nữa thế kỉ mới đi viết công thức 1 lần . hí hí
d9==INDEX($A$2:$A$5,IFERROR(MATCH(D8,$A$2:$A$5,0)+(VLOOKUP(D8,$A$2:$B$5,2,0)-1<COUNTIF($D$88,D8)),1))

