![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 03.10.2011
Сообщений: 4
|
![]()
Добрый день. Прошу помощи, опыта в VB у меня почти нет.
Задача: есть таблица она же принципиальная схема (в приложенном файле все увидите) нужно чтобы программа по определенному столбцу находила значение (скажем в ячейке N45 стоит марка кабеля - ВБбШв), записывала в табличку справа далее туда же записывала сечение кабеля из ячейки R45 и подсчитывала длину кабеля (указанную в яч. Т45) со всего столбца. (Напиример кабель: ВБбШв 4х185 40 , ВБбШв 4х185 90, и ВБбШв 4х1.5 315 - должно выйти ВБбШв 4х185 130 и ВБбШв 4х1.5 315). Проблема еще в том что некоторые ячейки и столбцы объеденены.пример схемы.JPG |
![]() |
![]() |
![]() |
#2 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
![]()
Ответ вам тоже в виде картинки предоставить?
|
![]() |
![]() |
![]() |
#4 |
Регистрация: 03.10.2011
Сообщений: 4
|
![]()
Спасибо за участие! уже сам написал вот прога, если кому понадобится:
Sub Макрос1() ' ' Макрос1 Макрос ' ' Сочетание клавиш: Ctrl+e ' Очистка места для таблицы Cells(3, 112) = 1 ' определение кол-ва занятых столбцов и строк x = 3 While x < x + 1 If Cells(x, 112) = 0 Then x = x: GoTo a1 x = x + 1 Wend a1: y = 112 While y < y + 1 If Cells(3, y) = 0 Then y = y: GoTo a2 y = y + 1 Wend ' очистка места a2: For r = 3 To x For t = 112 To y Cells(r, t).Select Selection.ClearContents Next Next ' Определение колличества позиций кабеля и выбор кабеля по марке i = 13 e = 1 While i < 10000 'If Cells(i, 24) = 0 Then GoTo a5 ' тело программы l = 113 While l < l + 1 If Cells(3, l) = Cells(i, 27) Then GoTo a3 'записывает в яч. 3-113 сечение кабеля If Cells(3, l) = 0 Then Cells(3, l) = Cells(i, 27): GoTo a3 l = l + 1 Wend a3: k = 4 While k < k + 1 If Cells(k, 112) = Cells(i, 24) Then GoTo a4 'записывает в яч. 4-112 марку кабеля If Cells(k, 112) = 0 Then Cells(k, 112) = Cells(i, 24): GoTo a4 k = k + 1 Wend a4: Cells(k, l) = Cells(i, 31) + Cells(k, l) 'записывает в яч. 4-113 длину кабеля ' тело программы If i = 57 Then i = 89 ' If (i - 67) / 82 = e Then i = i + 22: e = e + 1 ' i = i + 4 Wend a5: End Sub |
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Подсчет кол-ва строк в excel | Доктор | Microsoft Office Excel | 6 | 11.12.2010 13:46 |
Сводн. табл. Excel 2007: подсчет уник. записей | ashapenkov | Microsoft Office Excel | 9 | 24.11.2010 17:48 |
excel Определить максимальное и минимальное значение длины слов в таблице | Nibbler | Помощь студентам | 0 | 05.12.2009 22:42 |
Подсчет колонки итого в excel | Hobbit_88 | БД в Delphi | 6 | 26.05.2009 10:07 |
Подсчет количества в Excel срочно!!! | Kunia | Microsoft Office Excel | 5 | 03.02.2009 07:31 |