Вижу, что нет решения... Как вариант можно написать алгоритм для каждого из 8 возможных значений каждой из 300 ячеек столбца, но это страшно громоздко. А если реализовать это через вот такую схему
Код
n=300
a = range("L2:L300")
for i = 1 to n
If Cells(a, 12) = 4 Then cells.activate and ActiveCell = "x" & ActiveCell and Application.Run "w4bana"
next i
[CODE][/CODE]То есть после того как нужная ячейка найдена, к ее значению "4" добавляется метка "х", запускается макрос, после чего происходит поиск следующего значения "4" и так до конца? А потом, когда все необходимые действия со столбцом L завершатся, можно легко "х" поудалять.
Нужно так, чтобы было коротко и быстро Даже можно без ожидания события, а просто вручную запускать макрос, если такой вариант самый быстрый! Или даже с использованием Calculate. В столбце L одновременно могут появиться до 10 одинаковых значений, и каждое должно быть обработано по одному алгоритму последовательно. Или не последовательно. Но только каждое.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Test As Range
Dim cl_Target As Range
Set Test = Intersect(Target, UsedRange)
If Test Is Nothing Then Exit Sub
For Each cl_Target In Test
Select Case cl_Target.Address(0, 0)
Case "L2:L300"
If cl_Target.Value = 4 Then Call w4bana
Case "L2:L300"
If cl_Target.Value = 5 Then Call w5bana
Oldvalue = Target
End Select
Next
End Sub
Доброе утро! Помогите, пожалуйста, реализовать вот такое (последовательная обработка тождественных событий столбца "L" лист1)? Эксель13, но можно любой вообще.
Всем привет! Сломал голову в переборе ВПР ПОИСКПОЗ СУММПРОИЗВ(--( и тд , не могу вспомнить как без использования формулы массива сделать следующее : в диапазоне А1:О100 содержатся отображаемые формулами числовые значения; мне нужно в ячейке А101 получить значение ячейки А1 при условии, что значение ячейки А1 в диапазоне А1:О100 повторяется (не важно, сколько раз). Пожалуйста, подскажите!
Спасибо, Karataev и k61! Karataev, сенкс, Ваш вариант как часы
Код
Sub Test()
Dim lngLastRow As Long
On Error Resume Next
lngLastRow = Columns("J").Find(What:="*", LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious, MatchCase:=False, SearchFormat:=False).Row
On Error GoTo 0
Range("A3:J" & lngLastRow).Select
Selection.Copy
End Sub
Доброе утречко! Как можно выделить диапазон от А3 до последнего видимого значения в столбце J? Вариант ниже не работает (выделяет последнее значение и столбца А тоже - может потому что в пустых ячейках J формулы?)
Код
Dim iLastRow As Long
iLastRow = Cells(Rows.Count, "J").End(xlUp).Row
Range("A3:J" & iLastRow).Select