Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.09.2011, 11:16   #21
0creator0
Пользователь
 
Регистрация: 13.05.2010
Сообщений: 94
По умолчанию

Все ранво большое спасибо за помощь!!!!!
0creator0 вне форума Ответить с цитированием
Старый 15.09.2011, 11:29   #22
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

Складывает при n=10, 54, 55, дальше не ждал.
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 15.09.2011 в 11:37.
Hugo121 вне форума Ответить с цитированием
Старый 15.09.2011, 11:56   #23
0creator0
Пользователь
 
Регистрация: 13.05.2010
Сообщений: 94
По умолчанию

При увеличении столбцов одинаковые строки у меня он все равно не видит
Делал n=10 , не хочет:
Цитата:
ReDim c(1 To unique.Count, 1 To 10):
Application.ScreenUpdating = False
On Error Resume Next
For n = 1 To unique.Count
For m = 1 To UBound(b)
If InStr(b(m, 3), "l=") > 0 Then
If unique(n) = b(m, 2) & "\" & b(m, 3) Then
c(n, 1) = Trim(Split(b(m, 3), "l=")(0)) & Chr(10) & b(m, 5)
c(n, 2) = b(m, 2)
c(n, 10) = c(n, 10) + (Trim(Split(b(m, 3), "l=")(1)) / 1000) * b(m, 4)
0creator0 вне форума Ответить с цитированием
Старый 15.09.2011, 14:59   #24
0creator0
Пользователь
 
Регистрация: 13.05.2010
Сообщений: 94
По умолчанию

А когда я добавил c(n, 1) он начинает складывать. Только правда вместе с текстом.
Цитата:
If unique(n) = b(m, 2) & "\" & b(m, 3) Then
c(n, 1) = c(n, 1) + Trim(Split(b(m, 3), "l=")(0)) & Chr(10) & b(m, 5)
c(n, 2) = b(m, 2)
c(n, 4) = c(n, 4) + b(m, 4) * (Trim(Split(b(m, 3), "l=")(1)) / 1000)
c(n, 5) = ""
c(n, 6) = ""
0creator0 вне форума Ответить с цитированием
Старый 15.09.2011, 15:56   #25
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

Вот тут:
c(n, 1) = c(n, 1) + Trim(Split(b(m, 3), "l=")(0)) & Chr(10) & b(m, 5)
справа явно ерунда - число с переносом строки внутри?
Да и в число бы неплохо явно перевести слагаемые, чтоб небыло сюрпризов.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 15.09.2011, 16:27   #26
0creator0
Пользователь
 
Регистрация: 13.05.2010
Сообщений: 94
По умолчанию

Да это я просто, привожу пример, знаю, что ерунда ищу способ понять, почему он у меня не хочет складывать, уже все перебрал ничего не помогает, вроде строчки одинаковые, а цифры почему то складывать не хочет.
0creator0 вне форума Ответить с цитированием
Старый 15.09.2011, 17:01   #27
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

Вы пошагово смотрите, что там в этот момент происходит.
Может быть вообще дело до сложения не доходит, а может быть в конце затирается...
Поставьте красную точку на этом месте и бдите, или в debug.print выводите промежуточные значения.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 16.09.2011, 15:59   #28
0creator0
Пользователь
 
Регистрация: 13.05.2010
Сообщений: 94
По умолчанию

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

Последний раз редактировалось 0creator0; 16.09.2011 в 20:45.
0creator0 вне форума Ответить с цитированием
Старый 16.09.2011, 16:23   #29
0creator0
Пользователь
 
Регистрация: 13.05.2010
Сообщений: 94
По умолчанию

Теперь он считает сумму, но почему-то записывает ниже, а не в строчку с одинаковыми значениями, для которых он считал.9 (Лист Суммы)

Последний раз редактировалось 0creator0; 16.09.2011 в 20:45.
0creator0 вне форума Ответить с цитированием
Старый 16.09.2011, 16:35   #30
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

Вообще-то удалять строки/столбцы нужно обратным циклом - данные ведь сдвигаются, и если Вы удалили строку к примеру №2, то следующую будете проверять №4 - т.к. №3 уже уедет наверх. Может поэтому и ошибки, не вникал.

Ну да - у Вас в примере g доходит до 4, хотя строк осталось 2.
Удаляйте
For g = UBound(c) To 1 Step -1
и наладится вероятно - только ещё условия проверки скорректируйте.
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 16.09.2011 в 16:39.
Hugo121 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Аналог Split в Delphi? apromix Помощь студентам 6 21.09.2010 22:17
Split Text ZuBy Общие вопросы Delphi 6 27.06.2010 01:47
Split(); Alex_sim Общие вопросы .NET 2 08.05.2010 20:03
Расширенная версия функции Split Aent Microsoft Office Excel 0 07.05.2010 01:40