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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.02.2010, 04:12   #1
segail
Форумчанин
 
Регистрация: 13.06.2009
Сообщений: 691
По умолчанию Диапазон ячеек равен 0

Здравствуйте.
Подскажите, как диапазон ячеек приравнять 0
Код:
Private Sub UserForm_Initialize()
	[Отчет!$U$41;Отчет!$U$78;Отчет!$U$115;Отчет!$U$152;Отчет!$U$189;Отчет!$U$226;Отчет!$U$263;Отчет!$U$300;Отчет!$U$337;Отчет!$U$374;Отчет!$U$411;Отчет!$U$448]=0
End Sub
segail вне форума Ответить с цитированием
Старый 13.02.2010, 05:10   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Замените ; на ,

[Отчет!$U$41,Отчет!$U$78,Отчет!$U$115] = 0
EducatedFool вне форума Ответить с цитированием
Старый 13.02.2010, 05:18   #3
segail
Форумчанин
 
Регистрация: 13.06.2009
Сообщений: 691
По умолчанию

А произвести удаление найденной строки переменной I столбца 26 удаление 31 ячейки (то есть все)
Код:
Cells(i, 26 & ":" & i + 30).Clear

Последний раз редактировалось segail; 13.02.2010 в 05:25.
segail вне форума Ответить с цитированием
Старый 13.02.2010, 09:12   #4
alex77755
Форумчанин
 
Аватар для alex77755
 
Регистрация: 14.02.2009
Сообщений: 753
По умолчанию

Цитата:
А произвести удаление найденной строки переменной I
вы уверены, что хотите именно этого?

Код:
 Rows(i & ":" & i).Select
 Selection.Delete Shift:=xlUp
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru
alex77755 вне форума Ответить с цитированием
Старый 13.02.2010, 10:12   #5
segail
Форумчанин
 
Регистрация: 13.06.2009
Сообщений: 691
По умолчанию

Цитата:
Сообщение от alex77755 Посмотреть сообщение
вы уверены, что хотите именно этого?

Код:
 Rows(i & ":" & i).Select
 Selection.Delete Shift:=xlUp
Не уверен...
Немного по-другому. Переменная (i) это найденная ячейка, от нее влево на -1 ячейку и вниз на 30 (включая все 30 ячеек с найденной ячейкой, значит 31) удалить.

Так что ли?
Код:
Private Sub ComboBox1_Change()

    
    Dim i As Integer
    
    For i = 1 To 1000
        
        If Cells(i, 27).Text = ComboBox1.Text Then
        Rows(i, -1 & ":" & i + 30).Select
        Selection.Delete Shift:=xlUp
        End If
    Next
End Sub
Тоже не идет...

Последний раз редактировалось segail; 13.02.2010 в 10:23.
segail вне форума Ответить с цитированием
Старый 13.02.2010, 13:49   #6
Dophin
Форумчанин
 
Аватар для Dophin
 
Регистрация: 13.01.2010
Сообщений: 410
По умолчанию

так удалить или очистить? это две большие разницы

для очистить (с оффсетом поиграйте как Вам точно надо - не понял) :
Private Sub ComboBox1_Change()


Dim i As Integer

For i = 1 To 1000

If Cells(i, 27).Text = ComboBox1.Text Then
range(cells(i,27).offset(0,-1),cells(i,27).offset(30,-1)).clear
End If
Next
End Sub

Последний раз редактировалось Dophin; 13.02.2010 в 14:01.
Dophin вне форума Ответить с цитированием
Старый 13.02.2010, 15:04   #7
segail
Форумчанин
 
Регистрация: 13.06.2009
Сообщений: 691
По умолчанию

Clear нормально

А как проверить диапазон от минус 27 тридцать одну ячейку и если найдено значение больше “” то удалить данное значение (то есть удалять не полностью а выборочно).
Код:
If Cells(i, 27).Offset(, -1).Resize(31).Value>”” Then Cells(i, 27).Offset(, -1).Resize(31).Clear
код конечно не правильный.
segail вне форума Ответить с цитированием
Старый 13.02.2010, 16:33   #8
Dophin
Форумчанин
 
Аватар для Dophin
 
Регистрация: 13.01.2010
Сообщений: 410
По умолчанию

так же циклом по каждой ячейке диапазона

Private Sub ComboBox1_Change()
Dim i As Integer
Dim cell As Range
For i = 1 To 1000
If Cells(i, 27).Text = ComboBox1.Text Then
For Each cell In Range(Cells(i, 27).Offset(0, -1), Cells(i, 27).Offset(30, -1))
If cell > "" Then cell.Clear
Next cell
End If
Next i
End Sub

Последний раз редактировалось Dophin; 13.02.2010 в 16:35.
Dophin вне форума Ответить с цитированием
Старый 14.02.2010, 18:45   #9
segail
Форумчанин
 
Регистрация: 13.06.2009
Сообщений: 691
По умолчанию

Здравствуйте, как произвести поиск ячейки, без переменной, по совпадению текстов от строки 2 до строки 444 столбца 27
If .Cells(2+444,27).Text =.Range("AA1").Text

Последний раз редактировалось segail; 14.02.2010 в 19:21.
segail вне форума Ответить с цитированием
Старый 14.02.2010, 19:32   #10
Dophin
Форумчанин
 
Аватар для Dophin
 
Регистрация: 13.01.2010
Сообщений: 410
По умолчанию

что значит без переменной? поиск это метод Find
Dophin вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как объявить диапазон ячеек при известных границах motorway Microsoft Office Excel 9 29.11.2009 03:08
Бейсик. Как передать в формулу диапазон ячеек? Наталья Ивановна Помощь студентам 2 02.06.2009 23:36
Добавление данных в диапазон ячеек denneo Microsoft Office Excel 1 08.02.2009 09:05
Как написать в коде чтобы диапазон А копировался как значение в диапазон В. Dorvir Microsoft Office Excel 12 23.05.2008 22:11
Создать массив только из тех элементов, у которых остаток от деления на М равен L (0<=L<=M-1) Айвенго Microsoft Office Excel 2 12.01.2008 16:28