Hiển thị các bài đăng có nhãn Excel. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn Excel. Hiển thị tất cả bài đăng

Thứ Năm, 12 tháng 1, 2012

10 cách sử dụng tính năng Paste trong Excel

Lệnh Paste Special xuất hiện ở hầu hết các ứng dụng văn phòng, nhưng có lẽ người dùng Excel vẫn được hưởng lợi từ lệnh này nhiều nhất. Sử dụng tính năng cơ bản này – cũng như các lựa chọn Paste khác – người dùng có thể thực hiện một số tác vụ thông thường cùng một số vấn đề phức tạp hơn. Những thủ thuật này rất dễ thực hiện và chắc chắn bạn sẽ sử dụng chúng nhiều hơn trước đây một khi đã biết tới chúng.

Trong Excel 2007 và 2010, Paste nằm trong nhóm Clipboard ở thẻ Home. Trong Excel 2003, Paste Special trong menu Edit. Đối với những ai hay dùng phím tắt, chúng tôi có một bảng ở cuối bài, bao gồm những phím tắt để thực hiện hành động phổ biến.

1: Copy chiều rộng của cột

Khi copy dữ liệu sang một cột mới, độ dài của cột sẽ không tự động điều chỉnh sao cho phù hợp với giá trị mới. Chỉ với một cú kích thêm, bạn có thể copy chiều rộng gốc của cột tới cột mục tiêu:

a. Chọn dữ liệu cần copy và nhấn [Ctrl] + C để copy giá trị đã chọn tới Clipboard.

b. Chọn một ô trong cột mục tiêu.

c. Ở thẻ Home, kích vào lựa chọn Paste trong nhóm Clipboard và chọn Keep Source Column Widths. Lựa chọn này sẽ yêu cầu thêm một bước nữa khi bạn sử dụng Excel 2007: Chọn Paste Special từ menu Pastedạng drop-down. Tiếp đến, kích vào lựa chọn Column Widths trong mục Paste và kích OK.

Excel sẽ copy dữ liệu và chiều rộng gốc của cột vào ô mục tiêu.

Copy chiều rộng của cột

2: Thực hiện các phép tính

Người dùng có thể sử dụng Paste Special để cộng, trừ, nhân và chia. Chỉ cần điền số rồi nhấn [Ctrl] + C. Sau đó, chọn giá trị bạn muốn thay đổi bằng số vừa mới điền và kích Paste Special trong nhóm Clipboard. Ở cửa sổ kết quả, kích vào phép tính phù hợp rồi nhấn OK. Excel sẽ thực hiện hành động tương ứng bằng cách sử dụng giá trị bạn mới copy vào Clipboard.

Người dùng cũng có thể thực hiện các phép tính với nhiều giá trị. Sử dụng quá trình tương tự như bên trên, nhưng copy một dãy các giá trị thay vì chỉ copy một như bên trên. Excel sẽ không để ý tới kích thước nếu không đủ, nó chỉ thực hiện các phép tính lần lượt theo thứ tự các giá trị đã copy.

3: Hoán đổi dữ liệu

Excel cung cấp cho người dùng tính năng hoán đổi, nhưng đôi khi Paste Special lại là cách nhanh hơn khi thực hiện việc này. Chọn dữ liệu ngồn và thực hiện theo các hành động sau:

a. Nhấn [Ctrl] + C để copy dữ liệu vào Clipboard.

b. Chọn ô trên cùng bên trái của dòng mục tiêu.

c. Kích vào thẻ Home (nếu cần) và chọn Transpose từ menu Paste dạng drop-down.

Đó chính là những gì người dùng cần làm. Từ giờ, bạn có thể copy một cột dữ liệu tới một hàng và ngược lại.

4: Thay thế công thức bằng kết quả đã tính toán

Thi thoảng, người dùng có thể muốn thay thế công thức với giá trị thực tế của nó. Ví dụ, bạn muốn thay thế một dãy hàm RAND() với giá trị của nó thay vì cho phép công thức này tự tính toán. Đây là một tác vụ thông dụng đối với Paste Special. Để copy công thức với giá trị của chúng, thực hiện theo những hành động sau:

a. Chọn một dãy các công thức rồi nhấn [Ctrl] + C.

b. Trong nhóm Clipboard, kích vào menu Paste dạng drop-down.

c. Chọn Values.

Thực hiện như vậy để thay thế các công thức với giá trị thực của chúng. Trước khi sử dụng phương pháp này, có thể bạn muốn sao lưu công việc của mình để đề phòng.

Thay thế công thức bằng kết quả đã tính toán

Thủ thuật sử dụng chuột để thực hiện tác vụ:

a. Chọn dãy.

b. Phải chuột vào đường biên và kéo dãy đó tới cột (hoặc hàng) bên cạnh.

c. Kéo dãy đã chọn quay trở lại nguồn. Điều này sẽ bắt Excel hiển thị menu phím tắt, mà không cần chuyển các giá trị đã chọn.

d. Chọn Copy Here As Values Only.

5: Copy định dạng

Hầu hết chúng ta sử dụng Format Painter để copy định dạng từ ô này sang ổ khác hoặc sang một hàng nào đó. Tuy nhiên, khi sử dụng Format Painter có đôi chút bất tiện với toàn bộ cột hoặc dòng. Dưới dây là cách sử dụng Paste Special để thay thế:

a. Chọn ô có chứa định dạng bạn muốn copy và nhấn [Ctrl] + C.

b. Kích vào bên trong cột hoặc dòng bạn muốn định dạng. (Nhấn [Ctrl] + Spacebar để lựa chọn toàn bột cột hoặc [Shift] + Spacebar để chọn toàn bộ hàng).

c. Với cột hoặc hàng đã chọn, chọn Formatting từ menu Paste dạng drop-down trong nhóm Clipboard. Excel 2007 yêu cầu thêm một bước phụ nữa: Chọn Paste Special từ menu Paste dạng drop-down, kích Formatstrong mục Paste và kích OK.

6: Copy định dạng biểu đồ

Người dùng có thể phải mất nhiều công sức để định dạng cho biểu đồ sao cho thật đẹp và sau đó lại phải thực hiện lại tất cả công việc tương tự với loại dữ liệu khác. Trong trường hợp này, đừng nên tái định dạng lại biểu đồ mới mà hãy sử dụng Paste Special. Giả thuyết này cũng tương tự như cách số 5, nhưng các bước thực hiện có đôi chút khác biệt:

a. Chọn biểu đồ với định dạng bạn muốn copy và nhấn [Ctrl] + C.

b. Chọn biểu đồ bạn muốn định dạng rồi chọn Paste Special từ menu Paste dạng drop-down. Excel sẽ hiển thị hộp thoại Paste Special, với 3 lựa chọn.

c. Chọn Formats và kích OK.

Excel phản ứng khác biệt khi copy định dạng biểu đồ, nhưng nó có thể dễ dàng hoàn thành tác vụ.

7: Bỏ qua một loạt các ô có giá trị trống

Sử dụng lựa chọn Skip Blanks, bạn có thể thay thế giá trị hiện tại trong khi vẫn bỏ qua những ô không có giá trị trong dữ liệu gốc. Nói theo cách khác, nếu có một ô trống trong dữ liệu gốc và một giá trị trong dãy cần paste tương ứng, lựa chọn này không thay thế giá trị hiện tại bằng ô trống. Bạn có thể sử dụng nó với tất cả các lựa chọn khác:

a. Chọn dãy dữ liệu gốc và nhấn [Ctrl] + C.

b. Chọn ô trên cùng bên trái ở dãy mục đích.

c. Từ menu Paste dạng drop-down rồi chọn Paste Special.

d. Tích vào lựa chọn Skip Blanks và kích vào OK.

Excel sẽ không ghi đè giá trị hiện tại bằng ô trống.

Bỏ qua một loạt các ô có giá trị trống

8: Copy Data Validation

Sau khi bỏ thời gian ra để thiết lập rule hoặc danh sách Data Validation để cải thiện nhập dữ liệu, có thể bạn sẽ muốn áp dụng rule tương tự đối với ô hoặc dãy khác. Tin tốt là bạn không phải thực hiện lại toàn bộ các bước bên trên. Sử dụng Paste Special, bạn chỉ việc copy lại là được:

1. Chọn ô có chứa rule Data Validation và nhấn [Ctrl] + C.

2. Chọn ô mục tiêu cần paste.

3. Từ menu Paste dạng drop-down, chọn Paste Special.

4. Kích vào lựa chọn Validation rồi kích vào OK.

Thiết lập Data Validation có thể gây nhàm chán và tốn thời gian; Paste Special là cách dễ dàng hơn nhiều!

9: Xóa văn bản trên Web

Khi copy văn bản từ Web, bạn có thể gặp rắc rối bởi Excel vẫn giữ nguyên định dạng gốc. Nhìn chung, đây không phải là điều bạn muốn. Nếu bạn đã kích hoạt tính năng Excel’s Show Paste Options (có trong bảngAdvanced của hộp thoại Excel Options), bạn sẽ thấy icon Clipboard ngay lập tức sau khi dán đoạn văn bản vào trong bảng tính. Người dùng có thể chọn Match Destination Formatting từ menu Clipboard dạng drop-down để loại bỏ những định dạng không cần thiết.

Nếu đang sử dụng Excel 2010, chắc hẳn bạn sẽ thấy thích khi sử dụng giải pháp Paste Special này:

a. Copy đoạn văn bản từ trên Web.

b. Trong Excel, kích vào nơi bạn muốn insert đoạn văn bản.

c. Chọn Paste từ menu dạng drop-down và chọn Match Destination Formatting.

Sử dụng lựa chọn này để copy dữ liệu ngoài, không chỉ văn bản Web vào Excel.

10: Paste quy chiếu

Người dùng có thể quy chiếu một ô bằng cách dẫn địa chỉ một ô với dấu bằng. Ví dụ, điền =A1 để quay trở lại nội dung của ô A1. Thông thường, chúng ta sử dụng những quy chiếu này ở những biểu thức và công thức lớn hơn. Thi thoảng, chúng ta vẫn quy chiếu một ô với chính nó. Paste Link có thể giúp khi quy chiếu nhiều ô:

a. Chọn dãy cần quy chiếu rồi nhấn [Ctrl] + C.

b. Chọn ô mục tiêu rồi nhấn Paste Link từ menu Paste dạng drop-down.

Sử dụng Paste Link nhanh hơn so với việc quy chiếu thủ công.

Phím tắt cho những hành động Paste.

Phím tắt cho những hành động Paste.

Lamle (Theo Techrepublic)

Nguồn: quantrimang.com

Thứ Tư, 14 tháng 12, 2011

Giáo trình hướng dẫn sử dụng Excel 2010 - toàn tập

Download tài liệu tại http://www.mediafire.com/?6r4ymxhtnjy1l05

toan-thpt.blogspot.com

Định dạng theo điều kiện (Conditional Formatting) trong Excel 97 - 2010

Chuyên đề định dạng theo điều kiện trong Excel 97-2010 của tác giả Trần Thanh Phong

Download tài liệu tại http://www.mediafire.com/?es80lldaea4f2a7

toan-thpt.blogspot.com

Excel's Text Functions - Các hàm xử lý văn bản và chuỗi

Vài dòng tâm sự

Trước giờ, trong diễn đàn này đã có nhiều bài viết về các hàm Excel, tổng hợp, liệt kê các hàm Excel. Tuy nhiên, nếu gọi là tổng hợp theo hệ thống, phân loại theo từng chủ đề thì chưa có.
Với một mong muốn là đóng góp được chút gì cho GPE, tôi xin gửi đến các bạn chùm topic này. Gọi là chùm bởi vì nó có nhiều topic. Được tổng hợp từ cuốn sách Formulas and Functions with Microsoft Excel 2007 của Paul McFedries, và dịch từ phần Helpcủa Excel.
Trong các topic sau đây, các hàm Excel được biên soạn theo từng chủ đề, từng loại. Thiết nghĩ rất cần thiết cho các bạn, nhất là các bạn mới làm quen với Excel.
Vì trình độ dịch thuật cũng như sự am hiểu về các hàm trong Excel là có giới hạn, nên sẽ không tránh được những sai sót. Rất mong các bạn đóng góp những ý kiến cũng như nói cho tôi biết những chỗ sai, để loạt topic này sớm được hoàn thiện.

Bùi Nguyễn Triệu Tường - giaiphapexcel.com

Download toàn bộ tài liệu tại http://www.mediafire.com/?77enl7lpon31f7r

toan-thpt.blogspot.com

Thứ Hai, 12 tháng 12, 2011

Chèn công thức toán học trong MS Excel

Nếu bạn không muốn đau đầu khi phải chèn công thức toán học trong MSExcel thì bạn hãy làm theo hướng dẫn trong bài này, ngoài ra, việc tìm hiểu thêm về Visual Basic và bắt đầu tập viết hàm Macros cho Excel để chèn công thức toán học với cú pháp của LaTeX sẽ làm kỹ năng của bạn được nâng cao.

ExcelEquations là một chương trình macro giúp bạn thực hiện chuyển công thức trong Excel sang dạng trình bày của công thức toán học theo ngôn ngữ LaTeX. Sau khi cài đặt, trong thẻ Add-Ins của Excel sẽ xuất hiện thêm các nút lệnh theo thứ tự gồm: Render Eqn, Boxed Eqn, Delete Eqn, và Delete All Eqn.

(Thanh công cụ MS Excel đã được cài thêm ExcelEquation)

- Render Eqn: Chuyển từ công thức của Excel thành công thức toán học

- Boxed Eqn: Tương tự như Render Eqn nhưng công thức toán học được bao bọc trong một khung.

- Delete Eqn: Dùng để xóa công thức toán học.

- Delete All Eqn: Xóa tất cả các công thức toán học đã được tạo ra trên worksheet.

Ví dụ sử dụng:

Nhập công thức sau trong Excel: =(SIN(x)^2)/(1+COS(x))

Click chuột vào nút lệnh Render Eqn trên thanh công cụ.  Kết quả thu được sẽ là:

Ngoài công thức viết theo cách viết của Excel chương trình còn có thể chuyển đổi từ cú pháp LaTeX sang dạng công thức:

VD: \int_3^4 sin(x^2)  Sẽ cho kết quả:

Hướng dẫn cài đặt

Tải chương trình về tại đây: http://www.box.com/s/fnc0p83uy350gk1i2a6e

Vì đây chỉ là một Add-Ins nên việc cài đặt cũng rất đơn giản. Bạn chỉ cần tải về, click đúp để cài đặt và nếu có xuất hiện hộp thoại Sercurity warning  thông báo về Macros thì nhớ chọn Enable Macros là xong. Tuy nhiên nếu không thấy xuất hiện chương trình trên thanh công cụ thì cần thực hiện thêm thao tác sau:

Với Excel 2003: Chọn Tools, Add-Ins.Hộp thoại Add-Ins xuất hiện. Chọn Browse, Tìm đến nơi mà bạn đã lưu file Add-in vừa tải về ở bước 1, chọn và click OK.

Với Excel 2007, 2010: Chọn File, Options, Add-Ins, Chọn Excel Add-Ins và click Go rồi thực hiện như Excel 2003.

Dainganxanh
Nguồn: XHTT

Chủ Nhật, 23 tháng 10, 2011

Thay màu giữa các dòng khác nhau trong Microsoft Excel

Việc chọn và đổ màu riêng biệt đối với các vùng dữ liệu đặc biệt có ích khi bạn có 1 bảng tính với rất nhiều con số thống kê khác nhau. Trong bài viết dưới đây, chúng tôi sẽ giới thiệu với các bạn một số thao tác để làm việc này trong Microsoft Excel.

Trước tiên, các bạn mở Excel và chọn vùng dữ liệu cần đổ màu, hoặc nhấn Ctrl + A để chọn toàn bộ:

Thay màu giữa các dòng khác nhau trong Microsoft Excel

Chọn tiếp tab Home ở bên trên và Styles > Conditional Formatting:

Thay màu giữa các dòng khác nhau trong Microsoft Excel

Menu có dạng drop – down hiển thị, các bạn chọn New Rule:

Thay màu giữa các dòng khác nhau trong Microsoft Excel

Cửa sổ New Formatting Rule hiển thị, nhấn nút ở phía cuối màn hình với tên là: Use a Formula to Determine Which Cells to Format. Nếu trường dữ liệu trống, các bạn sử dụng công thức như dưới đây:

=MOD(ROW()/2,1)>0

Cửa sổ New Formatting Rule sẽ trông giống như hình dưới:

Thay màu giữa các dòng khác nhau trong Microsoft Excel

Nhấn nút Format, sau đó chọn màu để sử dụng, nhấn tiếp OK:

Thay màu giữa các dòng khác nhau trong Microsoft Excel

Chế độ xem trước màu – Color Preview hiển thị trên cửa sổ New Formatting Rule như hình dưới, nhấn OK:

Thay màu giữa các dòng khác nhau trong Microsoft Excel

Và phần dữ liệu trên bảng tính của bạn sẽ được đổ màu dựa theo giá trị và quy luật áp dụng. Ví dụ như hình dưới:

Thay màu giữa các dòng khác nhau trong Microsoft Excel

Nếu muốn thay đổi lại màu hoặc thêm, bớt dòng dữ liệu thì chúng ta chỉ cần chọn thêm ô tương ứng, sau đó chọn Conditional Formatting > Manage Rules:

Thay màu giữa các dòng khác nhau trong Microsoft Excel

Cửa sổ Conditional Formatting Rules Manager xuất hiện, nhấn nút Edit Rule:

Thay màu giữa các dòng khác nhau trong Microsoft Excel

Chúng ta sẽ được quay trở lại phần Edit Formatting Screen, tại đây các bạn hãy điều chỉnh và thiết lập điều kiện để thay đổi theo ý muốn:

Thay màu giữa các dòng khác nhau trong Microsoft Excel

Chúc các bạn thành công!

>>> Video hướng dẫn tham khảo:

T.Anh (theo GroovyPost)

Nguồn: quantrimang.com

Thứ Hai, 17 tháng 10, 2011

Xóa bỏ ô dữ liệu trống trong Excel 2007 hoặc 2010

Trong bài viết dưới đây, chúng tôi sẽ hướng dẫn với các bạn một số thao tác cơ bản để xóa ô trống trong bảng tính Excel 2007 hoặc 2010. Trước tiên, các bạn mở bảng tính và nhấn Ctrl + A để chọn toàn bộ, hoặc chọn phần dữ liệu nhất định cần áp dụng:

Xóa bỏ ô dữ liệu trống trong Excel 2007 hoặc 2010

Tiếp theo, nhấn F5, menu Go To sẽ hiển thị, nhấn tiếp Special:

Xóa bỏ ô dữ liệu trống trong Excel 2007 hoặc 2010

Cửa sổ Go To Special tiếp theo xuất hiện, chúng ta chọn Blanks và nhấn OK:

Xóa bỏ ô dữ liệu trống trong Excel 2007 hoặc 2010

Sau đó, Excel sẽ lựa chọn tất cả các ô dữ liệu trống trong bảng tính, và để xóa bỏ thì các bạn nhấn [Ctrl] [-], cửa sổ Delete sẽ hiển thị, chọn tiếp Entire Row hoặc Entire Column để thay đổi các ô xung quanh và xóa bỏ ô dữ liệu trống:

Xóa bỏ ô dữ liệu trống trong Excel 2007 hoặc 2010

Chúc các bạn thành công!

T.Anh (theo GroovyPost)

Nguồn: quantrimang.com

Chủ Nhật, 5 tháng 6, 2011

3 phương thức cơ bản để tránh lỗi nhập dữ liệu trong Excel

Bạn có thể dành nhiều thời gian cho việc định dạng và lập công thức tính toán trong bảng tính của mình, nhưng tất cả công việc của bạn đều lãng phí nếu như một ai đó nhập giá trị không phù hợp vào đó. Thông thường thì bạn sẽ sửa lại các lỗi nhập liệu khi gặp tình trạng này, nhưng đâu là điều thiết thực nhất mà bạn có thể tránh các lỗi nhập liệu? Hãy áp dụng các phương thức cơ bản dưới đây:

1. Xác nhận giá trị đầu vào.

Việc sử dụng tính năng Data Validation trong Excel có thể loại bỏ dữ liệu không phù hợp khi người dùng nhập vào. Nghĩa là bạn sẽ chỉ rõ các điều kiện mà một giá trị phải đáp ứng, và khi đó Excel sẽ bác bỏ giá trị không đáp ứng điều kiện đưa ra và thông báo lỗi nhập liệu.

Để xác nhận dữ liệu nhập vào, từ giao diện cửa sổ MS Excel 2007/2010 bạn duyệt đến thẻ Data, nhấn vào biểu tượng Data Validation và chọn Data Validation (Với phiên bản Excel 2003 thì chọn Validation từ danh mục Data), tại cửa sổ hiện ra, bạn click vào thẻ Settings, trong khung Validation criteria hãy chọn Decimal cho mục Allow, between cho mục Data và nhập giá trị Minimum Maximum phía dưới và nhấn OK để thừa nhận. Chẳng hạn ở đây tôi nhập giá trị từ 1 đến 1000, khi đó nếu người dùng nhập liệu ngoài vùng dữ liệu này thì lập tức sẽ có thông báo lỗi.

Lưu ý: Bạn phải chọn vùng dữ liệu trên bảng tính trước khi thực hiện việc xác nhận.

 Ngoài ra, bạn có thể thiết lập thông báo điều kiện nhập liệu bằng cách chọn thẻ Input Message rồi nhập tiêu đề và nội dung hiển thị. Để tạo một cảnh báo bằng tiếng việt-cảnh báo này hiện ra ngay sau khi nhập sai dữ liệu (mặc định là tiếng anh), bạn chọn thẻ Error Alert, chọn kiểu hiển thị tại mục Style có thể là Stop, Warning hoặc Information, tiếp đến nhập tiêu đề và nội dung cảnh báo.

2. Không nên sử dụng tính năng AutoComplete.

AutoComplete trong Excel là tính năng tự động hoàn chỉnh dữ liệu nhập ngay sau khi người dùng nhập giá trị đầu vào phù hợp hay có ký tự gần giống với giá trị hiện có. Và như vậy thì AutoComplete sẽ làm giảm thời gian nhập liệu nhưng nó có thể tăng khả năng nhập liệu sai khi có rất nhiều giá trị giống nhau.

Để vô hiệu hóa tính  năng này, bạn nhấn vào nút Office Button và chọn Excel Options, trong Panelbên trái hãy click lên mục Advanced, sau đó bỏ chọn trước dòng chữ Enable AutoComplete For Cell Values  OK (Đối với Excel 2003 bạn phải chọn Options từ Menu Tools, và chọn thẻ Edit).

3. Sử dụng một danh sách động (Dynamic list):

Thêm hoặc xóa các giá trị sẽ không cập nhật các mục trong một danh sách đã xác nhận nếu chúng ta không sử dụng tính năng tham chiếu trong Excel. Đối với Excel 2007 và 2010, khi chuyển đổi một danh sách đã có thành bảng rồi tạo một list mới liên kết qua bảng này. Khi đó, nếu người dùng thêm hoặc xóa dữ liệu từ bảng thì trong list cũng tự động thay đổi theo. 
Khi bạn thêm hoặc xóa dữ liệu trong cột L thì list N sẽ tự động cập nhật theo

Trước hết, bạn chọn vùng dữ liệu trên một cột đơn, sau đó vào thẻ Insert chọn biểu tượng Table từ nhóm Tables, trong cửa sổ create Table bạn đánh dấu kiểm trước mục My table has headers và nhấnOK. Khi đó toàn bộ dữ liệu này đã chuyển thành bảng. Bây giờ bạn chọn một ô trống bất kỳ rồi vào thẻData và nhấn chọn Data Validation như trên, nhưng trong thẻSettings, đối với mục Allow bạn phải chọn List, click chuột vào ô Soucre và khoanh vùng dữ liệu là bảng đã tạo rồi nhấn OK, list vừa tạo sẽ giống như bạn sử dụng tính năng Filter.

  NGỌC ÂN

Nguồn: XHTT

Thứ Tư, 9 tháng 2, 2011

“Đóng gói” tập tin Excel

Nhiều bạn đọc có yêu cầu “bảo mật” đối với những tập tin Excel giải quyết những bài toán của riêng mình để có thể “phân phối” chuyên nghiệp. Bài viết sẽ trình bày các bước cách thức “đóng gói” và tạo giao diện như một phần mềm bằng ngôn ngữ VB và người dùng phải cài đặt hoặc điền CD key khi mở tập tin.
1. Trong file Excel, bạn có thể viết một số đoạn code bằng ngôn ngữ VBA để xử lý dữ liệu trong file Excel hiện hành (và các file Excel khác nếu muốn). Các đoạn code VBA này sẽ truy xuất dữ liệu của file Excel thông qua mô hình hướng đối tượng.
Thí dụ bạn có thể dùng các đối tượng ActiveWorkbook, Workbooks(<tên>) để truy xuất workbook hiện hành hay workbook với tên xác định, hay các đối tượng ActiveSheet hay Sheets(<tên>) để truy xuất worksheet hiện hành hay worksheet với tên xác định. Thí dụ thủ tục CreateSheet sau đây sẽ tạo 1 worksheet mới (trong workbook hiện hành) có tên là "YourSheet", rồi tự động nhập thông tin tọa độ của từng cell trong vùng cell từ A1 tới D10:
Sub CreateSheet()
Dim rg As Range
Dim row As Integer, col As Integer
'tạo worksheet mới
Sheets.Add
'đặt tên cho worksheet mới
ActiveSheet.Name = "YourSheet"
'thiết lập vùng cell cần xử lý
Set rg = Range("A1:D10")
'nhập thông tin tọa độ cho từng cell
'duyệt theo hàng

For row = 1 To 10
'duyệt theo cột
For col = 1 To 4
rg.Cells(row, col).Value = "(" & row & "," & col & ")"
Next col
Next row
'lưu kết quả lên file
ActiveWorkbook.SaveAs "c:\YourWB.xls"
End Sub
Thật ra các đối tượng ActiveWorkbook, Workbooks, ActiveSheet hay Sheets được truy xuất trong thủ tục trên chỉ là đối tượng con của đối tượng Application, đối tượng Application miêu tả ứng dụng Excel đang chạy. Do đó nếu muốn dùng đường dẫn tuyệt đối để truy xuất các đối tượng, thủ tục CreateSheet() trên có thể được viết lại như sau:
Sub CreateSheet()
Dim rg As Range
Dim row As Integer, col As Integer
'tạo worksheet mới
Application.Sheets.Add
'đặt tên cho worksheet mới
Application.ActiveSheet.Name = "YourSheet"
'thiết lập vùng cell cần xử lý
Set rg = Range("A1:D10")
'nhập thông tin tọa độ cho từng cell
'duyệt theo hàng

For row = 1 To 10
'duyệt theo cột
For col = 1 To 4
rg.Cells(row, col).Value = "(" & row & "," & col & ")"
Next col
Next row
'lưu kết quả lên file
Application.ActiveWorkbook.SaveAs "c:\YourWB.xls"
End Sub
Bây giờ nếu muốn chuyển các đoạn code VBA đã chạy tốt trong file Excel thành ứng dụng VB 6.0 độc lập, bạn cần thực hiện một số công việc sau:
- Sử dụng thư viện "Microsoft Excel x.0 Object Library" chứa các đối tượng Excel.Application, ActiveWorkbook, Workbooks, ActiveSheet, Sheets… trong Project quản lý ứng dụng VB 6.0 của bạn.
- Viết code khởi tạo đối tượng Excel.Application miêu tả ứng dụng Excel, trước khi sử dụng đối tượng này để truy xuất các đối tượng con của nó.
- Copy đoạn code VBA dùng các đối tượng bằng đường dẫn tuyệt đối đã chạy tốt vào đây.
- Sau khi xử lý dữ liệu của file Excel, viết code đóng đối tượng Excel.Application lại.
2. Muốn bảo vệ phần mềm bởi người dùng bất hợp pháp, bạn có thể viết thêm đoạn code kiểm tra password, chèn đoạn code này vào đầu phần mềm.
Để thấy rõ cách giải quyết các vấn đề vừa trình bày, chúng tôi xin giới thiệu qui trình điển hình để xây dựng 1 ứng dụng VB 6.0, nó sẽ yêu cầu người dùng nhập password, kiểm tra password nhập với password hợp pháp được lưu trong ứng dụng (hay trên file dữ liệu), nếu không đúng thì ứng dụng sẽ dừng, còn nếu đúng chương trình sẽ chạy tiếp. Chương trình gồm 1 form chính chứa 1 button Create, khi người dùng click chuột button này, ứng dụng sẽ chạy Excel, tạo 1 sheet mới có tên là "YourSheet", nhập tọa độ vào từng cell trong vùng cell từ A1 tới D10, lưu kết quả lên file "c:\YourWB.xls":
1. Chạy VB 6.0, khi cửa sổ New project hiển thị, chọn icon Standard EXE rồi button Open để tạo mới Project chứa Form đơn giản.
2. Chọn menu Project.Components để hiển thị cửa sổ Components, duyệt tìm và chọn thư viện có tên là Microsoft Excel x.0 Object Library rồi OK để thêm các đối tượng trong thư viện này vào ToolBox của Project hiện hành.
3. Vẽ 1 button vào form, thíết lập lại thuộc tính (Name)=btnCreate, thuộc tính Caption="Create".
4. Ấn kép chuột vào button vừa tạo để tạo thủ tục xử lý sự kiện click chuột vào button rồi viết code cho thủ tục này như sau:
Option Explicit
'khai báo hàm API cần dùng
Private Declare Sub ExitProcess Lib "kernel32" (ByVal uExitCode As Long)
'định nghĩa hằng miêu tả password đã mật mã
Const ENPASS = "zpvsqbtt"
'hàm mật mã chuỗi password đơn giản
Function Encryph(pass As String) As String
Dim bytes() As Byte
Dim str As String
Dim i As Integer
bytes = StrConv(pass, vbFromUnicode)
str = ""
For i = 0 To UBound(bytes)
str = str & Chr(bytes(i) + 1)
Next i
Encryph = str
End Function
'thủ tục khởi tạo form
Private Sub Form_Load()
Dim pass As String
'hiển thị form nhập password
frmPassword.Show vbModal
pass = frmPassword.txtPassword
Unload frmPassword
'kiểm tra password nhập
If ENPASS <> Encryph(pass) Then
'nếu sai thì dừng ứng dụng
ExitProcess (1)
End If
'nếu đúng thì chạy tiếp bình thường
End Sub
'thủ tục phục vụ click button Create
Private Sub btnCreate_Click()
'định nghĩa các biến cần dùng
Dim Application As Excel.Application
Dim WorkBook As Excel.WorkBook
Dim wksSheet As Excel.Worksheet
Dim rg As Range
Dim row As Integer, col As Integer
'tạo ứng dụng Excel
Set Application = New Excel.Application
'tạo workbook Excel
Set WorkBook = Application.Workbooks.Add
'đoạn code VBA đã có sẵn từ file Excel
'tạo worksheet mới

Application.Sheets.Add
'đặt tên cho worksheet mới
Application.ActiveSheet.Name = "YourSheet"
'thiết lập vùng cell cần xử lý
Set rg = Range("A1:D10")
'nhập thông tin tọa độ cho từng cell
'duyệt theo hàng
For row = 1 To 10
'duyệt theo cột
For col = 1 To 4
rg.Cells(row, col).Value = "(" & row & "," & col & ")"
Next col
Next row
'lưu kết quả lên file
Application.ActiveWorkbook.SaveAs "c:\YourWB.xls"
'dừng ứng dụng Excel
Application.Quit
Set Application = Nothing
End Sub
5. Dời chuột về cửa sổ Project (thường nằm ở phía trên phải của màn hình), ấn phải chuột vào mục Project (phần tử gốc của cây Project) để hiển thị menu chức năng. Chọn mục Add.Form để hiển thị cửa sổ tạo form, chọn icon Form rồi button Open để tạo 1 form trống mới. Thiết lập lại thuộc tính Caption="Nhập password sử dụng", thuộc tính (Name)=frmPassword.
6. Vẽ 1 label, 1 textbox nhập password và 1 button OK vào form như hình vẽ:
Thiết lập thuộc tính (Name) cho TextBox là txtPassword, thuộc tính (Name) cho button là btnOK. Ấn kép chuột vào button OK để tạo thủ tục xử lý sự kiện click chuột trên button này rồi viết code cho thủ tục như sau :
Private Sub btnOk_Click()
Me.Visible = False
End Sub
7. Chọn menu File.Save Project As… để lưu Project lên đĩa.
8. Chọn menu Run.Start để chạy thử ứng dụng.
9. Khi ứng dụng chạy, form yêu cầu nhập password sẽ hiển thị, nếu người dùng nhập sai password qui định bởi ứng dụng, ứng dụng sẽ dừng. Nếu người dùng nhập đúng password thì form chính của ứng dụng sẽ hiển thị, lúc này nếu người dùng ấn vào button Create thì đoạn code tạo đối tượng Excel và xử lý dữ liệu sẽ chạy.
Theo PCWorld

Chủ Nhật, 16 tháng 1, 2011

Trích dữ liệu bảng tính Excel sử dụng ASP

Bạn có thể lưu dữ liệu trong một bảng tính của Microsoft Excel và sau đó sử dụng ASP để chiết xuất thông tin.. Các bảng tính hoạt động giống như là các cơ sở dữ liệu và bạn có thể sử dụng các câu lệnh SQL chuẩn để truy vấn dữ liệu. Việc xử lý khá là đơn giản và tôi chia nó ra thành ba bước như sau:…

Bước 1: Tạo bảng tính Excel.
Bước 2: Xác định phạm vi trong bảng tính
Bước 3: Viết mã ASP để đọc file.

Bước 1:

Tạo một thư mục tên là excel trong thư mục C:\Inetpub\wwwroot\ và đó cũng là nơi chúng ta sẽ tạo và lưu file bảng tính Excel.
a. Mở Excel và tạo bảng tính giả sử có các cột SR, NAME, và EMAIL như hình vẽ.

b. Khi chúng ta truy vấn dữ liệu từ bảng tính, chúng ta có thể giới hạn các kết quả bằng cách chọn một hay nhiều cột dữ liệu. 
Ví dụ như 
SELECT NAME FROM my_range.

Còn trong ví dụ này tôi dùng câu lệnh truy vấn: SELECT * FROM [Sheet1$] (Sheet1 là tên của bảng tính).

Bước 2:

Để xác định phạm vi trong Excel mà chúng ta sẽ xem như là một bảng trong câu lệnh SQL, chọn tất cả các trường có chứa dữ liệu trong đó, bao gồm cả tên cột, sau đó thao tác:Insert > Name > Define > Gõ tên my_range > Nhấn OK > Lưu file này vào đường dẫn C:\inetpub\wwwroot\excel\excel.xls. Đây là bước rất quan trọng nhằm mục đích chúng ta tạo ra bảng dữ liệu để truy xuất nó sau này.

Bước 3:

Bây giờ là lúc chúng ta có file excel và một vùng dữ liệu đã được đặt tên trong đó, chúng ta có thể bắt đầu viết mã ASP. Bạn nhúng đoạn mã sau đây vào trong file .asp rồi chạy file này.

  1. <% 
  2. ‘ Set Connection Params 
  3. Set oConn = Server.CreateObject("ADODB.connection") 
  4. oConn.Open "Driver={Microsoft Excel Driver (*.xls)}; DriverId=790;DBQ=c:\Inetpub\wwwroot\excel\excel.xls;DefaultDir = C:\Inetpub\wwwroot\excel\" 
  5.  
  6. Set RS=Server.CreateObject("ADODB.recordset") 
  7.  
  8. Write the SQL Query 
  9. RS.open "SELECT * FROM [Sheet1$]", oConn 
  10.  
  11.  
  12. do until RS.EOF 
  13. Response.Write ( RS("NAME") & "" & RS("EMAIL") & "") 
  14. RS.movenext 
  15. Loop 
  16.  
  17. ‘Close the recordset/connection 
  18.  
  19. RS.Close 
  20. oConn.Close 
  21. Set RS = Nothing 
  22. %>   

Kết quả in ra sẽ được như sau. Rất tuyệt phải không nào? Tất nhiên các bạn có thể tùy biến theo bất cứ cách hiển thị nào mà bạn mong muốn rồi! 

[HaiPhong-Aptech]

Bài đăng phổ biến