Thiên Thanh1
Thành viên mới
- Tham gia
- 16/10/20
- Bài viết
- 36
- Được thích
- 9
Cảm ơn bạnQuy luật chèn cái "B trả lời" như thế nào vậy Bạn
Bạn chạy thử xem nhéCảm ơn bạn
Tức là dòng nàođược chèn vào thìđiền câuđó vào bạn ơi.
Sub Insert_Row()
Dim sRng As Range, Rng As Range
Dim sArr(), dArr(1 To 65535, 1 To 1)
Dim I As Long, K As Long, B As String
B = "B: Tr" & ChrW$(7843) & " l" & ChrW$(7901) & "i"
On Error GoTo Thoat
Set sRng = Application.InputBox(Prompt:="GPE ", Title:="Chon du lieu dau vao", Type:=8)
If sRng.Rows.Count * sRng.Columns.Count > 1 Then
sArr = sRng.Value
For I = 1 To UBound(sArr)
If Len(sArr(I, 1)) <= 10 Then
K = K + 1: dArr(K, 1) = sArr(I, 1)
If Len(sArr(I + 1, 1)) > 10 Then
K = K + 1: dArr(K, 1) = sArr(I + 1, 1): I = I + 1
End If
Else
K = K + 1: dArr(K, 1) = B
K = K + 1: dArr(K, 1) = sArr(I, 1)
End If
Next I
If K Then
Set Rng = Application.InputBox(Prompt:="GPE ", Title:="Chon o ghi du lieu", Type:=8)
Rng.Resize(K, 1) = dArr
End If
End If
Thoat:
End Sub
Chuẩn quá bạn ơiBạn chạy thử xem nhé
PHP:Sub Insert_Row() Dim sRng As Range, Rng As Range Dim sArr(), dArr(1 To 65535, 1 To 1) Dim I As Long, K As Long, B As String B = "B: Tr" & ChrW$(7843) & " l" & ChrW$(7901) & "i" On Error GoTo Thoat Set sRng = Application.InputBox(Prompt:="GPE ", Title:="Chon du lieu dau vao", Type:=8) If sRng.Rows.Count * sRng.Columns.Count > 1 Then sArr = sRng.Value For I = 1 To UBound(sArr) If Len(sArr(I, 1)) <= 10 Then K = K + 1: dArr(K, 1) = sArr(I, 1) If Len(sArr(I + 1, 1)) > 10 Then K = K + 1: dArr(K, 1) = sArr(I + 1, 1): I = I + 1 End If Else K = K + 1: dArr(K, 1) = B K = K + 1: dArr(K, 1) = sArr(I, 1) End If Next I If K Then Set Rng = Application.InputBox(Prompt:="GPE ", Title:="Chon o ghi du lieu", Type:=8) Rng.Resize(K, 1) = dArr End If End If Thoat: End Sub
[CODE]Sub Insert_Row()
Dim sRng As Range, Rng As Range
Dim sArr(), dArr(1 To 65535, 1 To 1)
Dim I As Long, K As Long, B As String
B = "B: Tr" & ChrW$(7843) & " l" & ChrW$(7901) & "i"
On Error GoTo Thoat
'Set sRng = Application.InputBox(Prompt:="GPE ", Title:="Chon du lieu dau vao", Type:=8)
Set sRng = Range("B1:B2500")
If sRng.Rows.Count * sRng.Columns.Count > 1 Then
sArr = sRng.Value
For I = 1 To UBound(sArr)
If Len(sArr(I, 1)) <= 10 Then
K = K + 1: dArr(K, 1) = sArr(I, 1)
If Len(sArr(I + 1, 1)) > 10 Then
K = K + 1: dArr(K, 1) = sArr(I + 1, 1): I = I + 1
End If
Else
K = K + 1: dArr(K, 1) = B
K = K + 1: dArr(K, 1) = sArr(I, 1)
End If
Next I
If K Then
'Set Rng = Application.InputBox(Prompt:="GPE ", Title:="Chon o ghi du lieu", Type:=8)
Range("B65").Resize(K, 1) = dArr
End If
End If
Thoat:
End Sub
[/CODE]
Bạn xem thử nhéBạn @PacificPR ơi chỉnh sử giúp mình với nhé
Mình chỉnh code của bạn như này nhưng nó không chạy
Chúc bạn ngày đầu tuần có nhiều thành công nhé.[CODE]Sub Insert_Row() Dim sRng As Range, Rng As Range Dim sArr(), dArr(1 To 65535, 1 To 1) Dim I As Long, K As Long, B As String B = "B: Tr" & ChrW$(7843) & " l" & ChrW$(7901) & "i" On Error GoTo Thoat 'Set sRng = Application.InputBox(Prompt:="GPE ", Title:="Chon du lieu dau vao", Type:=8) Set sRng = Range("B1:B2500") If sRng.Rows.Count * sRng.Columns.Count > 1 Then sArr = sRng.Value For I = 1 To UBound(sArr) If Len(sArr(I, 1)) <= 10 Then K = K + 1: dArr(K, 1) = sArr(I, 1) If Len(sArr(I + 1, 1)) > 10 Then K = K + 1: dArr(K, 1) = sArr(I + 1, 1): I = I + 1 End If Else K = K + 1: dArr(K, 1) = B K = K + 1: dArr(K, 1) = sArr(I, 1) End If Next I If K Then 'Set Rng = Application.InputBox(Prompt:="GPE ", Title:="Chon o ghi du lieu", Type:=8) Range("B65").Resize(K, 1) = dArr End If End If Thoat: End Sub [/CODE]
Sub Insert_Row()
Dim sArr(), dArr(1 To 65535, 1 To 1)
Dim I As Long, K As Long, B As String
B = "B: Tr" & ChrW$(7843) & " l" & ChrW$(7901) & "i"
sArr = Range("B1", Range("B1").End(xlDown)).Value
For I = 1 To UBound(sArr)
If Len(sArr(I, 1)) <= 10 Then
K = K + 1: dArr(K, 1) = sArr(I, 1)
If Len(sArr(I + 1, 1)) > 10 Then
K = K + 1: dArr(K, 1) = sArr(I + 1, 1): I = I + 1
End If
Else
K = K + 1: dArr(K, 1) = B
K = K + 1: dArr(K, 1) = sArr(I, 1)
End If
Next I
If K Then
Range("B65", Range("B65").End(xlDown)).ClearContents
Range("B65").Resize(K, 1) = dArr
End If
End Sub
Cảm ơn bạn @PacificPR chuẩn rồi bạn ơiBạn xem thử nhé
PHP:Sub Insert_Row() Dim sArr(), dArr(1 To 65535, 1 To 1) Dim I As Long, K As Long, B As String B = "B: Tr" & ChrW$(7843) & " l" & ChrW$(7901) & "i" sArr = Range("B1", Range("B1").End(xlDown)).Value For I = 1 To UBound(sArr) If Len(sArr(I, 1)) <= 10 Then K = K + 1: dArr(K, 1) = sArr(I, 1) If Len(sArr(I + 1, 1)) > 10 Then K = K + 1: dArr(K, 1) = sArr(I + 1, 1): I = I + 1 End If Else K = K + 1: dArr(K, 1) = B K = K + 1: dArr(K, 1) = sArr(I, 1) End If Next I If K Then Range("B65", Range("B65").End(xlDown)).ClearContents Range("B65").Resize(K, 1) = dArr End If End Sub
Sao trong file của bạn cái If Len(sArr(I + 1, 1)) > 10 Then nó lại thành If Len(sArr(I + 1, 1)) > 20 Then rồiBạn @PacificPR kiểm tra lại giúp mình với
Mình thấy nó vẫn sai sai bạn ơi
Bởi vì mình cho nó điều kiện có nhiều hơn 20 ký tự màSao trong file của bạn cái If Len(sArr(I + 1, 1)) > 10 Then nó lại thành If Len(sArr(I + 1, 1)) > 20 Then rồi
Mình đang chốt với nhau là ở chỗ 10 ký tự màBởi vì mình cho nó điều kiện có nhiều hơn 20 ký tự mà
Nếu cho điều kiện khác thì code bị sai bạn à
Bạn nghiên cứu giúp mình "Khi sửa cho các điều kiện khác thì code vẫn đúng với nhé"
Cảm ơn bạn!
Thử xem nào bác.Anh chị và các bạn ơi, giúp em với
Em cảm ơn trước nhé!
Sub Macro3()
Dim i As String
i = InputBox("Search", "Thông báo")
Columns("D:D").Select
Selection.Replace What:=i, Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Selection.SpecialCells(xlCellTypeBlanks).Select
Selection.FormulaR1C1 = i
Selection.EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAbove
Columns("D:D").Select
Selection.SpecialCells(xlCellTypeBlanks).Select
Selection.FormulaR1C1 = "OK______"
End Sub
Hai Bạn này vào diễn đàn cùng ngày ( 16 Tháng mười 2020 ) nèThử xem nào bác.
Cột D không có ô trống nhé.
Mã:Sub Macro3() Dim i As String i = InputBox("Search", "Thông báo") Columns("D:D").Select Selection.Replace What:=i, Replacement:="", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Selection.SpecialCells(xlCellTypeBlanks).Select Selection.FormulaR1C1 = i Selection.EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAbove Columns("D:D").Select Selection.SpecialCells(xlCellTypeBlanks).Select Selection.FormulaR1C1 = "OK______" End Sub
Sớm hơn cơ, tại quên mất mật khẩu tạo tài khoản mới, nhưng cùng ngày thì sao bác?Hai Bạn này vào diễn đàn cùng ngày ( 16 Tháng mười 2020 ) nè
Bạn ơi, bạn đưa code vào file và chọn vùng chính xác giúp mình với nhé.Thử xem nào bác.
Cột D không có ô trống nhé.
Mã:Sub Macro3() Dim i As String i = InputBox("Search", "Thông báo") Columns("D:D").Select Selection.Replace What:=i, Replacement:="", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Selection.SpecialCells(xlCellTypeBlanks).Select Selection.FormulaR1C1 = i Selection.EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAbove Columns("D:D").Select Selection.SpecialCells(xlCellTypeBlanks).Select Selection.FormulaR1C1 = "OK______" End Sub
Hi hi anh @PacificPR oi, hình như cái thằng kia lại là cái loại phá đám và phá diễn đàn GPE đó anh oi.Hì hì. Thì chỉ là vào diễn đàn cùng một ngày thôi
@PacificPR đang nói "2 thằng" bạn cho mình hỏi là bạn đang nói "thằng" nào?Hi hi anh @PacificPR oi, hình như cái thằng kia lại là cái loại phá đám và phá diễn đàn GPE đó anh oi.
Bài đã được tự động gộp:
@PacificPR anh cười giề?
Em phát hiện chuẩn đó.
Anh nhìn code của nó đê.