Cần giúp viết Code chọn (Bôi đen) các ô trên cột A chứa số chết, số công thức, ... (1 người xem)

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

hung2412

Thành viên tích cực
Tham gia
5/8/08
Bài viết
934
Được thích
240
Giới tính
Nam
Xin chào các bạn GPE!
Nhờ các bạn giúp đỡ cho tôi vấn đề này với, cụ thể như sau:
Dọc theo cột A bao gồm các ô chứa số chết, số công thức, ký tự chết, ký tự công thức.
- Chọn (Bôi đen) các ô chứa số chết, tôi dùng Code:
PHP:
[A:A].SpecialCells(xlCellTypeConstants, 1).Select
- Chọn (Bôi đen) các ô chứa số công thức, tôi dùng Code:
PHP:
[A:A].SpecialCells(xlCellTypeFormulas, 1).Select
- Chọn (Bôi đen) các ô chứa ký tự chết, tôi dùng Code:
PHP:
[A:A].SpecialCells(xlCellTypeConstants, 2).Select
- Chọn (Bôi đen) các ô chứa ký tự công thức, tôi dùng Code:
PHP:
[A:A].SpecialCells(xlCellTypeFormulas, 2).Select
=> Vấn đề được đặt ra ở đây là:
- Vấn đề 1: Có Code nào chọn (Bôi đen) đồng thời các ô trên cột A chứa số chết và các ô chứa số công thức?
- Vấn đề 2: Có Code nào chọn (Bôi đen) đồng thời các ô trên cột A chứa ký tự chết và các ô chứa ký tự công thức?
- Vấn đề 3: Có Code nào chọn (Bôi đen) đồng thời các ô trên cột A chứa số chết, các ô chứa số công thức, các ô chứa ký tự chết và các ô chứa ký tự công thức?
Mong các bạn GPE chỉ giáo!
Trân trọng cảm ơn!
P/s: Có 01 File đính kèm.
 

File đính kèm

Xin chào các bạn GPE!
Nhờ các bạn giúp đỡ cho tôi vấn đề này với, cụ thể như sau:
Dọc theo cột A bao gồm các ô chứa số chết, số công thức, ký tự chết, ký tự công thức.
- Chọn (Bôi đen) các ô chứa số chết, tôi dùng Code:
PHP:
[A:A].SpecialCells(xlCellTypeConstants, 1).Select
- Chọn (Bôi đen) các ô chứa số công thức, tôi dùng Code:
PHP:
[A:A].SpecialCells(xlCellTypeFormulas, 1).Select
- Chọn (Bôi đen) các ô chứa ký tự chết, tôi dùng Code:
PHP:
[A:A].SpecialCells(xlCellTypeConstants, 2).Select
- Chọn (Bôi đen) các ô chứa ký tự công thức, tôi dùng Code:
PHP:
[A:A].SpecialCells(xlCellTypeFormulas, 2).Select
=> Vấn đề được đặt ra ở đây là:
- Vấn đề 1: Có Code nào chọn (Bôi đen) đồng thời các ô trên cột A chứa số chết và các ô chứa số công thức?
- Vấn đề 2: Có Code nào chọn (Bôi đen) đồng thời các ô trên cột A chứa ký tự chết và các ô chứa ký tự công thức?
- Vấn đề 3: Có Code nào chọn (Bôi đen) đồng thời các ô trên cột A chứa số chết, các ô chứa số công thức, các ô chứa ký tự chết và các ô chứa ký tự công thức?
Mong các bạn GPE chỉ giáo!
Trân trọng cảm ơn!
P/s: Có 01 File đính kèm.
Sử dụng Union để chọn đồng thời nhiều vùng
 
Upvote 0
Sử dụng Union để chọn đồng thời nhiều vùng
Giả sử nếu các ô chỉ có số chết mà không có số công thức và ngược lại thì:
Mã:
Union([A:A].SpecialCells(xlCellTypeFormulas, 1), [A:A].SpecialCells(xlCellTypeConstants, 1)).Select
=> Bị Debug => Trong khi đó tôi vẫn muốn chọn (Bôi đen) các ô chỉ có số chết mặc dù không có số công thức và ngược lại thì làm thế nào ạ (Không lẽ lại tách thành 2 phần Code như #1?)?
 
Upvote 0
Giả sử nếu các ô chỉ có số chết mà không có số công thức và ngược lại thì:
Mã:
Union([A:A].SpecialCells(xlCellTypeFormulas, 1), [A:A].SpecialCells(xlCellTypeConstants, 1)).Select
=> Bị Debug => Trong khi đó tôi vẫn muốn chọn (Bôi đen) các ô chỉ có số chết mặc dù không có số công thức và ngược lại thì làm thế nào ạ (Không lẽ lại tách thành 2 phần Code như #1?)?
Có lẽ phải "vét cạn" hết trường hợp như thế này:
[GPECODE=vb]Sub Test()
Dim Rng1 As Range, Rng2 As Range, Rng As Range
On Error Resume Next
Set Rng1 = [A:A].SpecialCells(xlCellTypeFormulas, 1)
Set Rng2 = [A:A].SpecialCells(xlCellTypeConstants, 1)
If Not (Rng1 Is Nothing Or Rng2 Is Nothing) Then 'Ca 2 vung deu ton tai
Set Rng = Union(Rng1, Rng2)
ElseIf Not Rng1 Is Nothing Then 'Chi co Rng1 ton tai
Set Rng = Rng1
ElseIf Not Rng2 Is Nothing Then 'Chi co Rng2 ton tai
Set Rng = Rng2
End If
If Not Rng Is Nothing Then Rng.Select
End Sub[/GPECODE]
 
Upvote 0
Có lẽ phải "vét cạn" hết trường hợp như thế này:
[GPECODE=vb]Sub Test()
Dim Rng1 As Range, Rng2 As Range, Rng As Range
On Error Resume Next
Set Rng1 = [A:A].SpecialCells(xlCellTypeFormulas, 1)
Set Rng2 = [A:A].SpecialCells(xlCellTypeConstants, 1)
If Not (Rng1 Is Nothing Or Rng2 Is Nothing) Then 'Ca 2 vung deu ton tai
Set Rng = Union(Rng1, Rng2)
ElseIf Not Rng1 Is Nothing Then 'Chi co Rng1 ton tai
Set Rng = Rng1
ElseIf Not Rng2 Is Nothing Then 'Chi co Rng2 ton tai
Set Rng = Rng2
End If
If Not Rng Is Nothing Then Rng.Select
End Sub[/GPECODE]
Gọn hơn một chút xíu là thế này:
[GPECODE=vb]Sub Test()
Dim Rng As Range, Rng1 As Range
On Error Resume Next
Set Rng = [A:A].SpecialCells(xlCellTypeFormulas, 1)
Set Rng1 = [A:A].SpecialCells(xlCellTypeConstants, 1)
If Not (Rng Is Nothing Or Rng1 Is Nothing) Then 'Ca 2 vung deu ton tai
Set Rng = Union(Rng, Rng1)
ElseIf Not Rng1 Is Nothing Then 'Chi co Rng1 ton tai
Set Rng = Rng1
End If
If Not Rng Is Nothing Then Rng.Select
End Sub[/GPECODE]
 
Upvote 0

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

Back
Top Bottom