(+84) 236 3 822 768   danang@gso.gov.vn
 

Tự động chuyển đổi từ viết thường thành từ viết hoa ở ký tự đầu tiên trong excel
Người đăng tin: Trần Thông Ngày đăng tin: 15/03/2018 Lượt xem: 32

Excel được sử dụng khá rộng rãi trong việc lập danh sách. Việc nhập tên, địa chỉ của từng cá nhân trong danh sách khá đơn giản và dễ dàng. Nhưng sẽ tốt hơn nếu có thêm một vài tính năng tự động.

Excel được sử dụng khá rộng rãi trong việc lập danh sách. Việc nhập tên, địa chỉ của từng cá nhân trong danh sách khá đơn giản và dễ dàng. Nhưng sẽ tốt hơn nếu có thêm một vài tính năng tự động. Ví dụ: bạn phải nhập tên người theo hình thức viết hoa ở đầu mỗi từ; nếu có cách nào chỉ cần nhập các từ theo kiểu thường và Excel sẽ tự động đổi sang hình thức thích hợp thì sẽ giảm công sức và thời gian  cho công việc nhập dữ liệu. Giả định bạn nhập vào “15/5 trần hưng đạo” và Excel tự động chuyển đổi thành “15/5 Trần Hưng Đạo”. Hoặc một tính năng mong đợi khác là khi bạn nhập thông tin cuối cùng cho một dòng trong danh sách thì Excel sẽ tự động đưa bạn đến đầu dòng tiếp theo, khỏi cần phải bấm các phím mũi tên để chọn ô.

Bài viết này trình bày cách thức để có những tính năng trên. Đây là một kỹ thuật lập trình để sử dụng macro trong Excel, nhưng đoạn mã rất ngắn và bạn chỉ việc chép vào.

Giả định bạn có một mẫu danh sách và thường xuyên phải nhập dữ liệu vào. Mẫu danh sách này trong Excel khá đơn giản như sau:

Bạn lưu ý một vài chi tiết trên danh sách này để có thể áp dụng vào mẫu danh sách của bạn.

  • Tiêu đề của danh sách nằm trên dòng thứ 5, dữ liệu nhập vào sẽ từ dòng thứ 6 trở đi.
  • Từ dòng thứ 6 trở đi nếu cột B có số thứ tự (do bạn nhập vào) thì sau khi bạn nhập tên vào cột C, địa chỉ vào cột D, tên và địa chỉ sẽ tự động chuyển sang hình thức viết hoa mỗi đầu từ.
  • Sau khi nhập xong thông tin giới tính tại cột F, và nhấn Enter để xác nhận thì ngay lập  tức ô được chọn sẽ ở tại vị trí cột B trên dòng tiếp theo để chuẩn bị cho bạn nhập một dòng dữ liệu mới.

Ở đây thông tin tại cột B (số thứ tự) được sử dụng như một “điều kiện” để yêu cầu Excel thực hiện hoặc không thực hiện các tính năng nói trên. Ví dụ trong hình 1, tại dòng thứ 6, thứ 7, do cột B có thông tin, nên các chức năng chuyển đổi chữ thường thành chữ viết hoa đầu từ, và chức năng tự động xuống dòng sau khi nhập xong thông tin tại cột F sẽ được thực hiện. Còn tại dòng 8, nếu bạn không nhập số thứ tự vào cột B thì các tính năng trên sẽ không được thực hiện

Để làm được việc này bạn soạn thảo một đoạn mã nhỏ với ngôn ngữ Visual Basic như sau (bạn có thể mở 1 file dạng text để soạn thảo). Chú ý không ghi số thứ tự của từng dòng.

1

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

2

    Dim CC, FIC, LIC As Long

3

    CC = 2

4

    FIC = 2

5

    LIC = 7

6

    If ActiveCell.Column < FIC Or ActiveCell.Column > LIC Then Exit Sub

7

    If Cells(ActiveCell.Row, CC).Value = "" Then Exit Sub

8

    Dim r, c As Long

9

    c = ActiveCell.Column

10

    r = ActiveCell.Row

11

    Select Case c

12

        Case 4, 5

13

            Dim myname() As String

14

            Dim tmpname As String

15

            Dim i As Long

16

            myname = Split(Cells(r, c - 1).Value)

17

            For i = 0 To UBound(myname)

18

                myname(i) = UCase(Mid(myname(i), 1, 1)) + LCase(Mid(myname(i), 2))

19

                tmpname = tmpname + IIf(i > 0, " ", "") + myname(i)

20

            Next i

21

            Cells(r, c - 1).Value = tmpname

22

        Case 7

23

            If Cells(r, CC).Value <> "" Then

24

                ActiveSheet.Cells(r + 1, CC).Select

25

            End If

26

    End Select

27

End Sub

Cách thức chèn đoạn mã nói trên vào Excel:

Trong cửa sổ Excel bấm tổ hợp phím Alt+F11 để  làm xuất hiện cửa sổ sau

Trong phần liệt kê các thành phần bên trái, chọn “Sheet1 (Sheet1)” (là trang bạn đang soạn thảo danh sách) và bấm đôi chuột vào đó;

Trong khung soạn thảo văn bản vừa xuất hiện, chép toàn bộ đoạn mã nói trên vào.

Bây giờ bạn quay trở lại cửa sổ của bảng tính Excel và thử nhập dữ liệu. Bạn sẽ thấy sau khi bạn nhập tên và địa chỉ (viết thường), nhấn Enter thì tên và địa chỉ sẽ tự động chuyển thành dạng viết hoa đầu từ. Và sau khi nhập xong thông tin về giới tính, ô được chọn tiếp theo sẽ ở tại cột STT trên dòng kế tiếp.

Bạn lưu file này đưới dạng template để sử dụng về lâu dài.

Lưu ý:

1/ Bạn phải cho phép Excel được sử dụng MACRO;

2/ Bạn phải xác lập Excel là sau khi nhấn Enter, ô được chọn tiếp theo sẽ là bên phải.

Cách xác định như sau: chọn menu Tools, chọn Options... Trong cửa sổ Options vừa xuất hiện, chọn thẻ Edit. Trong thẻ Edit, đánh dấu chọn mục Move selection after Enter và chọn Right trong hộp kế bên.

Áp dụng vào danh sách của bạn:

Có thể danh sách của bạn khác với danh sách nói trên, bạn chỉ cần lưu ý thay đổi một số thông tin sau trong đoạn mã:

  • Cột kiểm tra, là cột mà nếu các ô trong cột này có thông tin thì các tính năng sẽ có tác dụng: bạn thay số tương ứng vào dòng 3 (ví dụ, bạn bắt đầu bằng cột đầu tiên (cột A) thì “CC=1”);
  • Cột sẽ bắt đầu nhập dữ liệu: bạn thay số tương ứng vào dòng 4 (ví dụ, bạn muốn nhập dữ liệu từ cột thứ 2 (cột B) thì “FIC=2”);
  • Cột cuối cùng có dữ liệu: bạn thay số tương ứng vào dòng 5 (ví dụ, cột thứ 6 (cột F) là cột cuối cùng có dữ liệu thì “LIC=6”);
  • Những cột nào muốn được chuyển đổi chữ thường thành hình thức chữ hoa đầu từ, bạn lấy số thứ tự của cột đó cộng thêm 1 và thay vào dòng thứ 12, nếu có nhiều cột muốn sử dụng chức năng này thì cứ cộng thêm 1, và ghi cách nhau bằng dấu phẩy (,) (ví dụ, bạn muốn thông tin trong cột 3, cột 5, cột 6 (tương ứng với cột C, E, F) sẽ chuyển đổi thành chữ hoa đầu từ thì tại dòng 12 sẽ ghi là “Case 4, 6, 7”)

Trần Triết Tâm

Chuyên mục, tin tức liên quan:

Video Video

 

 

Thư viện hình ảnh Thư viện hình ảnh

Liên kết web Liên kết web

Bản quyền thuộc về Cục Thống kê thành phố Đà Nẵng

Địa chỉ: 310 Hoàng Diệu - Hải Châu - TP Đà Nẵng

Điện thoại: (+84) 236 3822768 - 3827680

Email: danang@gso.gov.vn