VBA/Excel IfThenElseIfElse проблем с копиране на колона

Добре, разбрах изявлението, работи точно както трябва. Когато го стартирам, той почти търси Interior.Color и ако съвпада, ми дава текстовата стойност на споменатия цвят на клетката. Как да копирам и поставя този оператор If в цялата колона, стига да има данни?

Не знам версията на VBA за това. Така че VBA кодът, който имам, изглежда така:

If Range("F2").Interior.Color = 255 Then
Range("AE2") = "Red"
ElseIf Range("F2").Interior.Color = 65252 Then
Range("AE2") = "Green"
Else
Range("AE2") = "New"
End If

Искам целият този израз да бъде копиран в колона AE, докато няма данни в колона F (Копиране/Поставяне), но той се променя съответно и следва клетките надолу.

Дано имам смисъл.

Благодаря ти


person user4223089    schedule 22.07.2016    source източник


Отговори (1)


тъй като не споменахте коя колона съдържа данни, предположих, че е Колона F, можете лесно да промените кода според вашите нужди.

Превключих и твоя IFs на Select Case, ако в бъдеще ще имаш повече условия за тестване.

' assuming your column that has data is Column F >> modify it according to your needed column
lastRow = Cells(Rows.count, "F").End(xlUp).row

For lRow = 2 To lastRow
    Select Case Range("F" & lRow).Interior.Color
        Case 255
            Range("AE" & lRow) = "Red"

        Case 65252
            Range("AE" & lRow) = "Red"

        Case Else
            Range("AE" & lRow) = "New"

    End Select
Next lRow
person Shai Rado    schedule 22.07.2016
comment
Колона F съдържа цветните клетки, а колона AE има резултата. И така, всичко, което искам по същество е excel да ми каже цвета на клетката. това помага ли - person user4223089; 22.07.2016
comment
@user4223089 не точно, колона F също има ли текст вътре? ако не, коя колона от целия ви диапазон съдържа данни? една от колоните от F до AE съдържа ли свързани данни? - person Shai Rado; 22.07.2016
comment
И така, колона F има данни и цвят на запълване (червен, жълт или зелен). Моят IF Statment от по-горе ми казва точно дали е някой от тези цветни кодове, ако не, тогава пише Нов. Така че всичко работи чудесно, просто трябва да го копирам и поставя в цялата колона, която е колона AE. - person user4223089; 22.07.2016
comment
@user4223089 Добре тогава. така че кодът ми в отговора пасва, тествахте ли го? - person Shai Rado; 22.07.2016
comment
Току-що тествано отново и работи! откъде, по дяволите, знаеш тези неща? Честно казано съм много разочарован, че изглежда не мога да получа това VBA нещо. Аз съм абсолютно влюбен в него, но просто не мога да го обгърна. Никога дори не съм чувал за Case или Select във VBA, звучи почти като SQL, но ще разгледам кода и ще направя малко проучване и за двете, за да го разбера. Благодаря ви много за помощта! - person user4223089; 22.07.2016
comment
@user4223089 има нова секция с бета документация в сайта на SO, разгледайте я за някои хубави трикове. С времето ще се актуализира с повече неща - person Shai Rado; 22.07.2016