Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 'Vi du the nay:
- '- A1:A10 chua cac so nao do
- '- Dung vong lap lay cac so le trong A1:A10 va chuyen sang cot C
- 'Duong nhien ta co tinh toan (de biet so nao le) chu khong chuyen nguyen vung nen buoc phai vong lap roi
- Sub gpe01()
- Dim tmp, arr(), i As Long, j As Long
- tmp = Range("A1:A10").Value
- ReDim arr(1 To UBound(tmp), 1 To 1)
- For i = 1 To UBound(tmp)
- If tmp(i, 1) Mod 2 Then
- j = j + 1
- arr(j, 1) = tmp(i, 1)
- End If
- Next i
- Range("C1").Resize(UBound(arr), 1).Value = arr
- End Sub
- Sub GPE2()
- Dim tmp, arr(), i As Long, j As Long
- tmp = Range("A1:B10").Value
- ReDim arr(1 To UBound(tmp, 1), 1 To UBound(tmp, 2))
- For i = 1 To UBound(tmp, 1)
- If Val(tmp(i, 1)) Mod 2 Then
- j = j + 1
- arr(j, 1) = tmp(i, 1)
- arr(j, 2) = tmp(i, 2)
- End If
- Next i
- Range("C1").Resize(UBound(arr), UBound(arr, 2)).Value = arr
- 'Xem các dòng #N/A
- End Sub
- ' #29 c?a ndu
- 'Code vay la duoc roi. Co dieu A1:B10 dang bo tri co trat tu nen ban chi dung 1 vong lap
- '(ban ngam hieu rang neu cot 1 la so le thi cot 2 cung la so le).
- 'Trong truong hop A1:B10 chua so tuy y va khong theo trat tu nao thi ban buoc phai dung 2 vong lap
- '(duyet tu tren xuong va tu trai qua phai)
- Sub GPE03()
- Dim sArray, arr(), i As Long, j As Long, iR As Long
- sArray = Range("A1:B10").Value
- ReDim arr(1 To UBound(sArray), 1 To UBound(sArray, 2))
- For i = 1 To UBound(sArray, 1)
- For j = 1 To UBound(sArray, 2)
- If sArray(i, j) Mod 2 Then
- arr(Int(iR / 2) + 1, (iR Mod 2) + 1) = sArray(i, j)
- iR = iR + 1
- End If
- Next j
- Next i
- Range("C1:D10") = arr
- End Sub
- 'Code Test1 trong bai #29 cua ndu doc Mang ban dau lay so le xong phan phoi cho mang
- 'ket qua theo thu tu uu tien hang ngang truoc, doc sau.
- 'Xin gioi thieu code Test2, lay so le xong, cua cot nao de nguyen cot do:
- Sub Test2()
- Dim sArray, arr(), i As Long, j As Long, iR1 As Long, iR2
- sArray = Range("A1:B10").Value
- ReDim arr(1 To UBound(sArray), 1 To UBound(sArray, 2))
- For i = 1 To UBound(sArray, 1)
- For j = 1 To UBound(sArray, 2)
- If sArray(i, j) Mod 2 Then
- arr(IIf(j = 1, iR1, iR2) + 1, j) = sArray(i, j)
- If j = 1 Then
- iR1 = iR1 + 1
- Else
- iR2 = iR2 + 1
- End If
- End If
- Next j
- Next i
- Range("E1").Resize(UBound(sArray, 1), UBound(sArray, 2)) = arr
- End Sub
- 'Và gi?i thi?u luôn Code Test3, l?y s? l? 2 c?t và s?p l?i d?n thành 1 c?t.
- 'Neu de y, se thay code Test3 For theo cot nam ngoai, For theo dong nam trong.
- 'Neu dao lai For theo cot nam trong, ta se co ket qua khac
- 'Coi nhu day la 1 so thi du ve nhung cach su dung Array 1 cach linh hoat cho nhung yeu cau khac nhau.
- Sub test3()
- Dim sArray, arr(), i As Long, j As Long, iR As Long
- sArray = Range("A1:B10").Value
- ReDim arr(1 To UBound(sArray) * UBound(sArray, 2), 1 To 1)
- For j = 1 To UBound(sArray, 2)
- For i = 1 To UBound(sArray, 1)
- If sArray(i, j) Mod 2 Then
- arr(iR + 1, 1) = sArray(i, j)
- iR = iR + 1
- End If
- Next
- Next
- Range("G1:G" & iR + 1) = arr
- End Sub
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement