Advertisement
Guest User

Untitled

a guest
May 21st, 2019
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.02 KB | None | 0 0
  1. 'Vi du the nay:
  2. '- A1:A10 chua cac so nao do
  3. '- Dung vong lap lay cac so le trong A1:A10 va chuyen sang cot C
  4. 'Duong nhien ta co tinh toan (de biet so nao le) chu khong chuyen nguyen vung nen buoc phai vong lap roi
  5. Sub gpe01()
  6. Dim tmp, arr(), i As Long, j As Long
  7. tmp = Range("A1:A10").Value
  8. ReDim arr(1 To UBound(tmp), 1 To 1)
  9. For i = 1 To UBound(tmp)
  10. If tmp(i, 1) Mod 2 Then
  11. j = j + 1
  12. arr(j, 1) = tmp(i, 1)
  13. End If
  14. Next i
  15. Range("C1").Resize(UBound(arr), 1).Value = arr
  16. End Sub
  17. Sub GPE2()
  18. Dim tmp, arr(), i As Long, j As Long
  19. tmp = Range("A1:B10").Value
  20. ReDim arr(1 To UBound(tmp, 1), 1 To UBound(tmp, 2))
  21. For i = 1 To UBound(tmp, 1)
  22. If Val(tmp(i, 1)) Mod 2 Then
  23. j = j + 1
  24. arr(j, 1) = tmp(i, 1)
  25. arr(j, 2) = tmp(i, 2)
  26. End If
  27. Next i
  28. Range("C1").Resize(UBound(arr), UBound(arr, 2)).Value = arr
  29. 'Xem các dòng #N/A
  30. End Sub
  31. ' #29 c?a ndu
  32. 'Code vay la duoc roi. Co dieu A1:B10 dang bo tri co trat tu nen ban chi dung 1 vong lap
  33. '(ban ngam hieu rang neu cot 1 la so le thi cot 2 cung la so le).
  34. 'Trong truong hop A1:B10 chua so tuy y va khong theo trat tu nao thi ban buoc phai dung 2 vong lap
  35. '(duyet tu tren xuong va tu trai qua phai)
  36. Sub GPE03()
  37. Dim sArray, arr(), i As Long, j As Long, iR As Long
  38. sArray = Range("A1:B10").Value
  39. ReDim arr(1 To UBound(sArray), 1 To UBound(sArray, 2))
  40. For i = 1 To UBound(sArray, 1)
  41. For j = 1 To UBound(sArray, 2)
  42. If sArray(i, j) Mod 2 Then
  43. arr(Int(iR / 2) + 1, (iR Mod 2) + 1) = sArray(i, j)
  44. iR = iR + 1
  45. End If
  46. Next j
  47. Next i
  48. Range("C1:D10") = arr
  49. End Sub
  50.  
  51. 'Code Test1 trong bai #29 cua ndu doc Mang ban dau lay so le xong phan phoi cho mang
  52. 'ket qua theo thu tu uu tien hang ngang truoc, doc sau.
  53. 'Xin gioi thieu code Test2, lay so le xong, cua cot nao de nguyen cot do:
  54.  
  55. Sub Test2()
  56. Dim sArray, arr(), i As Long, j As Long, iR1 As Long, iR2
  57. sArray = Range("A1:B10").Value
  58. ReDim arr(1 To UBound(sArray), 1 To UBound(sArray, 2))
  59. For i = 1 To UBound(sArray, 1)
  60. For j = 1 To UBound(sArray, 2)
  61. If sArray(i, j) Mod 2 Then
  62. arr(IIf(j = 1, iR1, iR2) + 1, j) = sArray(i, j)
  63. If j = 1 Then
  64. iR1 = iR1 + 1
  65. Else
  66. iR2 = iR2 + 1
  67. End If
  68. End If
  69. Next j
  70. Next i
  71. Range("E1").Resize(UBound(sArray, 1), UBound(sArray, 2)) = arr
  72. End Sub
  73.  
  74. '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.
  75. 'Neu de y, se thay code Test3 For theo cot nam ngoai, For theo dong nam trong.
  76. 'Neu dao lai For theo cot nam trong, ta se co ket qua khac
  77. 'Coi nhu day la 1 so thi du ve nhung cach su dung Array 1 cach linh hoat cho nhung yeu cau khac nhau.
  78.  
  79. Sub test3()
  80. Dim sArray, arr(), i As Long, j As Long, iR As Long
  81. sArray = Range("A1:B10").Value
  82. ReDim arr(1 To UBound(sArray) * UBound(sArray, 2), 1 To 1)
  83. For j = 1 To UBound(sArray, 2)
  84. For i = 1 To UBound(sArray, 1)
  85. If sArray(i, j) Mod 2 Then
  86. arr(iR + 1, 1) = sArray(i, j)
  87. iR = iR + 1
  88. End If
  89. Next
  90. Next
  91. Range("G1:G" & iR + 1) = arr
  92.  
  93. End Sub
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement