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

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

heroic

Thành viên sơ cấp
11/11/04
56
0
0
vn
#1
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!!!!
 
HongViet

HongViet

Thành viên thân thiết
10/11/05
286
10
18
Đà nẵng
#2
Để 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:
adam_tran

adam_tran

Steel Partner
17/5/05
1,373
32
48
41
Goooogle
#3
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:
H

heroic

Thành viên sơ cấp
11/11/04
56
0
0
vn
#4
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:

Thành viên trực tuyến

  • thangbeo4222

Xem nhiều