Помогите по сравнению таблиц в Exel

Программирование на Visual Basic for Applications
Boombeat
Начинающий
Начинающий
 
Сообщения: 23
Зарегистрирован: 15.01.2005 (Сб) 12:32

Помогите по сравнению таблиц в Exel

Сообщение Boombeat » 17.02.2005 (Чт) 14:54

Есть текст, который сравнивает значения ячеек:

FirstRow1 = 1
LastRow1 = 200
FirstRow2 = 1
LastRow2 = 200

For count1 = FirstRow1 To LastRow1
For count2 = FirstRow2 To LastRow2
If Worksheets("1").Cells(count1, 1).Value = Worksheets("2").Cells(count2, 1).Value And Worksheets("1").Cells(count1, 8) = "ХХХ" Then _
Worksheets("1").Cells(count1, 8) = "YYY"

Next count2
Next count1


Как сделать, чтобы еще учитывалось количество, указанное в столбце 3 обеих таблиц?
Предположим, в таблице 2 есть строка

222 | abc | 3

А в таблице 1 есть строки

222 | abc | 1
222 | abc | 2
222 | abc | 1

Нужно чтобы условие выполнялось до тех пор пока сумма значений столбца 3 таблицы 1 не будет превышать значение столбца 3 таблицы 2, т.е. в данном примере в таблице 1 условие применяется к первым двум строкам, третья пропускается.

Надеюсь понятно изложил.

Костя
Обычный пользователь
Обычный пользователь
 
Сообщения: 93
Зарегистрирован: 14.02.2005 (Пн) 6:45
Откуда: Новосибирск

Сообщение Костя » 17.02.2005 (Чт) 15:40

Просуммировать надо? Ну дык

while a<=b
a = If Worksheets("1").Cells(count1, 3).Value +a
b = If Worksheets("2").Cells(count1, 3).Value +b
count1 = count1+1
wend

Или я задачу не понял?
Всё бывает!

Boombeat
Начинающий
Начинающий
 
Сообщения: 23
Зарегистрирован: 15.01.2005 (Сб) 12:32

Сообщение Boombeat » 17.02.2005 (Чт) 16:19

А как это вставить в уже имеющийся текст?

Костя
Обычный пользователь
Обычный пользователь
 
Сообщения: 93
Зарегистрирован: 14.02.2005 (Пн) 6:45
Откуда: Новосибирск

Сообщение Костя » 18.02.2005 (Пт) 8:50

while a<=b
a = Worksheets("1").Cells(count1, 3).Value +a
b = Worksheets("2").Cells(count1, 3).Value +b
for count2 = firstrow2 to lastrow2
If Worksheets("1").Cells(count1, 1).Value = Worksheets("2").Cells(count2, 1).Value And Worksheets("1").Cells(count1, = "ХХХ" Then _
Worksheets("1").Cells(count1, = "YYY"
next
count1 = count1+1
wend

В результате значение каждой ячейки первой строки первой таблицы будет последовательно сравниваться со значениями первой строки второй таблицы, пока сумма ячеек первой таблицы не станет меньше суммы равного с числом суммируемых в первой таблице ячеек второй таблицы. 8) Это то, что тебе надо?
Всё бывает!


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

    TopList