Cách xác định địa chỉ ô excel trong mảng - VBA???

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

Quy Vu

Thành viên chính thức
Tham gia
4/8/17
Bài viết
65
Được thích
4
Giới tính
Nam
Xin chào các anh chị!
Em có môt bài toán như sau mà không biết giải như nào, rất mong được anh chị giải đáp
Cho một file như hình, tô màu theo điều kiện sau
Nếu giá trị ô là "Cretaceous" thì tô màu đỏ (dùng thuộc tính Interior.Color, RGB(200,100,100)) tô cả dòng
Nếu giá trị ô là "Jurassic " thì tô màu xanh (dùng thuộc tính Interior.Color , RGB(100,200,100)) tô cả dòng
Nếu giá trị ô là "Triassic" thì tô màu xanh nước biển (dùng thuộc tính Interior.Color, RGB(100,100,200)) tô cả dòng
1545879000955.png
Em viết code như này nhưng mà chắc chắn sai mất r, huhu
Mã:
Sub baitap15()

Dim arr
Dim a As Long, i As Long
arr = Range("A1", Range("A1").End(xlDown)).Value
a = UBound(arr)
For i = 1 To a
If arr(i, 1) = "Cretaceous" Then
arr(i, 1).Interior.Color = RGB(200, 100, 100)
End If
If arr(i, 1) = "Jurassic" Then
arr(i, 1).Interior.Color = RGB(100, 200, 100)
End If
If arr(i, 1) = "Triassic" Then
arr(i, 1).Interior.Color = RGB(100, 100, 200)
End If
Next i
End Sub
 

File đính kèm

Xin chào các anh chị!
Em có môt bài toán như sau mà không biết giải như nào, rất mong được anh chị giải đáp
Cho một file như hình, tô màu theo điều kiện sau
Nếu giá trị ô là "Cretaceous" thì tô màu đỏ (dùng thuộc tính Interior.Color, RGB(200,100,100)) tô cả dòng
Nếu giá trị ô là "Jurassic " thì tô màu xanh (dùng thuộc tính Interior.Color , RGB(100,200,100)) tô cả dòng
Nếu giá trị ô là "Triassic" thì tô màu xanh nước biển (dùng thuộc tính Interior.Color, RGB(100,100,200)) tô cả dòng
View attachment 210047
Em viết code như này nhưng mà chắc chắn sai mất r, huhu
Mã:
Sub baitap15()

Dim arr
Dim a As Long, i As Long
arr = Range("A1", Range("A1").End(xlDown)).Value
a = UBound(arr)
For i = 1 To a
If arr(i, 1) = "Cretaceous" Then
arr(i, 1).Interior.Color = RGB(200, 100, 100)
End If
If arr(i, 1) = "Jurassic" Then
arr(i, 1).Interior.Color = RGB(100, 200, 100)
End If
If arr(i, 1) = "Triassic" Then
arr(i, 1).Interior.Color = RGB(100, 100, 200)
End If
Next i
End Sub
Tô màu thì bạn duyệt luôn trên cells.Không cần cho vào mảng nhé.Duyệt luộn các dòng của cells đó.
 
Lần chỉnh sửa cuối:
Upvote 0
Thứ nhất, không viết tắt. Giải thích vấn đề thì phải rõ rệt, viết tắt bắt người ta đoán mò à?
Thứ hai, không hu hu hi hi. Giải quyết vấn đề thì đầu óc phải bình tĩnh. Người động một tí đã khóc nhè thì mười việc hỏng hết chín.

Tụ sửa sang, xem xét lại thì sẽ thấy vấn đề của mình nó sáng tỏ được phân nửa.
 
Upvote 0
Web KT

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

Back
Top Bottom