Cho mình hỏi cách viết macro quét dữ liệu (1 người xem)

  • Thread starter Thread starter phucsd
  • Ngày gửi Ngày gửi
Liên hệ QC

Người dùng đang xem chủ đề này

phucsd

Thành viên mới
Tham gia
17/2/14
Bài viết
7
Được thích
0
Mình muốn quét dữ liệu ở tất cả các ô và nếu ô nào có chứa text là chữ in hoa thì sau đó thêm dấu ^ ngay sau chữ in hoa đó, mong các bạn giúp mình, cảm ơn :)
 
Mình muốn quét dữ liệu ở tất cả các ô và nếu ô nào có chứa text là chữ in hoa thì sau đó thêm dấu ^ ngay sau chữ in hoa đó, mong các bạn giúp mình, cảm ơn :)
Bạn thử với thủ tục này:

Mã:
Sub CheckUCase()
    Dim Arr()
    Dim r As Long
    Dim CheckType
    
    Arr = Range("A1:A10")
    For r = 1 To UBound(Arr)
        CheckType = Arr(r, 1)
        If TypeName(CheckType) = "String" Then
            If UCase(CheckType) = CheckType Then
                Arr(r, 1) = [COLOR=#ff0000][B]CheckType & "^"[/B][/COLOR]
            End If
        End If
    Next
    
    Range("C1:C10") = Arr
End Sub
 

File đính kèm

Upvote 0
Cảm ơn bạn đã dành thời gian quan tâm đến vấn đề của mình :D
Macro chạy không lỗi, nhưng lại không ra kết quả như mình muốn :)
Cụ thể là một cell của mình chứa đoạn text nhiều từ vd như cụm GIẢI PHÁP excell xin chào CÁC BẠN
thì nó lại không thể nào thêm dấu ^ ngay sau từ In hoa được
À còn một vấn đề nữa là, có cách nào để giữ nguyên Font Format sau khi lọc kết quả được không bạn :D
Cảm ơn nhiều nhé
 
Upvote 0
Cách dễ nhất:
- Dùng hàm split tách chuỗi ra nhiều từ
- Dùng Ucase để xét xem từ có viết hoa, nếu viết hoa thì thêm "^"
- Dùng hàm join nối chuỗi lại.

Tuy nhiên cách này sẽ bị mất những đoạn trắng dư ở giữa câu.
 
Upvote 0
Cảm ơn bạn đã dành thời gian quan tâm đến vấn đề của mình :D
Macro chạy không lỗi, nhưng lại không ra kết quả như mình muốn :)
Cụ thể là một cell của mình chứa đoạn text nhiều từ vd như cụm GIẢI PHÁP excell xin chào CÁC BẠN
thì nó lại không thể nào thêm dấu ^ ngay sau từ In hoa được
À còn một vấn đề nữa là, có cách nào để giữ nguyên Font Format sau khi lọc kết quả được không bạn :D
Cảm ơn nhiều nhé
Bạn không nói rõ là 1 ô chứa toàn bộ in hoa hay một ô chứa nhiều chuỗi trong đó xen kẻ.

Trong trường hợp của bạn, GIẢI PHÁP excel xin chào CÁC BẠN thì kết quả cần đạt được sẽ ra như thế nào?

GIẢI^ PHÁP^ excel xin chào CÁC^ BẠN^

Hay như thế nào? Tò mò một chút, bạn làm gì với nó vậy?
 
Upvote 0
Bạn không nói rõ là 1 ô chứa toàn bộ in hoa hay một ô chứa nhiều chuỗi trong đó xen kẻ.

Trong trường hợp của bạn, GIẢI PHÁP excel xin chào CÁC BẠN thì kết quả cần đạt được sẽ ra như thế nào?

GIẢI^ PHÁP^ excel xin chào CÁC^ BẠN^

Hay như thế nào? Tò mò một chút, bạn làm gì với nó vậy?

Vâng, mình muốn nó ra kết quả như thế :D
 
Upvote 0
Bạn không nói rõ là 1 ô chứa toàn bộ in hoa hay một ô chứa nhiều chuỗi trong đó xen kẻ.

Trong trường hợp của bạn, GIẢI PHÁP excel xin chào CÁC BẠN thì kết quả cần đạt được sẽ ra như thế nào?

GIẢI^ PHÁP^ excel xin chào CÁC^ BẠN^

Hay như thế nào? Tò mò một chút, bạn làm gì với nó vậy?

Vâng, mình muốn nó ra kết quả như thế :D
 
Upvote 0
Vâng, mình muốn nó ra kết quả như thế :D

Thử dùng cái này xem:

Mã:
Sub CheckUCase()
    Dim Arr()
    Dim r As Long, c As Long
    Dim CheckType, SplitText
    Arr = Range("A1:A10")
    For r = 1 To UBound(Arr)
        SplitText = Split(Arr(r, 1), " ")
            For c = 0 To UBound(SplitText)
                CheckType = SplitText(c)
                If Val(CheckType) * 1 = 0 Then
                    If UCase(CheckType) = CheckType Then
                        SplitText(c) = CheckType & "^"
                    End If
                End If
            Next
        Arr(r, 1) = Join(SplitText, " ")
    Next
    Range("C1:C10") = Arr
End Sub
 

File đính kèm

Upvote 0
Cảm ơn bạn đã giúp mình.
Lí do mình làm vậy là để có thể tách từ text sang columm. Vì mình đang làm một dự án từ điển online và cần một file data với cột thứ nhất là từ cần định nghĩa (term) và cột thứ hai là nghĩa (definition), và từ điển ấy mình lấy từ file .doc.
Bây giờ mình tiếp tục làm dữ liệu cho từ điển ấy, bạn có thể giúp mình tách từ term ra một cột và definiton ra một cột không? với từ term chỉ gồm có đúng 1 từ (cảm ơn)
 
Upvote 0
Cảm ơn bạn đã giúp mình.
Lí do mình làm vậy là để có thể tách từ text sang columm. Vì mình đang làm một dự án từ điển online và cần một file data với cột thứ nhất là từ cần định nghĩa (term) và cột thứ hai là nghĩa (definition), và từ điển ấy mình lấy từ file .doc.
Bây giờ mình tiếp tục làm dữ liệu cho từ điển ấy, bạn có thể giúp mình tách từ term ra một cột và definiton ra một cột không? với từ term chỉ gồm có đúng 1 từ (cảm ơn)

Bạn muốn tách ra như thế nào, bạn cần phải có một file dữ liệu mẫu, bao gồm một số dữ liệu cần tách và kết quả mà bạn mong muốn đạt được như thế nào để người khác còn biết đường mà giúp cho bạn.
 
Upvote 0
Bạn muốn tách ra như thế nào, bạn cần phải có một file dữ liệu mẫu, bao gồm một số dữ liệu cần tách và kết quả mà bạn mong muốn đạt được như thế nào để người khác còn biết đường mà giúp cho bạn.

Vâng, cảm ơn bạn, bên dưới là tài liệu mẫu của mình
p/s cho mình hỏi là chức năng gửi tin nhắn riêng của diễn đàn ko dùng được ạ, sao mình gửi tin nhắn mà lục lại trong tin đã gửi chẳng thấy đâu, mà cũng chẳng thấy báo lỗi
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Vâng, cảm ơn bạn, bên dưới là tài liệu mẫu của mình
p/s cho mình hỏi là chức năng gửi tin nhắn riêng của diễn đàn ko dùng được ạ, sao mình gửi tin nhắn mà lục lại trong tin đã gửi chẳng thấy đâu, mà cũng chẳng thấy báo lỗi
Tôi đã nói rất rõ ở 2 phần màu xanh và màu đỏ:

Bạn muốn tách ra như thế nào, bạn cần phải có một file dữ liệu mẫu, bao gồm một số dữ liệu cần táchkết quả mà bạn mong muốn đạt được như thế nào để người khác còn biết đường mà giúp cho bạn.

Bạn chỉ thực hiện mỗi cái màu xanh, vậy tôi biết gì ở phần màu đỏ mà tách cho bạn?

Riêng Phần P/s, bạn phải thiết lập trong Hồ sơ của bạn bằng cách chọn mục "Gửi tin nhắn cá nhân", tại đây, bạn chọn vào mục "Thay đổi tùy chọn". Trong phần này, bạn phải chọn (check) vào mục "Mặc định lưu giữ một bản sao ...". Cuối cùng là kéo xuống dưới để bấm vào nút "Đã sửa xong" để hoàn tất thao tác.
 

File đính kèm

  • TuyChon.jpg
    TuyChon.jpg
    220.4 KB · Đọc: 13
Lần chỉnh sửa cuối:
Upvote 0
đã cập nhật file mới :)
Tôi sợ bạn thiệt rồi đó, bạn đưa dữ liệu lên, nhưng không nói rõ yêu cầu là tách cái gì, và kết quả mà bạn mong đợi là cái gì, chứ đưa dữ liệu lên mà không làm sẳn kết quả cần đạt được thì có trời mới biết bạn muốn làm cái gì đó! Mất thời gian quá!
 
Upvote 0

Bài viết mới nhất

Back
Top Bottom