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 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.Thay đổi màu nền ô với nội thất.colorindex
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ự].