hoangminh2018
Thành viên chính thức
- Tham gia
- 31/10/18
- Bài viết
- 58
- Được thích
- 4
Sub tachchuoi2()
Dim lr As Long, i As Long
Dim temp, k As Long
With Sheets("Sheet1")
lr = .Range("A" & Rows.Count).End(xlUp).Row
For i = 2 To lr
If Cells(i, 1).Value <> "" Then
temp = Split(Cells(i, 1).Value, " ")
k = UBound(temp)
.Range("B" & i).Resize(, k + 1) = temp
End If
Next
End With
End Sub
Mình chỉ sưu tầm thôi nha. Đừng hỏi gì thêm. Giựn ấyAnh, chị giúp em tạo vòng lập để tách chuỗi này.
Cái này em tự coi trên mạng rồi làm theo (em mới tập làm quen vói VBA)
nhưng thầy trên mạng chỉ dạy làm có 1 dòng ah, nhờ anh chị làm tiếp giúp.
Cảm ơn
Thanks bạnMình chỉ sưu tầm thôi nha. Đừng hỏi gì thêm. Giựn ấy
Cảm ơn anh.Thử vòng for
Mã:Sub tachchuoi2() Dim lr As Long, i As Long Dim temp, k As Long With Sheets("Sheet1") lr = .Range("A" & Rows.Count).End(xlUp).Row For i = 2 To lr If Cells(i, 1).Value <> "" Then temp = Split(Cells(i, 1).Value, " ") k = UBound(temp) .Range("B" & i).Resize(, k + 1) = temp End If Next End With End Sub
Anh ơi bây giờ mình muốn ở đoạn thứ 2 của môi dòng ma 2 (2015 hay 2016) được đỏi thành 1990 thì mình làm sao anh.Cảm ơn bạn
Bài đã được tự động gộp:
Cảm ơn anh.
Cảm ơn anhThử vòng for
Mã:Sub tachchuoi2() Dim lr As Long, i As Long Dim temp, k As Long With Sheets("Sheet1") lr = .Range("A" & Rows.Count).End(xlUp).Row For i = 2 To lr If Cells(i, 1).Value <> "" Then temp = Split(Cells(i, 1).Value, " ") k = UBound(temp) .Range("B" & i).Resize(, k + 1) = temp End If Next End With End Sub
đây nhé phần tiếp theo của bạnAnh, chị giúp em tạo vòng lập để tách chuỗi này.
Cái này em tự coi trên mạng rồi làm theo (em mới tập làm quen vói VBA)
nhưng thầy trên mạng chỉ dạy làm có 1 dòng ah, nhờ anh chị làm tiếp giúp.
Cảm ơn
Sub tachchuoi()
Dim mixcode As String
Dim t As Integer
Dim n1&, n2&
Dim i&, j&
For i = 2 To 4
mixcode = Sheets("sheet1").Cells(i, 1).Value & " "
j = 1
n1 = 1
n2 = 1
While n2 > 0
n2 = InStr(n1, mixcode, " ")
If n2 > 0 Then
t = Mid(mixcode, n1, n2 - n1)
j = j + 1
Sheets("sheet1").Cells(i, j).Value = t
n1 = n2 + 1
End If
Wend
Next i
End Sub
Dùng cái có sẵn nhẹ tựa lông hồngCảm ơn bạn
Bài đã được tự động gộp:
Cảm ơn anh.
Bài đã được tự động gộp:
Anh ơi bây giờ mình muốn ở đoạn thứ 2 của môi dòng ma 2 (2015 hay 2016) được đỏi thành 1990 thì mình làm sao anh.
Bài đã được tự động gộp:
Cảm ơn anh
Anh ơi bây giờ mình muốn ở đoạn thứ 2 của môi dòng ma 2 (2015 hay 2016) được đỏi thành 1990 thì mình làm sao anh.
Code này nhìn quen quen quá!!!đây nhé phần tiếp theo của bạn
Mã:Sub tachchuoi() Dim mixcode As String Dim t As Integer Dim n1&, n2& Dim i&, j& For i = 2 To 4 mixcode = Sheets("sheet1").Cells(i, 1).Value & " " j = 1 n1 = 1 n2 = 1 While n2 > 0 n2 = InStr(n1, mixcode, " ") If n2 > 0 Then t = Mid(mixcode, n1, n2 - n1) j = j + 1 Sheets("sheet1").Cells(i, j).Value = t n1 = n2 + 1 End If Wend Next i End Sub
đây nhé emCảm ơn bạn
Bài đã được tự động gộp:
Cảm ơn anh.
Bài đã được tự động gộp:
Anh ơi bây giờ mình muốn ở đoạn thứ 2 của môi dòng ma 2 (2015 hay 2016) được đỏi thành 1990 thì mình làm sao anh.
Bài đã được tự động gộp:
Cảm ơn anh
Anh ơi bây giờ mình muốn ở đoạn thứ 2 của môi dòng ma 2 (2015 hay 2016) được đỏi thành 1990 thì mình làm sao anh.
Sub tachchuoi2()
Dim lr As Long, i As Long
Dim temp, k As Long
With Sheets("Sheet1")
lr = .Range("A" & Rows.Count).End(xlUp).Row
For i = 2 To lr
If Cells(i, 1).Value <> "" Then
temp = Split(Cells(i, 1).Value, " ")
k = UBound(temp)
temp(1) = "1900"
.Range("B" & i).Resize(, k + 1) = temp
End If
Next
End With
End Sub
Cảm ơn anhđây nhé phần tiếp theo của bạn
Mã:Sub tachchuoi() Dim mixcode As String Dim t As Integer Dim n1&, n2& Dim i&, j& For i = 2 To 4 mixcode = Sheets("sheet1").Cells(i, 1).Value & " " j = 1 n1 = 1 n2 = 1 While n2 > 0 n2 = InStr(n1, mixcode, " ") If n2 > 0 Then t = Mid(mixcode, n1, n2 - n1) j = j + 1 Sheets("sheet1").Cells(i, j).Value = t n1 = n2 + 1 End If Wend Next i End Sub
Cảm ơn anh.đây nhé em
Mã:Sub tachchuoi2() Dim lr As Long, i As Long Dim temp, k As Long With Sheets("Sheet1") lr = .Range("A" & Rows.Count).End(xlUp).Row For i = 2 To lr If Cells(i, 1).Value <> "" Then temp = Split(Cells(i, 1).Value, " ") k = UBound(temp) temp(1) = "1900" .Range("B" & i).Resize(, k + 1) = temp End If Next End With End Sub
Sub Test()
Application.DisplayAlerts = False
Range("A2:A100").TextToColumns Range("B2:B100"), xlDelimited, , , , , , True, , , Array(Array(1, 2), Array(2, 2), Array(3, 2), Array(4, 2), Array(5, 2))
Application.DisplayAlerts = True
End Sub
em cảm ơn nhưng thật tình là em không biết dùng Find and Replace, thầy có thể hướng dẫn cho em không.Sao không ai dùng Text To Columns vậy ta? Chẳng hạn:
Muốn đổi 2015, 2016 gì gì đó thành 1900, ta dùng Find and Replace cũng chỉ 1 dòng code là xongMã:Sub Test() Application.DisplayAlerts = False Range("A2:A100").TextToColumns Range("B2:B100"), xlDelimited, , , , , , True, , , Array(Array(1, 2), Array(2, 2), Array(3, 2), Array(4, 2), Array(5, 2)) Application.DisplayAlerts = True End Sub
Tức là Ctrl + H đóem cảm ơn nhưng thật tình là em không biết dùng Find and Replace, thầy có thể hướng dẫn cho em không.
DIỄN ĐÀN GIẢI PHÁP EXCEL