Paste values từ file này sang file khác.

Thảo luận trong 'Ứng dụng Excel' bắt đầu bởi ptdzung, 6 Tháng sáu 2006.

10,431 lượt xem

  1. ptdzung

    ptdzung Thành viên hoạt động

    Bài viết:
    56
    Đã được thích:
    0
    Nơi ở:
    Hà Nội
    Bài học buổi đầu tiên của lớp VBA có hướng dẫn cách paste values tại một file, nếu bây giờ tôi copy công thức ở file này sang file khác paste value thì sửa như thế nào. Mong các bạn chỉ giáo. Tôi làm ra như thế này: copy công thức ở Book3 rồi paste value ở Book4

    Sub Macro2()
    '
    ' Macro2 Macro
    ' Macro recorded 06/06/2006 by ptdzung
    '

    '
    Range("A4:A6").Select
    Selection.Copy
    Windows("Book4").Activate
    ActiveWindow.WindowState = xlNormal
    ActiveWindow.WindowState = xlNormal
    Range("D4").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
    End Sub
     
    #1
  2. QDuc

    QDuc Thành viên thân thiết

    Bài viết:
    251
    Đã được thích:
    18
    Nơi ở:
    Biển khơi
    Excel nó ghi cho tui :

    Sub ChepFile()
    ' Macro recorded 06/06/2006 by Quang Duc
    Sheets("Book3").Select
    Selection.SpecialCells(xlCellTypeFormulas, 23).Select
    Selection.Copy
    Windows("CopyF.xls").Activate
    Sheets("Book4").Select
    Cells.Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
    Application.CutCopyMode = False
    Windows("Excel.xls").Activate
    Sheets("Book3").Select: Range("A3").Select
    End Sub
     
    Last edited: 6 Tháng sáu 2006
    #2
  3. ptdzung

    ptdzung Thành viên hoạt động

    Bài viết:
    56
    Đã được thích:
    0
    Nơi ở:
    Hà Nội
    To QDuc. Công thức của bạn chỉ dùng được cho Book3 và 4. Tôi muốn khi mở file bất kỳ nào đó copy công thức và Paste Values vào một file bất kỳ khác.
     
    #3
  4. QDuc

    QDuc Thành viên thân thiết

    Bài viết:
    251
    Đã được thích:
    18
    Nơi ở:
    Biển khơi
    Ước muốn của bạn càng ngày cáng lớn rồi đó!
    Bình tĩnh từng bước thôi nha, theo mình bạn nên tại 1 file đã mở có chứa macro ChepFile() bạn cho excel ghi lại cách bạn mở 1 file excel bất kỳ;
    Bạn học khai báo biến rồi chứ gì?!, bạn khai 1 biến chuỗi & gán tên tập tin với đủ đầy đưởng dẫn = lệnh InputBox(" "," ") đễ sau này bạn có thể mở bất kỳ tập tin nào mà bạn muốn chép vô tập tin đích này!
    Tương tự như vậy bạn phải có 1 biến kiểu chuỗi nữa để mở 1 sheet bật kỳ nào mà bạn thích có dữ liệu mà excel đang có trong clipboard;
    Vậy cái đã; còn mới mở excel ra chưa có tập tin nào được mở, mà muốn chạy ngay 1 macro cũng được; nhưng phải hỏi thầy Duyệt, được chưa!?
     
    #4
  5. ptdzung

    ptdzung Thành viên hoạt động

    Bài viết:
    56
    Đã được thích:
    0
    Nơi ở:
    Hà Nội
    Tôi mới bắt đầu học VBA theo các bài tập tại trang web này. Bài đầu tiên copy rồi paste values ngay tại chỗ, tức là chọn vùng có công thức và chuyển sang value. Tôi thử viết copy từ file này paste value sang file khác (cả hai file đều đang mở) nhưng không thu được kết quả. Có thể không làm được vì phải qua hai lần chọn: lần thứ nhất trọn vùng copy, lần sau trọn vùng paste.
     
    #5
  6. QDuc

    QDuc Thành viên thân thiết

    Bài viết:
    251
    Đã được thích:
    18
    Nơi ở:
    Biển khơi
    Thử lập công thức trong 1 cột & copy xem thử?!

    Tôi đã thử theo như ý bạn,như sau:
    Nếu công thức chỉ trong 1 cột thì vẫn dùng lệnh Goto đến CT & thực hiện copy & sang File khác để dán bình thường (Nhưng sẽ không dán đúng khối ô như bên sheet nguồn đâu!);
    Còn CT trải dài nhiều nơi thì excel không chịu thực hiện việc cắt dán trực tiếp lập tức mà phải:
    1/ Copy toàn bộ sheet & dán bình thường sang file mới; sau đó lại thực hiện chuyển từ CT sang Value
    2/ Dùng cứu cánh là VBA (bằng 1 thủ tục tự viết hoàn toàn - Hãy đợi vài bài tới B. Duyệt truyền đạt cho!)
     
    Last edited: 7 Tháng sáu 2006
    #6

Chia sẻ trang này