Xin trợ giúp đổi tên (2 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

monavamonava

Thành viên thường trực
Tham gia
15/9/11
Bài viết
208
Được thích
24
Chào các bác. Em có chuổi dữ liệu cần đổi tên như file đính kèm sau. Các ký tự bắt đầu bằng chữ "P" ở cột B được xác định là đúng (không tăng dần đều). Em muốn một kết quả đổi tên mong muốn như cột C, thường thì có quy luật 3 dòng giống nhau về số như P...; bắt đầu TD,P,TC ví dụ TD3,P3,TC3.... Mong nhận được sự quan tâm giúp đỡ của các bác trên diễn đàn. Xin chân thành cảm ơn!
 

File đính kèm

Chào các bác. Em có chuổi dữ liệu cần đổi tên như file đính kèm sau. Các ký tự bắt đầu bằng chữ "P" ở cột B được xác định là đúng (không tăng dần đều). Em muốn một kết quả đổi tên mong muốn như cột C, thường thì có quy luật 3 dòng giống nhau về số như P...; bắt đầu TD,P,TC ví dụ TD3,P3,TC3.... Mong nhận được sự quan tâm giúp đỡ của các bác trên diễn đàn. Xin chân thành cảm ơn!
Đây bạn xem.
Mã:
Sub dienso()
Dim arr
Dim a As Long, lr As Long, i As Integer
With Sheet1
    lr = .Range("B" & Rows.Count).End(xlUp).Row
    arr = .Range("A1:C" & lr).Value
    For i = 1 To UBound(arr, 1)
      If Len(arr(i, 1)) > 0 Then
         a = CStr(Right(arr(i, 2), Len(arr(i, 2)) - 1))
         arr(i - 1, 3) = "TD" & a
         arr(i, 3) = "P" & a
         arr(i + 1, 3) = "TC" & a
      End If
   Next i
   .Range("A1:C" & lr).Value = arr
End With
End Sub
 

File đính kèm

Đây bạn xem.
Mã:
Sub dienso()
Dim arr
Dim a As Long, lr As Long, i As Integer
With Sheet1
    lr = .Range("B" & Rows.Count).End(xlUp).Row
    arr = .Range("A1:C" & lr).Value
    For i = 1 To UBound(arr, 1)
      If Len(arr(i, 1)) > 0 Then
         a = CStr(Right(arr(i, 2), Len(arr(i, 2)) - 1))
         arr(i - 1, 3) = "TD" & a
         arr(i, 3) = "P" & a
         arr(i + 1, 3) = "TC" & a
      End If
   Next i
   .Range("A1:C" & lr).Value = arr
End With
End Sub
Cảm ơn bác Snow25, nhớ không nhầm là bác đã hỗ trợ em vài lần trước. Cũng sử dụng VBA. Vì việc xử lý dữ liệu này em gặp một số vấn đề qua quá trình làm việc. Cũng như ứng dụng VBA của bác vào công việc. Em đã sử dụng một số hàm, thủ thuật copy, paste, lọc và dữ liệu cũng như kết hợp VBA của bác. Nay em xin được trình bày quá trình xử lý dữ liệu mong nhận được sự quan tâm với trình VBA của bác có thể giúp em học hỏi và ứng dụng một cách hoàn thiện hơn.
- Xin được nói rõ hơn chuỗi dữ liệu này là dạng thông số tên cọc của 1 tuyến đường. Tất nhiên có nhiều yếu tố nửa nhưng ta chỉ xét với dòng tên cọc K0,1,2,3 TD1,P1,TC1,4,5,DF1... và góc (chỉ quan tâm đến cột A và cột E)
1. Những dữ liệu ở cột E là "180.00.00" và cột A tương ứng KHÔNG PHẢI là "TD" hoặc "TC" thì được đánh số tăng dần đều bắt đầu đơn vị ô K1 (ví dụ A1=0 thì 0 1 2 3..., A1=6 thì 6 7 8...)
2. Những dữ liệu ở cột E không phải là "180.00.00" thì được xác định là DF (DF, df, Df, dF) hoặc P (được đổi từ D sang) cái này cũng được đặt tăng dần đều bắt đầu đơn vị từ ô K2
3. Còn TD, TC được đặt theo P, 3 thông số này luôn đi cùng và trùng tên số thứ tự với nhau, cái này hơi rắc rối chút nên em sử dụng cột phụ H,I như file kèm theo.
Em xin được trình bày như vậy, có thể diễn đạt dài dòng. Nếu bác quan tâm giúp được thì xin cảm ơn và ghi nhận tấm lòng của bác cũng như mọi người.
 

File đính kèm

Cảm ơn bác Snow25, nhớ không nhầm là bác đã hỗ trợ em vài lần trước. Cũng sử dụng VBA. Vì việc xử lý dữ liệu này em gặp một số vấn đề qua quá trình làm việc. Cũng như ứng dụng VBA của bác vào công việc. Em đã sử dụng một số hàm, thủ thuật copy, paste, lọc và dữ liệu cũng như kết hợp VBA của bác. Nay em xin được trình bày quá trình xử lý dữ liệu mong nhận được sự quan tâm với trình VBA của bác có thể giúp em học hỏi và ứng dụng một cách hoàn thiện hơn.
- Xin được nói rõ hơn chuỗi dữ liệu này là dạng thông số tên cọc của 1 tuyến đường. Tất nhiên có nhiều yếu tố nửa nhưng ta chỉ xét với dòng tên cọc K0,1,2,3 TD1,P1,TC1,4,5,DF1... và góc (chỉ quan tâm đến cột A và cột E)
1. Những dữ liệu ở cột E là "180.00.00" và cột A tương ứng KHÔNG PHẢI là "TD" hoặc "TC" thì được đánh số tăng dần đều bắt đầu đơn vị ô K1 (ví dụ A1=0 thì 0 1 2 3..., A1=6 thì 6 7 8...)
2. Những dữ liệu ở cột E không phải là "180.00.00" thì được xác định là DF (DF, df, Df, dF) hoặc P (được đổi từ D sang) cái này cũng được đặt tăng dần đều bắt đầu đơn vị từ ô K2
3. Còn TD, TC được đặt theo P, 3 thông số này luôn đi cùng và trùng tên số thứ tự với nhau, cái này hơi rắc rối chút nên em sử dụng cột phụ H,I như file kèm theo.
Em xin được trình bày như vậy, có thể diễn đạt dài dòng. Nếu bác quan tâm giúp được thì xin cảm ơn và ghi nhận tấm lòng của bác cũng như mọi người.
Bạn xem có đúng không nhé.
 

File đính kèm

Web KT

Bài viết mới nhất

Back
Top Bottom