hadoan-pap
Thành viên tiêu biểu
- Tham gia
- 8/7/15
- Bài viết
- 460
- Được thích
- 19
Dạ, đầu ra dữ liệu nó như vậy anh ạ. Các Item ở cột A thì cái có dữ liệu ở cột B và cái thì không có anh ạ.Bảng dữ liệu gì mà kỳ quặc thế.
Viết code bao nhiêu rồi cũng không bằng nắm cái căn bản: Bảng dữ liệu PHẢI đúng chuẩn.
Mình điền đầy đủ giá trị vào cột B đi, rồi muốn làm gì thì làm.
View attachment 270379
Chạy code . . .Em chào mọi người ạ.
Dạ, em có dữ liệu đầu vào là Sheet1, số lượng dòng rất nhiều và không cố định ạ.
Em muốn kiếm tra chạy từng dòng để kiểm tra và ra được kết quả trả về ô A2 như Sheet2 ạ.
Em xin cảm ơn rất nhiều!
Sub ABC()
Dim sArr(), arr(), res$, tmp$, srow&, i&, k&
With Sheets("Sheet1")
i = .Range("A" & Rows.Count).End(xlUp).Row
If i < 2 Then MsgBox ("Khong co du lieu"): Exit Sub
sArr = .Range("A2:B" & i).Value
End With
srow = UBound(sArr)
For i = 1 To srow
If sArr(i, 2) = Empty Then
If tmp = Empty Then tmp = "[" & sArr(i, 1)
Else
k = k + 1
ReDim Preserve arr(1 To k)
If tmp = Empty Then
arr(k) = "[" & sArr(i, 1) & "] : " & sArr(i, 2)
Else
arr(k) = tmp & " - " & sArr(i, 1) & "] : " & sArr(i, 2)
tmp = Empty
End If
End If
Next i
Sheets("Sheet2").Range("B2") = Join(arr, Chr(10))
End Sub
Em xin cảm ơn nhiều ạ ! ^^Chạy code . . .
Mã:Sub ABC() Dim sArr(), arr(), res$, tmp$, srow&, i&, k& With Sheets("Sheet1") i = .Range("A" & Rows.Count).End(xlUp).Row If i < 2 Then MsgBox ("Khong co du lieu"): Exit Sub sArr = .Range("A2:B" & i).Value End With srow = UBound(sArr) For i = 1 To srow If sArr(i, 2) = Empty Then If tmp = Empty Then tmp = "[" & sArr(i, 1) Else k = k + 1 ReDim Preserve arr(1 To k) If tmp = Empty Then arr(k) = "[" & sArr(i, 1) & "] : " & sArr(i, 2) Else arr(k) = tmp & " - " & sArr(i, 1) & "] : " & sArr(i, 2) tmp = Empty End If End If Next i Sheets("Sheet2").Range("B2") = Join(arr, Chr(10)) End Sub
Gửi anh.Chạy code . . .
Mã:Sub ABC() Dim sArr(), arr(), res$, tmp$, srow&, i&, k& With Sheets("Sheet1") i = .Range("A" & Rows.Count).End(xlUp).Row If i < 2 Then MsgBox ("Khong co du lieu"): Exit Sub sArr = .Range("A2:B" & i).Value End With srow = UBound(sArr) For i = 1 To srow If sArr(i, 2) = Empty Then If tmp = Empty Then tmp = "[" & sArr(i, 1) Else k = k + 1 ReDim Preserve arr(1 To k) If tmp = Empty Then arr(k) = "[" & sArr(i, 1) & "] : " & sArr(i, 2) Else arr(k) = tmp & " - " & sArr(i, 1) & "] : " & sArr(i, 2) tmp = Empty End If End If Next i Sheets("Sheet2").Range("B2") = Join(arr, Chr(10)) End Sub
Dữ liệu quá tầm bậy! cột B nhìn giống rổng nhưng không phảiGửi anh.
Anh ơi sao trong file em có đổi sang kiểu dữ liệu khác thì nó lại chạy không ra kết quả như cũ anh nhỉ ?
Em kiểm tra nhưng chưa biết nguyên nhân tại sao ạ.
Anh vui lòng xem giúp em với ạ.
Em cảm ơn anh!
Sub Button1_Click()
Dim sArr(), arr(), res$, tmp$, srow&, i&, k&
With Sheets("Sheet1")
i = .Range("A" & Rows.Count).End(xlUp).Row
If i < 2 Then MsgBox ("Khong co du lieu"): Exit Sub
sArr = .Range("A2:B" & i).Value
End With
srow = UBound(sArr)
For i = 1 To srow
If Replace(sArr(i, 2), " ", "") = Empty Then
If tmp = Empty Then tmp = "[" & sArr(i, 1)
Else
k = k + 1
ReDim Preserve arr(1 To k)
If tmp = Empty Then
arr(k) = "[" & sArr(i, 1) & "] : " & sArr(i, 2)
Else
arr(k) = tmp & " - " & sArr(i, 1) & "] : " & sArr(i, 2)
tmp = Empty
End If
End If
Next i
Sheets("Sheet2").Range("A2") = Join(arr, Chr(10))
End Sub
Dạ e cảm ơn anh nhiều ạ.Dữ liệu quá tầm bậy! cột B nhìn giống rổng nhưng không phải
Mã:Sub Button1_Click() Dim sArr(), arr(), res$, tmp$, srow&, i&, k& With Sheets("Sheet1") i = .Range("A" & Rows.Count).End(xlUp).Row If i < 2 Then MsgBox ("Khong co du lieu"): Exit Sub sArr = .Range("A2:B" & i).Value End With srow = UBound(sArr) For i = 1 To srow If Replace(sArr(i, 2), " ", "") = Empty Then If tmp = Empty Then tmp = "[" & sArr(i, 1) Else k = k + 1 ReDim Preserve arr(1 To k) If tmp = Empty Then arr(k) = "[" & sArr(i, 1) & "] : " & sArr(i, 2) Else arr(k) = tmp & " - " & sArr(i, 1) & "] : " & sArr(i, 2) tmp = Empty End If End If Next i Sheets("Sheet2").Range("A2") = Join(arr, Chr(10)) End Sub
Gửi anh!Dữ liệu quá tầm bậy! cột B nhìn giống rổng nhưng không phải
Mã:Sub Button1_Click() Dim sArr(), arr(), res$, tmp$, srow&, i&, k& With Sheets("Sheet1") i = .Range("A" & Rows.Count).End(xlUp).Row If i < 2 Then MsgBox ("Khong co du lieu"): Exit Sub sArr = .Range("A2:B" & i).Value End With srow = UBound(sArr) For i = 1 To srow If Replace(sArr(i, 2), " ", "") = Empty Then If tmp = Empty Then tmp = "[" & sArr(i, 1) Else k = k + 1 ReDim Preserve arr(1 To k) If tmp = Empty Then arr(k) = "[" & sArr(i, 1) & "] : " & sArr(i, 2) Else arr(k) = tmp & " - " & sArr(i, 1) & "] : " & sArr(i, 2) tmp = Empty End If End If Next i Sheets("Sheet2").Range("A2") = Join(arr, Chr(10)) End Sub
[12/31/2021 - 12/27/2021] : 27.5 [12/28/2021 - 12/31/2021] : 25.5 |
Dạ em đã sửa được rồi ạ.Dữ liệu quá tầm bậy! cột B nhìn giống rổng nhưng không phải
Mã:Sub Button1_Click() Dim sArr(), arr(), res$, tmp$, srow&, i&, k& With Sheets("Sheet1") i = .Range("A" & Rows.Count).End(xlUp).Row If i < 2 Then MsgBox ("Khong co du lieu"): Exit Sub sArr = .Range("A2:B" & i).Value End With srow = UBound(sArr) For i = 1 To srow If Replace(sArr(i, 2), " ", "") = Empty Then If tmp = Empty Then tmp = "[" & sArr(i, 1) Else k = k + 1 ReDim Preserve arr(1 To k) If tmp = Empty Then arr(k) = "[" & sArr(i, 1) & "] : " & sArr(i, 2) Else arr(k) = tmp & " - " & sArr(i, 1) & "] : " & sArr(i, 2) tmp = Empty End If End If Next i Sheets("Sheet2").Range("A2") = Join(arr, Chr(10)) End Sub