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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.05.2009, 12:44   #1
plyacek
 
Регистрация: 25.05.2009
Сообщений: 5
По умолчанию Проблемы с ветвлением

Здравствуйте, уважаемые форумчане. Возникла небольшая проблема при построении ветвления. Допустим есть Столбец О в котором могут быть занесены определенные строковые данные (например, перечислены названия компаний ) а также строки могут оказаться пустыми. Написанный ниже код определяет начальный и конечный номер строки для одинаковых компаний. Но появляются проблемы-
1. если есть разрывы пустыми строками
2. если одноименные названия компаний идут не подряд
например
ТОВ1
ТОВ1
ТОВ2
ТОВ1

Код:
1.    For i = 3 To 200
2.    If Range("O" & i).value = Empty And postavshik = Empty Then GoTo 1
    
3.    If Range("O" & i).value <> Empty And postavshik = Empty Then
4.        postavshik = Range("O" & i).value
5.        N = i 'регистрация начального номера
6.        GoTo 1
7.    End If

8.    If Range("O" & i).value = postavshik Then GoTo 1
  

9.    If Range("O" & i).value <> postavshik Then 
10.   K = i
       ...
n-2.  End If
n-1.  1
n.     Next i

Последний раз редактировалось plyacek; 25.05.2009 в 14:46.
plyacek вне форума Ответить с цитированием
Старый 25.05.2009, 16:15   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

Цитата:
Но появляются проблемы
... если одноименные названия компаний идут не подряд
Не понимаю... зачем Вам в этом случае начальный и конечный номер строки для одинаковых компаний?
Ладно бы, они шли подряд - другое дело, по номерам строк можно было бы как-то обработать данные.

Объясните, чего Вы пытаетесь добиться этим кодом, и мы попробуем посоветовать Вам оптимальное решение.
Не помешает и пример файла для наглядности.

И зачем использовать макросы?
Как мне кажется, большую часть Вашей задачи можно реализовать при помощи формул.
EducatedFool вне форума Ответить с цитированием
Старый 25.05.2009, 17:21   #3
plyacek
 
Регистрация: 25.05.2009
Сообщений: 5
По умолчанию

Честно говоря, сейчас я понял, что не совсем в том направлении двигался . Требуется только лишь определить в стобце последний заполненый номер строки, причем возможное содержимое строки известно. Подскажите, пожалуйста, как это можно осуществить. Например ищу в столбце A значение X - нужно поеределить последнюю строку с этим значением

Последний раз редактировалось plyacek; 25.05.2009 в 17:37.
plyacek вне форума Ответить с цитированием
Старый 26.05.2009, 04:24   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

Код:
Sub test()
    ' номер строки, в которой ПОСЛЕДНИЙ раз встречается текст "123"
    MsgBox Range("a:a").Find("123", , , , , xlPrevious).Row

    ' номер строки, в которой ПЕРВЫЙ раз встречается текст "123"
    MsgBox Range("a:a").Find("123").Row

    ' номер последней заполненной строки в столбце А
    MsgBox Range("a" & Rows.Count).End(xlUp).Row

    ' значение последней заполненной строки в столбце А
    MsgBox Range("a" & Rows.Count).End(xlUp)

    ' количество значений "123" в выбранном столбце
    MsgBox WorksheetFunction.CountIf(Range("a:a"), "123")
End Sub
В этом примере можно заменить Range("a:a") на columns("A") или columns(1)
EducatedFool вне форума Ответить с цитированием
Старый 27.05.2009, 16:24   #5
plyacek
 
Регистрация: 25.05.2009
Сообщений: 5
По умолчанию

2EducatedFool
Огромное спасибо! вы привели очень ценные методы объектов
plyacek вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблемы с почтой joojle Софт 2 21.05.2009 06:57
проблемы с IE xakzona Помощь студентам 1 16.12.2008 21:53
ПРоблемы с графикой HELP!!! ANARHIST Помощь студентам 2 03.07.2008 09:04
проблемы отображения Karl_Karlovi4 Общие вопросы Delphi 12 31.12.2007 09:21
проблемы со скринсейвером joker Общие вопросы Delphi 1 23.10.2007 14:18