Изменить фон MS Excel 2003

#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
  

Вы можете найти список цветов здесь

http://dmcritchie.mvps.org/excel/colors.htm