![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 24.02.2010
Сообщений: 25
|
![]()
Народ, посмотрите, плз, что у меня с синтаксисом. Я не сильна в vba
Нужно сделать такую вещь: 1) На стр EI столбец B- необходимо перемещаться по столбцу вниз до последнего значения и при этом проверять, сколько раз каждое значение из этого столбца встречается в столбце A на стр DPS. 2) В случае, когда искомое значение наконец-то попадается в столбце A стр DPS, необходимо проверять, соответствует ли месяц (указан в соотв. ячейке справа от [j,A] стр DPS) месяцу, заданному из текстбокса. 3) Если месяц соответствует, то значение счетчика нужно записать в ячейку quantity напроотив соответствующего Enditem нехитрая задача на перебор массива. На паскале я такое запросто напишу, а вот с vba хуже. С вложениеями что-то странно происходит, напишите адрес-я скину файл, если нужно. Пример кода: PHP код:
|
![]() |
![]() |
![]() |
#2 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
![]()
Cells(i, B) - не вижу чтобы В было присвоено какое-то значение. В = 0 - тут будет ошибка.
Cells(i, B) - это ячейка из i-го ряда, в колонке B. здесь В это не имя колонки, а ее номер, такой же как и номер ряда т.е.число. номера колонок начинаются с 1, а не с 0. Вам подойдет Cells(i, 2) или Range("B" & i) это несколько раз есть в коде. исправляйте. чем реже в коде будет встречаться Activate - тем быстрее будет работать Ваш макрос.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,170
|
![]()
Может кавычки забылись?
Код:
webmoney: E265281470651 Z422237915069 R418926282008
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 24.02.2010
Сообщений: 25
|
![]()
Спасибо, IgorGo
PHP код:
|
![]() |
![]() |
![]() |
#5 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
![]()
может со второй строки? в первой не шапка случайно?
for j = 2 to cells(2,1).end(xldown).row я обычно вместо j R пишу, тогда cells(r,c) - понятно к кому я обращаюсь
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
![]() |
![]() |
![]() |
#6 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
![]()
не знаю какой лист активен в момент старта макроса поэтому 1 Activate оставил в коде
Код:
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 24.02.2010
Сообщений: 25
|
![]()
Private Sub CommandButton1_Click()
Dim i, j, curmonth, S, compmonth As Integer Dim compei As String TextBox1.Value = curmonth Worksheets("EI").Activate With Sheets("DPS") For i = 2 To 38 compei = Cells(i, 2).Value S = 0 Worksheets("DPS").Activate For j = 2 To .Cells(2, 1).End(xlDown).Row If .Cells(j, 1).Value = compei Then .Cells(j, 1).Offset(0, 2).Value = compmonth If curmonth = compmonth Then S = S + 1 End If Cells(i, 2).Offset(0, 1).Value = S End If Next j Next i End With End Sub Пример, как выглядят страницы: т.о. каждую ячейку из столбца Enditem стр EI нужно проверить на наличие в столбце Enditem в стр DPS, затем проверить соответствует ли значение в столбце month той же строки , что и проверенный enditem DPS , значение, вееденному вручную в текстбокс. Если да , то записываем знаение счетчика Quantity напротив проверяемого Enditem в листе EI Пример страницы EI Model Enditem Quantity L42F BLJULHWJ32EQAB-AF- L42F BLJULHWJ32EQAB-AG- L42F BLJULHWJ32EQAB---- L42F BDBWLGWJ32EQAA--F- L42F BLGULGWJ32EQAA--F- L42F BDBWLGWJ32EQAA--G- L42F BLGULGWJ32EQAA--G- L42F BDBWLGWJ32EQA----- L42F BLGULGWJ32EQA----- L42F BDBWLEWJ32EQA----- L42F BLGULEWJ32EQA----- Пример стр DPS End Item Actual: Offline Month TDRNLFZT31EQA2-KDB 09.08.10 15:23 8 TDRNLFZT31EQA2-KDB 09.08.10 15:42 8 TDRNLFZT31EQA2-KDB 09.08.10 15:38 8 TDRNLFZT31EQA2-KDB 09.08.10 14:27 8 TDRNLFZT31EQA2-KDB 09.08.10 14:31 8 TDRNLFZT31EQA2-KDB 09.08.10 14:41 8 TDRNLFZT31EQA2-KDB 09.08.10 14:52 8 TDRNLFZT31EQA2-KDB 09.08.10 14:33 8 TDRNLFZT31EQA2-KDB 09.08.10 15:31 8 TDRNLFZT31EQA2-KDB 09.08.10 15:00 8 TDRNLFZT31EQA2-KDB 09.08.10 15:19 8 TDRNLFZT31EQA2-KDB 09.08.10 15:46 8 TDBNLJWT31EQA2DKDA 09.08.10 17:02 8 TDBNLJWT31EQA2DKDA 09.08.10 17:06 8 TDBNLJWT31EQA2DKDA 09.08.10 16:21 8 TDBNLJWT31EQA2DKDA 09.08.10 16:44 8 TDBNLJWT31EQA2DKDA 09.08.10 16:28 8 |
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 24.02.2010
Сообщений: 25
|
![]() Код:
|
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 24.02.2010
Сообщений: 25
|
![]() PHP код:
Но почему тогда вот здесь он все проглатывает и никаких ошибок не выдает PHP код:
TDRNLFZT31EQA2-KDB BLJULHWJ32EQAB-AG- и так TDRNLFZT31EQA2-KDB TDRNLFZT31EQA2-KDB TDRNLFZT31EQA2-KDB TDRNLFZT31EQA2-KDB тип данных стоит текст в файле, в коде- string |
![]() |
![]() |
![]() |
#10 | |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,170
|
![]() Цитата:
Чему равно j? Не 0?
webmoney: E265281470651 Z422237915069 R418926282008
|
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
сравнение столбцов в Excel и подстановка значений | Oleg77 | Помощь студентам | 2 | 06.02.2010 03:09 |
Сравнение листов в книге, и копирование значений | Josser | Microsoft Office Excel | 10 | 22.07.2009 08:26 |
Сравнение значений с сортировкой | Al_B | Microsoft Office Excel | 2 | 27.03.2009 20:41 |
Сравнение значений в ячейках и выдача результата в различиях | tovruslan | Microsoft Office Excel | 1 | 02.12.2008 22:25 |