Nhờ anh (chị) giúp em code điền dữ liệu (1 người xem)

Liên hệ QC

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

QuangMinhtb

Thành viên hoạt động
Tham gia
31/10/19
Bài viết
171
Được thích
34
Xin được nhờ anh chị giúp em đoạn code (do nhu cầu công việc em phải xóa dữ liệu nên không dùng hàm, nếu dùng hàm sẽ bị lỗi nên nhờ anh chị giúp em đoạn code)
Lấy dữ liệu từ ô B4, E4 trở đi trong sheet"bandau" để điền sang sheet"chuyen" và khi điền thì ghép với từ khóa ở ô D2, D3 trong sheet"Chuyen".
Ví dụ cụ thể:
+ Sheet"bandau" ở dòng số 4 tương ứng với số thứ tự số 1 là ô B4=Cán bộ kỹ thuật, E4=Vũ Văn Đăng
+
Lấy dữ liệu dòng số 4 sheet"bandau" điền sang sheet"chuyen" thì dữ liệu được lấy sang trong sheet"chuyen" như sau: ô A4 là số thứ tự 1, dòng B4,B5 sau khi ghép với từ khóa ở D3, D4 (tô chữ màu đỏ) sẽ là B4="Vị trí: Cán bộ kỹ thuật", B5= "Tên: Vũ Văn Đăng"
Tương tự cho các số thứ tự còn lại ở sheet"bandau" được lấy sang sheet"chuyen" (như hình số 2).
Khi dữ liệu được điền nếu có thể nhờ anh (chị giúp em) bo viền luôn các dữ liệu ( như hình thứ 2) em đính kèm luôn được không ạ?
Xin được sự giúp đỡ của các anh(chị)
Em cảm ơn!
Chúc cả nhà buổi tối vui vẻ!
m1.pngm2.png
 

File đính kèm

Xin được nhờ anh chị giúp em đoạn code (do nhu cầu công việc em phải xóa dữ liệu nên không dùng hàm, nếu dùng hàm sẽ bị lỗi nên nhờ anh chị giúp em đoạn code)
Lấy dữ liệu từ ô B4, E4 trở đi trong sheet"bandau" để điền sang sheet"chuyen" và khi điền thì ghép với từ khóa ở ô D2, D3 trong sheet"Chuyen".
Ví dụ cụ thể:
+ Sheet"bandau" ở dòng số 4 tương ứng với số thứ tự số 1 là ô B4=Cán bộ kỹ thuật, E4=Vũ Văn Đăng
+
Lấy dữ liệu dòng số 4 sheet"bandau" điền sang sheet"chuyen" thì dữ liệu được lấy sang trong sheet"chuyen" như sau: ô A4 là số thứ tự 1, dòng B4,B5 sau khi ghép với từ khóa ở D3, D4 (tô chữ màu đỏ) sẽ là B4="Vị trí: Cán bộ kỹ thuật", B5= "Tên: Vũ Văn Đăng"
Tương tự cho các số thứ tự còn lại ở sheet"bandau" được lấy sang sheet"chuyen" (như hình số 2).
Khi dữ liệu được điền nếu có thể nhờ anh (chị giúp em) bo viền luôn các dữ liệu ( như hình thứ 2) em đính kèm luôn được không ạ?
Xin được sự giúp đỡ của các anh(chị)
Em cảm ơn!
Chúc cả nhà buổi tối vui vẻ!
View attachment 228753View attachment 228754
Sao cái này làm mãi mà chưa xong vậy. Nhiều nick thế ta
 
Xin được nhờ anh chị giúp em đoạn code (do nhu cầu công việc em phải xóa dữ liệu nên không dùng hàm, nếu dùng hàm sẽ bị lỗi nên nhờ anh chị giúp em đoạn code)
Lấy dữ liệu từ ô B4, E4 trở đi trong sheet"bandau" để điền sang sheet"chuyen" và khi điền thì ghép với từ khóa ở ô D2, D3 trong sheet"Chuyen".
Ví dụ cụ thể:
+ Sheet"bandau" ở dòng số 4 tương ứng với số thứ tự số 1 là ô B4=Cán bộ kỹ thuật, E4=Vũ Văn Đăng
+
Lấy dữ liệu dòng số 4 sheet"bandau" điền sang sheet"chuyen" thì dữ liệu được lấy sang trong sheet"chuyen" như sau: ô A4 là số thứ tự 1, dòng B4,B5 sau khi ghép với từ khóa ở D3, D4 (tô chữ màu đỏ) sẽ là B4="Vị trí: Cán bộ kỹ thuật", B5= "Tên: Vũ Văn Đăng"
Tương tự cho các số thứ tự còn lại ở sheet"bandau" được lấy sang sheet"chuyen" (như hình số 2).
Khi dữ liệu được điền nếu có thể nhờ anh (chị giúp em) bo viền luôn các dữ liệu ( như hình thứ 2) em đính kèm luôn được không ạ?
Xin được sự giúp đỡ của các anh(chị)
Em cảm ơn!
Chúc cả nhà buổi tối vui vẻ!
View attachment 228753View attachment 228754
Bạn hoàn toàn có thể làm được bằng công thức mà, tham khảo nhé.
 

File đính kèm

Bạn hoàn toàn có thể làm được bằng công thức mà, tham khảo nhé.
Anh(chị) có thể giúp em bằng code được không ạ! Do đặc điểm công việc em xoá dưc liệu thì công thức sẽ bị lỗi. Em xin cảm ơn!
Bài đã được tự động gộp:

Sao cái này làm mãi mà chưa xong vậy. Nhiều nick thế ta
Có một thôi ạ!
 

File đính kèm

Anh (chị) cho em hỏi thêm:
Hiện tại em chạy code thì có lỗi : "Tên: trí: Vũ Văn Đăng"
giả sử em muốn kết quả khi chạy code tương ứng với số thứ tự số 1 là:
Vị trí công việc: Cán bộ kỹ thuật
Tên: Vũ Văn Đăng

Thì thay sửa code thê nào vậy ạ?
Nếu từ khóa như ban đầu "Vị trí:" và "Tên:" em muốn thay bằng từ khác thì phải chỉnh sửa trong code đúng không ạ?
Em cảm ơn (anh/chị)
loi.png
 
Anh (chị) cho em hỏi thêm:
Hiện tại em chạy code thì có lỗi : "Tên: trí: Vũ Văn Đăng"
giả sử em muốn kết quả khi chạy code tương ứng với số thứ tự số 1 là:
Vị trí công việc: Cán bộ kỹ thuật
Tên: Vũ Văn Đăng

Thì thay sửa code thê nào vậy ạ?
Nếu từ khóa như ban đầu "Vị trí:" và "Tên:" em muốn thay bằng từ khác thì phải chỉnh sửa trong code đúng không ạ?
Em cảm ơn (anh/chị)
View attachment 228816
Bạn thử code này nhé. Mình mới nghiên cứu, tập làm VBA nên code sẽ không cao cấp bằng của Hoa Bất tử, nhưng mà cũng là 1 cách để ra được đáp án bạn mong muốn và có đáp ứng được nhu cầu nối chuối cho trước ở vị trí ô D2,D3 bên sheet chuyen. Bạn tham khảo thêm
 

File đính kèm

Lần chỉnh sửa cuối:
Mã:
Sub Chuyen()
    Dim n As Long, m As Long, i As Long, j As Long
    n = Sheets("bandau").Range("A65000").End(xlUp).Row
    m = Sheets("chuyen").Range("B65000").End(xlUp).Row
    If m > 4 Then Sheets("Chuyen").Range("A4:B" & m).Clear
    j = 4
    For i = 4 To n
        If Sheets("chuyen").Range("A" & j - 1) = "" Then
            Sheets("chuyen").Range("A" & j) = Sheets("bandau").Range("A" & i)
        Else
            Sheets("chuyen").Range("A" & j) = ""
        End If
        Sheets("chuyen").Range("B" & j) = Sheets("chuyen").Range("D2") & Sheets("bandau").Range("B" & i)
        Sheets("chuyen").Range("B" & j + 1) = Sheets("chuyen").Range("D3") & Sheets("bandau").Range("E" & i)
        j = j + 2
    Next
End Sub

Thay giá trị ô D2 và D3 trong sheet chuyen bằng những gì bạn muốn thể hiện
 
Anh (chị) cho em hỏi thêm:
Hiện tại em chạy code thì có lỗi : "Tên: trí: Vũ Văn Đăng"
giả sử em muốn kết quả khi chạy code tương ứng với số thứ tự số 1 là:
Vị trí công việc: Cán bộ kỹ thuật
Tên: Vũ Văn Đăng

Thì thay sửa code thê nào vậy ạ?
Nếu từ khóa như ban đầu "Vị trí:" và "Tên:" em muốn thay bằng từ khác thì phải chỉnh sửa trong code đúng không ạ?
Em cảm ơn (anh/chị)
View attachment 228816
Ơ ơ. Mình đã gi rõ "Thừa em nào thì xóa nhé" rồi mà :p:p:p
Mã:
dArr(K, 2) = "Tên: " & sArr(I, 4)
Thích tên gì thì bạn gõ vào ô AG4 rồi copy AG5 vào nhé
 

File đính kèm

Lần chỉnh sửa cuối:
Mã:
Sub Chuyen()
    Dim n As Long, m As Long, i As Long, j As Long
    n = Sheets("bandau").Range("A65000").End(xlUp).Row
    m = Sheets("chuyen").Range("B65000").End(xlUp).Row
    If m > 4 Then Sheets("Chuyen").Range("A4:B" & m).Clear
    j = 4
    For i = 4 To n
        If Sheets("chuyen").Range("A" & j - 1) = "" Then
            Sheets("chuyen").Range("A" & j) = Sheets("bandau").Range("A" & i)
        Else
            Sheets("chuyen").Range("A" & j) = ""
        End If
        Sheets("chuyen").Range("B" & j) = Sheets("chuyen").Range("D2") & Sheets("bandau").Range("B" & i)
        Sheets("chuyen").Range("B" & j + 1) = Sheets("chuyen").Range("D3") & Sheets("bandau").Range("E" & i)
        j = j + 2
    Next
End Sub

Thay giá trị ô D2 và D3 trong sheet chuyen bằng những gì bạn muốn thể hiện
Em cám ơn anh/chị.
Bài đã được tự động gộp:

Ơ ơ. Mình đã gi rõ "Thừa em nào thì xóa nhé" rồi mà :p:p:p
Mã:
dArr(K, 2) = "Tên: " & sArr(I, 4)
Thích tên gì thì bạn gõ vào ô AG4 rồi copy AG5 vào nhé
Em cám ơn anh/chị.
 
Ơ ơ. Mình đã gi rõ "Thừa em nào thì xóa nhé" rồi mà :p:p:p
Mã:
dArr(K, 2) = "Tên: " & sArr(I, 4)
Thích tên gì thì bạn gõ vào ô AG4 rồi copy AG5 vào nhé
Em cám ơn anh/chị.
Em cám ơn anh/chị.
Bài đã được tự động gộp:


Em cám ơn anh/chị.
Em làm phiền anh (chị) chút xíu nữa ạ!
Ở cột E và F trong sheet "bandau" em đã đảo vị trí cho nhau ( ban đầu em sơ ý)
khi chạy code thì bị đảo tên lên đầu, vị trí công việc xuống dưới ( và kết quản như hình 1)
Nhờ anh/ chị giúp em một lần nữa để có kết quả (như hình 2)
Và cả anh/chị XuanThanh giúp em một lần nữa ạ!

Em xin cảm ơn.
kiem.pnghình 2.png
 

File đính kèm

Không hiểu. Nối tiếp vào sheet chuyen hay sao?
 
Nếu nói tiếp vào sheet chuyen thì xóa dòng này đi
If m > 4 Then Sheets("Chuyen").Range("A4:B" & m).Clear

Còn nếu thay vị trí dữ liệu trong sheet ban đầu thi thay
For i = 4 To n
bằng
For i = 15 To n
 
Nếu nói tiếp vào sheet chuyen thì xóa dòng này đi
If m > 4 Then Sheets("Chuyen").Range("A4:B" & m).Clear

Còn nếu thay vị trí dữ liệu trong sheet ban đầu thi thay
For i = 4 To n
bằng
For i = 15 To n
Vâng, như file em tải lên bài #15 có nhờ anh giúp lại:
ban đầu anh giúp em thì ở số thứ tự số 1 trong sheet "chuyen" :
dòng số 4 là "Vũ Văn Đăng " dòng số 5 là "chỉ huy trưởng"
Giờ em nhờ anh đối giúp em là dòng số 4 "chỉ huy trưởng", dòng số 5 là "Vũ Văn Đăng"
Tương tự đổi cho các số thứ tự còn lại. Từ khóa thì không quan trọng vì mình có thể thay đổi được,
Anh chỉnh code lại giúp em vậy mới nhé!
em có tải file.
Cám ơn anh!
ty.png
 

File đính kèm

Lần chỉnh sửa cuối:
Mình cũng gặp vấn đề như trên nhưng khác 1 chút, xin ké nhờ cao nhân giúp với ạ
Tình hình là e vẫn phải xóa dữ liệu cũ khi làm việc, nhưng dữ liệu nguồn và dữ liệu chuyển ngược lại với chủ thớt ạ, e xin gửi kèm file, nhờ mn chỉnh code lại giúp e với, e cám ơn nhìu nhìu

Sheet nguồn:
1574476213945.png

Sheet chuyển
1574476250138.png
 

File đính kèm

@QuangMinhtb
Đổi cái này
Mã:
Sheets("chuyen").Range("B" & j) = Sheets("chuyen").Range("D2") & Sheets("bandau").Range("B" & i)
Sheets("chuyen").Range("B" & j + 1) = Sheets("chuyen").Range("D3") & Sheets("bandau").Range("E" & i)

thành
Mã:
Sheets("chuyen").Range("B" & j) = Sheets("chuyen").Range("D3") & Sheets("bandau").Range("E" & i)
Sheets("chuyen").Range("B" & j + 1) = Sheets("chuyen").Range("D2") & Sheets("bandau").Range("B" & i)
 
@QuangMinhtb
Đổi cái này
Mã:
Sheets("chuyen").Range("B" & j) = Sheets("chuyen").Range("D2") & Sheets("bandau").Range("B" & i)
Sheets("chuyen").Range("B" & j + 1) = Sheets("chuyen").Range("D3") & Sheets("bandau").Range("E" & i)

thành
Mã:
Sheets("chuyen").Range("B" & j) = Sheets("chuyen").Range("D3") & Sheets("bandau").Range("E" & i)
Sheets("chuyen").Range("B" & j + 1) = Sheets("chuyen").Range("D2") & Sheets("bandau").Range("B" & i)

E ngu người quá, chạy cứ bảo lỗi sai code ạ.... ko biết có pải e gà quá ko nữa -+*/
 
@QuangMinhtb
Đổi cái này
Mã:
Sheets("chuyen").Range("B" & j) = Sheets("chuyen").Range("D2") & Sheets("bandau").Range("B" & i)
Sheets("chuyen").Range("B" & j + 1) = Sheets("chuyen").Range("D3") & Sheets("bandau").Range("E" & i)

thành
Mã:
Sheets("chuyen").Range("B" & j) = Sheets("chuyen").Range("D3") & Sheets("bandau").Range("E" & i)
Sheets("chuyen").Range("B" & j + 1) = Sheets("chuyen").Range("D2") & Sheets("bandau").Range("B" & i)
Cẳm ơn anh rất nhiều!
 
@kimnganlzd

Code của bạn đây. Chép vào code của Sheet Chuyen rồi chạy nó

Mã:
Sub Chuyen()
    Dim SNguon As Worksheet, SChuyen As Worksheet
    Dim m As Long, n As Long, i As Long, j As Long
    Set SNguon = Sheet1
    Set SChuyen = Sheet2
    m = SNguon.Range("A65000").End(xlUp).Row
    n = SChuyen.Range("B65000").End(xlUp).Row
    If n > 2 Then SChuyen.Range("B2:C" & n).ClearContents 
    For i = 2 To m
        n = SChuyen.Range("B65000").End(xlUp).Row + 1
        j = SChuyen.Range("C65000").End(xlUp).Row + 1
        If Left(SNguon.Range("A" & i), 4) = "Name" Then SChuyen.Range("B" & n) = Right(SNguon.Range("A" & i), Len(SNguon.Range("A" & i)) - 6)
        If Left(SNguon.Range("A" & i), 5) = "Phone" Then SChuyen.Range("C" & j) = Right(SNguon.Range("A" & i), Len(SNguon.Range("A" & i)) - 8)
    Next
    MsgBox "Da chuyen xong", , "GPE"
End Sub
 
Cẳm ơn anh rất nhiều!
Anh ơi cho em hỏi sau khi chạy code lấy dữ liệu và em có định dạng ô có các dữ liệu đã được điền như sau:
1/ Số thứ tự (cột A) theo chiều dọc là nằm ở giữa, và chiều ngang nằm ở giữa
2/ Nội dung từ ô B4 trở đi theo chiều dọc là căn lề trái, theo chiều ngang là nằm ở giữa (như hình em tải kèm) nhưng sau khi mà chạy lại code anh đã giúp thì định dạng đó lại mất.
Dữ liệu của em khá là nhiều mà mỗi khi chạy lại code lại định dạng lại, anh có cách nào giúp em để khi chạy code mà có thể định dạng luôn như nội dung 1/ và 2/ em đã nêu trên không ạ?
Em đã ghi maccro nhưng đoạn code dài và chạy chậm quá! nhờ anh sửa giúp em chút!
Mã:
 Range("A4:A27").Select
    ActiveWindow.SmallScroll Down:=-6
    With Selection
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlCenter
        .WrapText = False
        .Orientation = 0
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = False
    End With
    ActiveWindow.SmallScroll Down:=-6
    Range("B4:B27").Select
    With Selection
        .HorizontalAlignment = xlLeft
        .VerticalAlignment = xlCenter
        .WrapText = False
        .Orientation = 0
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = False
    End With
End Sub
Xin cảm ơn anh!
 

File đính kèm

Ơ ơ. Mình đã gi rõ "Thừa em nào thì xóa nhé" rồi mà :p:p:p
Mã:
dArr(K, 2) = "Tên: " & sArr(I, 4)
Thích tên gì thì bạn gõ vào ô AG4 rồi copy AG5 vào nhé
Anh/chị cho em hỏi bảng mã chuyển đổi trong file anh có gửi cho em xin gọi là gì vậy ạ?
Nó chuyển đổi ngôn ngữ từ font sang unnicode dang ngon ngữ VBA phải không ạ?
Anh/chị giải thích giúp! em mới biết đến excel nên chưa hiểu.
 

File đính kèm

Anh/chị cho em hỏi bảng mã chuyển đổi trong file anh có gửi cho em xin gọi là gì vậy ạ?
Nó chuyển đổi ngôn ngữ từ font sang unnicode dang ngon ngữ VBA phải không ạ?
Anh/chị giải thích giúp! em mới biết đến excel nên chưa hiểu.
Cái này của Anh Mạnh thì phải (Mình không nhớ rõ nữa). Nó chuyển đổi ngôn ngữ từ font unnicode sang VBA
 
Anh ơi cho em hỏi sau khi chạy code lấy dữ liệu và em có định dạng ô có các dữ liệu đã được điền như sau:
1/ Số thứ tự (cột A) theo chiều dọc là nằm ở giữa, và chiều ngang nằm ở giữa
2/ Nội dung từ ô B4 trở đi theo chiều dọc là căn lề trái, theo chiều ngang là nằm ở giữa (như hình em tải kèm) nhưng sau khi mà chạy lại code anh đã giúp thì định dạng đó lại mất.
Dữ liệu của em khá là nhiều mà mỗi khi chạy lại code lại định dạng lại, anh có cách nào giúp em để khi chạy code mà có thể định dạng luôn như nội dung 1/ và 2/ em đã nêu trên không ạ?
Em đã ghi maccro nhưng đoạn code dài và chạy chậm quá! nhờ anh sửa giúp em chút!
Mã:
 Range("A4:A27").Select
    ActiveWindow.SmallScroll Down:=-6
    With Selection
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlCenter
        .WrapText = False
        .Orientation = 0
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = False
    End With
    ActiveWindow.SmallScroll Down:=-6
    Range("B4:B27").Select
    With Selection
        .HorizontalAlignment = xlLeft
        .VerticalAlignment = xlCenter
        .WrapText = False
        .Orientation = 0
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = False
    End With
End Sub
Xin cảm ơn anh!

Xóa bỏ đoạn cde này, thay băng ddoabj coode sau

Mã:
With Sheets("chuyen")
        m = .Range("B65000").End(xlUp).Row
        .Range("A4:A" & m).HorizontalAlignment = xlCenter
        .Range("A4:B" & m).VerticalAlignment = xlCenter
    End With
 

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

Back
Top Bottom