Làm sao chèn hàng, cắt và dán tự động trong excel

Offline Hà Nội 2014 tại Đồ Sơn-Hải Phòng



kết quả từ 1 tới 10 trên 10
7,140 lượt xem
  1. Thành viên Hình đại diện của Kiệt Dương
    Tham gia ngày
    Nov 2005
    Địa chỉ
    Vũng Tàu
    Tuổi
    43
    Bài gửi
    5
    Post Thanks / Like
    Kiệt Dương vẫn chưa có mặt trong diễn đàn

    Làm sao chèn hàng, cắt và dán tự động trong excel

    Các bạn thân mến,

    Bạn nào rành về Excel và VB xin giúp tôi làm một việc như sau (mà theo thiển ý của tôi thì phải tạo một hàm mới trong VB để có thể thực hiện được việc này - Không biết có đúng không?)

    (Tôi không biết phải dùng cách nào để thể hiện bảng tính Excel nơi đây, nên có thể cách trình bày bảng tính bên dưới của tôi sẽ khó xem, tôi cố gắng chú thích thêm để các bạn có thể hình dung ra đựơc, rất mong các bạn thông cảm nhé, cám ơn các bạn)


    Bảng Excel đầu tiên của tôi là như thế này:
    - Tên và địa chỉ ở cột A - tên nằm ở hàng trên, địa chỉ nằm ở hàng kế tiếp
    - số phone và số fax nẳm ở cột B - số phone nằm ở hàng trên, số fax nằm hàng kế tiếp
    - Cột C chỉ có một ít hàng mang số A1
    - Cột D cũng chỉ có ít hàng mang dòng chữ "xem trang..." ở cùng hàng với số A1 trong cột C

    A B C D

    NGUYEN VAN MOT 064-123-4567 A1 xem trang …
    1231 Le Loi, F4, VT fax 064-123-4568
    TRAN VAN HAI 064-123-4569
    1232 Le Lai, F3, VT 064-123-4570
    LY VAN BA 064-123-4575 A1 xem trang …
    1233 Trung Trac, F1, VT 064-123-4572
    HO VAN TU 064-123-4573
    1234 Trung Nhi, F1, VT fax 064-123-4574
    UNG PHONG NAM 064-123-4575
    235 Ba Trieu, F7, VT 064-123-4576
    LE VAN SAU 064-123-4577 A1 xem trang …
    1236 Hung Dao, F8, VT cell 064-123-4578

    Tôi cần kết quả sẽ như thế này: Trong Excel phải làm cách nào đó để khi dò tìm đến cột C mà gặp A1 thì hãy thực hiện 2 việc như sau:
    - chèn một hàng dưới hàng địa chỉ của tên người có số 1 trong cột C
    - Sau đó cắt đoạn text (mang dòng chữ "xem trang...") ở cột D tương ứng với hàng có A1 và rồi dán đoạn text này vào cột B ở hàng vừa mới chèn vào đó

    kết quả phải giống như bảng dưới đây:
    - Dò tìm gặp A1 ở cột C của hàng có mang tên "Nguyen Van Mot", nên chèn thêm một hàng vào bên dưới hàng mang địa chỉ của người này (1231 Le Loi...), đồng thời cắt dòng "xem trang..." ở cột D trong cùng hàng với Nguyen Van Mot, và dán vao cột B của hàng mới vừa chèn vào này
    - Dò tìm gặp thêm 2 chữ A1 ở cộpt C của hai hàng có mang tên "Ly Van Ba" và "Le Van Sau". rồi cũng thực hiện công vịêc tương tự chèn hàng và cắt dán như trên

    A B C D

    NGUYEN VAN MOT 064-123-4567 A1
    1231 Le Loi, F4, VT fax 064-123-4568
    xem trang …
    TRAN VAN HAI 064-123-4569
    1232 Le Lai, F3, VT 064-123-4570
    LY VAN BA 064-123-4575 A1
    1233 Trung Trac, F1, VT 064-123-4572
    xem trang …
    HO VAN TU 064-123-4573
    1234 Trung Nhi, F1, VT fax 064-123-4574
    UNG PHONG NAM 064-123-4575
    1235 Ba Trieu, F7, VT 064-123-4576
    LE VAN SAU 064-123-4577 A1
    1236 Hung Dao, F8, VT cell 064-123-4578
    xem trang …


    Rất mong được các bạn chỉ giúp

    Chân thành cám ơn các bạn

    Xem thêm các bài viết mới nhất trong cùng chuyên mục này:

    thay đổi nội dung bởi: Kiệt Dương, ngày 15-11-2005 lúc 06:35

  2. Khu vực quảng cáo
    Tham gia ngày
    Always
    Địa chỉ
    Advertising world
    Tuổi
    2010
    Bài gửi
    Many

     

  3. Thành viên cấp cao Hình đại diện của SA_DQ
    Tham gia ngày
    Jun 2005
    Địa chỉ
    HCM city
    Tuổi
    56
    Bài gửi
    363
    Post Thanks / Like
    SA_DQ vẫn chưa có mặt trong diễn đàn
    15-11-2005, 07:42 #2
    ~ ghì mà bạn viết thì bảo với macro làm cho bạn;
    Macro phải dò tìm cột C nếu Activecell.Value="A1" thì thực thi 2 công việc cho bạn: 1 Xác định dòng hiện hành & thêm vô 1 dòng nữa & ghi giá trị cột D vô biến tạm
    2 Chép số liệu từ biến tạm xuống dòng vừa tạo;
    Nếu chưa làm được thì báo nha!

  4. Steel Partner Hình đại diện của adam_tran
    Tham gia ngày
    May 2005
    Địa chỉ
    Goooogle
    Tuổi
    36
    Bài gửi
    1,367
    Post Thanks / Like
    adam_tran vẫn chưa có mặt trong diễn đàn
    Có lẽ bạn cũng đã diễn giải cách làm rồi, vấn đề chuyển nó thành ngôn ngữ VBA thôi. Để đảm bảo tính chính xác trong thông tin bạn cung cấp, bạn nên gửi file cho tôi, tôi sẽ up lên cho.
    Mail: adam_tvn@yahoo.com
    http://kimkhangsteel.com Steel Partner,
    nhontv@kimkhangsteel.com: Chuyên cung cấp sỹ các loại:
    Thép Tấm - Lá - Cuộn - Băng - Xà Gồ.
    Thép xây dựng, thép hình, thép công nghiệp các loại

  5. Thành viên Hình đại diện của Kiệt Dương
    Tham gia ngày
    Nov 2005
    Địa chỉ
    Vũng Tàu
    Tuổi
    43
    Bài gửi
    5
    Post Thanks / Like
    Kiệt Dương vẫn chưa có mặt trong diễn đàn
    Trích nguyên văn Nguyên văn bởi SA_DQ
    ~ ghì mà bạn viết thì bảo với macro làm cho bạn;
    Macro phải dò tìm cột C nếu Activecell.Value="A1" thì thực thi 2 công việc cho bạn: 1 Xác định dòng hiện hành & thêm vô 1 dòng nữa & ghi giá trị cột D vô biến tạm
    2 Chép số liệu từ biến tạm xuống dòng vừa tạo;
    Nếu chưa làm được thì báo nha!

  6. Thành viên Hình đại diện của Kiệt Dương
    Tham gia ngày
    Nov 2005
    Địa chỉ
    Vũng Tàu
    Tuổi
    43
    Bài gửi
    5
    Post Thanks / Like
    Kiệt Dương vẫn chưa có mặt trong diễn đàn
    Quả thật tôi cũng chưa làm được việc này, nhờ bạn chỉ giúp cụ thể hơn dùm tôi bạn nhé, rất cám ơn bạn

    Kiệt Dương

  7. Steel Partner Hình đại diện của adam_tran
    Tham gia ngày
    May 2005
    Địa chỉ
    Goooogle
    Tuổi
    36
    Bài gửi
    1,367
    Post Thanks / Like
    adam_tran vẫn chưa có mặt trong diễn đàn
    Theo file của bạn Kiệt gửi tớ, tớ có cách này rất đơn giản không cần dùng đến VBA.
    (Xem file kèm theo).
    Nếu dùng VBA tất nhiên được, nhưng lấy dao bầu mổ lòng tong hơi phí nhĩ .
    File Kèm Theo File Kèm Theo
    http://kimkhangsteel.com Steel Partner,
    nhontv@kimkhangsteel.com: Chuyên cung cấp sỹ các loại:
    Thép Tấm - Lá - Cuộn - Băng - Xà Gồ.
    Thép xây dựng, thép hình, thép công nghiệp các loại

  8. Thành viên Hình đại diện của Kiệt Dương
    Tham gia ngày
    Nov 2005
    Địa chỉ
    Vũng Tàu
    Tuổi
    43
    Bài gửi
    5
    Post Thanks / Like
    Kiệt Dương vẫn chưa có mặt trong diễn đàn
    18-11-2005, 14:38 #7
    Xin chào các bạn,

    Cám ơn bạn adam_tran nhiều lắm, quả là một phương pháp tuyệt vời

    Nhưng file excel tôi gởi cho bạn chỉ là một thí dụ nho nhỏ với vài nhân vật mà thôi, cho nên cách của bạn làm rất nhanh và hiệu quả.

    Nếu là một tài liệu lớn đến 5 hoặc 7 ngàn nhân vật hoặc nhiều hơn nữa thì sao? Trong trường hợp này thì chắc phải nên dùng VB bạn nhỉ? Vậy nhờ bạn giúp tôi giải quyết nhé.

    Chân thành cám ơn bạn

    Kiệt Dương

  9. Steel Partner Hình đại diện của adam_tran
    Tham gia ngày
    May 2005
    Địa chỉ
    Goooogle
    Tuổi
    36
    Bài gửi
    1,367
    Post Thanks / Like
    adam_tran vẫn chưa có mặt trong diễn đàn
    Trích nguyên văn Nguyên văn bởi Kiệt Dương
    Nếu là một tài liệu lớn đến 5 hoặc 7 ngàn nhân vật hoặc nhiều hơn nữa thì sao? Trong trường hợp này thì chắc phải nên dùng VB bạn nhỉ? Vậy nhờ bạn giúp tôi giải quyết nhé.
    VBA thường giải quyết tốt trong những trường hợp tính toán phức tạp và ràng buộc nhiều điều kiện kiểm tra. Trong những trường hợp này, kết hợp các hàm và phương thức sẳn có (bult-in functions and methods) như sort, Find, SpecialCell... trong VBA vẫn hiệu quả hơn là tự coding lấy.
    Trong file bạn Kiệt nếu dữ liệu lớn nhưng có ít trường hợp có chữ A1, nếu dùng VBA có lẽ tớ cũng dùng Find và SpecialCell thay vì chạy vòng lặp.
    http://kimkhangsteel.com Steel Partner,
    nhontv@kimkhangsteel.com: Chuyên cung cấp sỹ các loại:
    Thép Tấm - Lá - Cuộn - Băng - Xà Gồ.
    Thép xây dựng, thép hình, thép công nghiệp các loại

  10. Thành viên cấp cao Hình đại diện của HongViet
    Tham gia ngày
    Nov 2005
    Địa chỉ
    Đà nẵng
    Bài gửi
    266
    Post Thanks / Like
    HongViet vẫn chưa có mặt trong diễn đàn
    21-11-2005, 09:43 #9
    Sub ChepXuongDong
    Dim ii As Integer, ij As Integer
    Dim Chu As String, NoiDung As String
    Application.ScreenUpdating = 0
    'Giả dụ tên Sheet của bạn là "S3"
    Sheets("S3").Select: Range("B1").Select
    1' Đếm số Record:
    Selection.End(xlDown).Select
    ii= 1 + Selection.Row: ij= 1
    2' Tìm "A1" & Chép:
    Do
    ij= 1 + ij
    if ij >ii Then Exit Do
    Chu = "C" & CStr(ij): Range(Chu).Select
    if Activecell.Value = "A1" Then
    Chu = "D" & CStr(ij): Range(chu).Select
    NoiDung = ActiveCell.Value
    Range(CStr(ij+1) & ":" & CStr( 1+ ij)).Select
    Selection.Insert Shift:=xlDown
    ii = 1 + ii: ij = 1 +ij
    Chu = "B" & CStr(ij): Range(Chu).Select
    ActiveCell.Value = NoiDung
    End If
    Loop: Range(:C5").Select
    Application.ScreenUpdating = -1
    End Sub
    thay đổi nội dung bởi: HongViet, ngày 23-11-2005 lúc 13:53
    .

  11. Thành viên cấp cao Hình đại diện của SA_DQ
    Tham gia ngày
    Jun 2005
    Địa chỉ
    HCM city
    Tuổi
    56
    Bài gửi
    363
    Post Thanks / Like
    SA_DQ vẫn chưa có mặt trong diễn đàn
    Trích nguyên văn Nguyên văn bởi HongViet

    Error, Error$ , Error

    Sub ChepXuongDong()

    Dim ii As Integer, ij As Integer
    Dim Chu As String, NoiDung As String
    Application.ScreenUpdating = 0
    'Giả dụ tên Sheet của bạn là "S3"
    Sheets("S3").Select: Range("B1").Select
    1' Đếm số Record:
    Selection.End(xlDown).Select
    ii= 1 + Selection.Row: ij= 1
    2' Tìm "A1" & Chép:
    Do
    ij= 1 + ij
    if ij >ii Then Exit Do
    Chu = "C" & CStr(ij): Range(Chu).Select
    if Activecell.Value = "A1" Then
    Chu = "D" & CStr(ij): Range(chu).Select
    NoiDung = ActiveCell.Value
    Row(CStr(ij+1) & ":" & CStr( 1+ ij)).Select
    Selection.Insert Shift:=xlDown
    ii = 1 + ii: ij = 1 +ij
    Chu = "B" & CStr(ij): Range(Chu).Select
    ActiveCell.Value = NoiDung
    End If
    Loop: Range(:C5").Select
    Application.ScreenUpdating = -1
    End Sub
    thay đổi nội dung bởi: SA_DQ, ngày 23-11-2005 lúc 14:16


Thread Information

Users Browsing this Thread

Hiện tại có 1 người đang truy cập đề tài này gồm: (0 thành viên và 1 khách)

Visitors found this page by searching for:

cắt hàng trong excel

cắt dán trên excell

lam the nao de lam hang va cot tren esxell

cách cắt dong excel

cắt dán trong excel

chèn dòng trong excel

lệnh chèn dòng trong excel

tự chèn dòng trong excel

TRÈN CẮT Ô TRONG EXCEL

cách cắt dán trong excel

CẮT DÁN TRONG EXER

Cắt chèn cột hàng trong excel

cat chen hang trong exel

Huong dan dung Find va tinh toan vba excel