Hướng dẫn how to change cell color in excel using vbscript - cách thay đổi màu ô trong excel bằng vbscript

Tôi có một VB chuyển đổi CSV của tôi thành Excel. Bây giờ CSV của tôi có một số nhân vật như "!" Tôi muốn tô màu màu vàng trên những ô có ký tự đó sau khi chuyển đổi thành Excel.

Mẫu.csv:

 Name,Location,Phone,Comment1,Comment2
 "ABC","Pune",123,"Expert Value","! Easy"
 "XYZ","Kol",567,"! Expert value",Easy"

Yêu cầu: Sau khi chuyển đổi thành Excel, tôi cần tế bào E2 và D3 nên có màu vàng

Myscript.vbs: cần hai đối số để thực thi

cscript C:\Test\MyScript.vbs \\C:\Test\Sample.CSV \\C:\Test\Sample.xlsx

Đây là kịch bản gốc

'======================================
' Convert CSV to XLS
'
' arg1: source - CSV path\file
' arg2: target - Excel path\file
'======================================

srccsvfile = Wscript.Arguments[0]  
tgtxlsfile = Wscript.Arguments[1]  

'Create Spreadsheet
'Look for an existing Excel instance.
On Error Resume Next ' Turn on the error handling flag
Set objExcel = GetObject[,"Excel.Application"]
'If not found, create a new instance.
If Err.Number = 429 Then  '> 0
  Set objExcel = CreateObject["Excel.Application"]
End If

objExcel.Visible = false
objExcel.displayalerts=false

'Import CSV into Spreadsheet
Set objWorkbook = objExcel.Workbooks.open[srccsvfile]
Set objWorksheet1 = objWorkbook.Worksheets[1]

'Adjust width of columns
Set objRange = objWorksheet1.UsedRange
objRange.EntireColumn.Autofit[]
'This code could be used to AutoFit a select number of  columns
'For intColumns = 1 To 17
'    objExcel.Columns[intColumns].AutoFit[]
'Next

'Make Headings Bold
objExcel.Rows[1].Font.Bold = TRUE

'Freeze header row
With objExcel.ActiveWindow
     .SplitColumn = 0
     .SplitRow = 1
End With
objExcel.ActiveWindow.FreezePanes = True

'Add Data Filters to Heading Row
objExcel.Rows[1].AutoFilter

'set header row gray
objExcel.Rows[1].Interior.ColorIndex = 15
'-0.249977111117893


'Save Spreadsheet, 51 = Excel 2007-2010 
objWorksheet1.SaveAs tgtxlsfile, 51

'Release Lock on Spreadsheet
objExcel.Quit[]
Set objWorksheet1 = Nothing
Set objWorkbook = Nothing
Set ObjExcel = Nothing

Quay trở lại ví dụ về mã VBA

Hướng dẫn này sẽ trình bày cách thay đổi màu nền tế bào bằng VBA.

Thay đổi màu nền ô với nội thất.colorindex

Để thay đổi màu nền tế bào bằng VBA, bạn có thể sử dụng thuộc tính bên trong.ColorIndex. Ở đây, một vài cách để thay đổi màu nền của ô A1.

Một ví dụ sử dụng phương thức phạm vi []:

Range["A1"].Interior.ColorIndex = 5

Một ví dụ sử dụng phương thức CELL []:

Cells[1, 1].Interior.ColorIndex = 15

Cần một cách dễ dàng để xác định số nào bằng màu gì? Kiểm tra tham chiếu màu cho ColorIndex.

Mã hóa VBA được thực hiện dễ dàng

Ngừng tìm kiếm mã VBA trực tuyến. Tìm hiểu thêm về Automacro-Trình tạo mã VBA cho phép người mới bắt đầu mã hóa các quy trình từ đầu với kiến ​​thức mã hóa tối thiểu và với nhiều tính năng tiết kiệm thời gian cho tất cả người dùng!

Tìm hiểu thêm!

Thay đổi màu nền trong Excel VBA rất dễ dàng. Sử dụng thuộc tính bên trong để trả về một đối tượng nội thất. Sau đó sử dụng thuộc tính ColorIndex của đối tượng bên trong để đặt màu nền của ô.background colors in Excel VBA is easy. Use the Interior property to return an Interior object. Then use the ColorIndex property of the Interior object to set the background color of a cell.

Đặt ba nút lệnh trên bảng tính của bạn và thêm các dòng mã sau:

1. Dòng mã bên dưới đặt màu nền của ô A1 thành màu xanh nhạt.

Phạm vi ["A1"]. Nội thất.colorindex = 37

Result:

2. Dòng mã sau đây đặt màu nền của ô A1 thành 'Không điền'.

Phạm vi ["A1"]. Nội thất.colorindex = 0

Result:

3. Nếu bạn muốn biết số màu của một màu, chỉ cần hỏi Excel VBA.

MSGBOX Lựa chọn.Interior.ColorIndex

Chọn ô A1 và nhấp vào nút Lệnh trên trang tính:

Result:

4. Thuộc tính ColorIndex cho phép truy cập vào bảng màu gồm 56 màu.

Lưu ý: Tải xuống tệp Excel để xem cách chúng tôi tạo bảng màu này.

5. Nếu bạn không thể tìm thấy màu cụ thể mà bạn đang tìm kiếm, hãy sử dụng thuộc tính màu và chức năng RGB.

Phạm vi ["A1"]. Nội thất.Color = RGB [255, 0, 0]

Giải thích: RGB là viết tắt của màu đỏ, xanh lá cây và xanh dương. Đây là ba màu chính. Mỗi thành phần có thể mang một giá trị từ 0 đến 255. Với chức năng này, bạn có thể tạo mọi màu sắc. RGB [255,0,0] cho màu đỏ nguyên chất [ColorIndex = 3 tạo ra kết quả chính xác tương tự].

Làm cách nào để thay đổi màu của một ô trong Excel bằng VBA?

Thay đổi màu nền trong Excel VBA rất dễ dàng. Sử dụng thuộc tính bên trong để trả về một đối tượng bên trong. Sau đó sử dụng thuộc tính ColorIndex của đối tượng bên trong để đặt màu nền của ô.Use the Interior property to return an Interior object. Then use the ColorIndex property of the Interior object to set the background color of a cell.

Làm cách nào để thay đổi màu tế bào dựa trên giá trị trong Excel VBA?

Bước #2: Thay đổi màu bên trong ô dựa trên giá trị với ô ...
Nhấn vào mục phát triển trong dải băng ..
Nhấn Visual Basic hoặc Alt+F11 để mở trình chỉnh sửa VBA nhà phát triển của bạn ..
Tiếp theo làm nổi bật bảng tính mà bạn muốn chạy mã của mình.....
Đi trước và dán mã này ..

Làm cách nào để thay đổi màu của một ô trong một macro?

Instructions:..
Mở sổ làm việc excel ..
Nhấn Alt+F11 để mở Trình chỉnh sửa VBA ..
Chèn một mô -đun mới từ menu chèn ..
Sao chép mã trên và dán vào cửa sổ mã ..
Lưu tệp dưới dạng sổ làm việc được bật macro ..
Nhấn F5 để thực hiện thủ tục ..
Bạn có thể thấy các màu bên trong đang thay đổi theo mã của chúng tôi ..

Làm cách nào để thay đổi màu của một ô trong excel dựa trên giá trị ô?

Trên tab Home, trong nhóm Style, nhấp vào mũi tên bên cạnh định dạng có điều kiện, sau đó nhấp vào các quy tắc ô tô.Chọn lệnh bạn muốn, chẳng hạn như giữa, bằng văn bản chứa hoặc ngày xảy ra.Nhập các giá trị bạn muốn sử dụng, sau đó chọn một định dạng.

Bài Viết Liên Quan

Chủ Đề