Cách nào chuyển dữ liệu từ bảng tính LINK thành dữ liệu thường?

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

1,647 lượt xem

  1. heroic

    heroic Thành viên sơ cấp

    Bài viết:
    56
    Đã được thích:
    0
    Nơi ở:
    vn
    Mong các tiềm bối chỉ giúp. Em có bảng tính có 2 sheet, sheets1 có dữ liệu nhập vào, sheets2 là link của các phép tính rồi cho kết quả. bây giờ em muốn có một sheets3 chỉ là dữ liệu của sheets2 thôi. Nên em phải làm thủ công là bôi đen và copy sheets2 rồi paste value vào sheets3 thì mới được. Có cách nào làm nhanh việc này? Giúp em với!Cần gấp!!!!
     
    #1
  2. HongViet

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

    Bài viết:
    286
    Đã được thích:
    10
    Nơi ở:
    Đà nẵng
    Để Excel viết dùm cho 1 Macro!

    :angel:
    Trước khi Bôi đen & Copy thì vô menu Tool -> Macro & Ghi 1 Macro mới có tên là CopyS3 chẵng hạn! và tiến hành như đã làm thủ công như trên;
    Cuối cùng nhớ dừng Macro & vô xem Excel viết ra răng;
    Nếu chịu vậy thì gán macro này 1 tổ hợp phím tắt như CTRL+SHIFT+C đễ dùng nhiều lần luôn!:friend:Nó đây:
    Sub CopyS3()
    ' Keyboard Shortcut: Ctrl+Shift+C
    1 Sheets("Sheet2").Select: Cells.Select
    3 Selection.Copy
    4 Sheets("Sheet3").Select: Range("A1").Select
    5 Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
    6 Application.CutCopyMode = False
    End Sub
     
    Last edited: 2 Tháng ba 2006
    #2
  3. adam_tran

    adam_tran Steel Partner

    Bài viết:
    1,373
    Đã được thích:
    32
    Nơi ở:
    Goooogle
    Nếu dùng PasteValue thì sẽ báo lỗi với những Merged Cells.
    Bạn có thể copy macro sau để dùng, tuy nhiên để sử dụng VBA bạn nên tìm hiểu 1 chút kiến thức căn bản về VBA. Hãy tham gia lớp học VBA với EFC.
    Bạn Copy nguyên Sheet2 thành Sheet3 (Dùng lệnh copy sheet, nhấp chuột phải vào tên Sheet ở dưới Sheet Tab, hoặc nhấn Cotrol rồi nhấp kéo rê chuột tên Sheet để tạo ra 1 sheet mới.
    Tại sheet mới, chạy Macro sau:
    Sub FormulaToValue()
    On Error Resume Next
    Dim cCell As Range
    Dim Confirm
    Confirm = MsgBox("Are you sure to convert all Formulas to Values?", vbYesNo)
    If Confirm = vbYes Then
    ActiveSheet.UsedRange.SpecialCells(xlCellTypeFormulas).Select
    For Each cCell In Selection.Cells
    cCell = cCell.Value
    Next cCell
    End If
    End Sub
     
    Last edited: 2 Tháng ba 2006
    #3
  4. heroic

    heroic Thành viên sơ cấp

    Bài viết:
    56
    Đã được thích:
    0
    Nơi ở:
    vn
    ActiveSheet.UsedRange.SpecialCells(xlCellTypeFormu las).Select

    Quả thật lợi hại VBA làm cực tốt, em cũng đang học đó chứ bác Adam_tran em đang chờ Lớp VBA khai giảng để đi học mà chưa thấy tín hiệu gì. Làm em toàn phải học Online post lên hỏi dài cổ. Cảm ơn về đoạn macro của Bác. Nhưng các newmember khác khi áp dụng thì nhớ xoá khoảng trắng ActiveSheet.UsedRange.SpecialCells(xlCellTypeForm ulas).Select nhé và phải bôi vùng cần chuyển qua giá trị rồi chạy Macro đó.


    Còn vấn đề nữa Adam_tran có thể giúp mình không?

    1. Làm thế nào để tăng tốc Macro FormulaToValue() ? Chứ nó chạy chậm lắm.
    2. Sheets mình cần chuyển FormulaToValue khi thì 100 dòng khi lên đến cả 1000 dòng thì làm thế nào để range được hết. chứ range bằng tay thì không chính xác và lâu lắm.
     
    Last edited: 3 Tháng ba 2006
    #4

Chia sẻ trang này