#c# #excel #excel-2003 #vba
#c# #excel #excel-2003 #vba
Вопрос:
Я программист на c #, и пока это лучший известный мне способ выразить то, что я хотел. Я подумываю о том, чтобы выполнить приведенный ниже код на листе Microsoft Excel 2003. Возможно ли это?
1-й шаг
if(CellA1 == "Sunday" || CellA1== "Saturday"){
// code to set background color of
// CellB1 to CellF1 to background color red
}
2-й шаг
// Execute this process from CellA1 until CellA10
for(CellA1 up to CellA10){
// do first step
}
Итак, код, который я хотел выполнить на MSExcel 2003, выглядел бы следующим образом
for(int CellCount = 1;CellCount<10;CellCount ){
if("CellA" CellCount.ToString() == "Sunday" ||
"CellA" CellCount.ToString() == "Sunday"){
// set ["CellB" CellCount.ToString()].CellBackgroundColor="#FF0000";
// set ["CellC" CellCount.ToString()].CellBackgroundColor="#FF0000";
// set ["CellD" CellCount.ToString()].CellBackgroundColor="#FF0000";
// set ["CellE" CellCount.ToString()].CellBackgroundColor="#FF0000";
// set ["CellF" CellCount.ToString()].CellBackgroundColor="#FF0000";
}
}
Я не уверен, возможно ли это. Или, если есть какие-либо другие способы, эквивалентные тому, что я хотел сделать, не могли бы вы, пожалуйста, помочь мне. 🙂 Спасибо!
Ответ №1:
Если все, что вы хотите сделать, это изменить цвет ячейки на основе ее значения, просто используйте условное форматирование в Excel, никакого программирования не требуется.
Комментарии:
1. Во-вторых, что: office.microsoft.com/en-us/excel-help /…
2. они могут читать, но не иметь контроля над исходным файлом
Ответ №2:
Sub backcolor()
Range("a1:a10").Interior.ColorIndex = xlNone
For Each cell In Range("a1:a10")
If cell.Value = "Sunday" Or cell.Value = "Saturday" Then
cell.Interior.ColorIndex = 3
End If
Next cell
End Sub
Вы можете найти список цветов здесь