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

  • Thread starter Thread starter heroic
  • Ngày gửi Ngày gửi

heroic

Trung cấp
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!!!!
 
Để Excel viết dùm cho 1 Macro!

:angel:
heroic nói:
Tính rồi cho kết quả sheets2.. . . 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 gấp!!!!
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
 
Sửa lần cuối:
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
 
Sửa lần cuối:
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.
 
Sửa lần cuối:
Back
Top