Очень срочно!!!Примечания... "ЕСЛИ ячейка содержит комм

Программирование на Visual Basic for Applications
sonata
Постоялец
Постоялец
 
Сообщения: 321
Зарегистрирован: 31.07.2002 (Ср) 13:18
Откуда: Russia

Очень срочно!!!Примечания... "ЕСЛИ ячейка содержит комм

Сообщение sonata » 04.07.2003 (Пт) 15:32

Public Sub Comment1()
Код: Выделить всё
For i = 1 To 600
If (Range(A & i).Comments = True) Then
MsgBox (i)
End If
Next i


Эта прога не работает...
Мне очень надо это сделать...
А потом, те строки, столбец А, которых содержит комментарии скопировать на другой лист...

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 04.07.2003 (Пт) 15:38

А если попробовать

Код: Выделить всё
if not range("A1").comment is nothing then ....

sonata
Постоялец
Постоялец
 
Сообщения: 321
Зарегистрирован: 31.07.2002 (Ср) 13:18
Откуда: Russia

Сообщение sonata » 04.07.2003 (Пт) 16:05

А как Range пробежать в цикле???
Очень надо, плиз хелп!!!!

sonata
Постоялец
Постоялец
 
Сообщения: 321
Зарегистрирован: 31.07.2002 (Ср) 13:18
Откуда: Russia

Сообщение sonata » 04.07.2003 (Пт) 16:15

RayShade, спасибо.
А как сделать сопирование данных строк на отд. лист?
Можешь помочь?
Иначе мне придется на работе дневать и ночевать все выходные

Код: Выделить всё
Public Sub Comment()

For i = 1 To 600
If Not Range("D" & i).Comment Is Nothing Then

MsgBox (i)
End If
Next i
End Sub

sonata
Постоялец
Постоялец
 
Сообщения: 321
Зарегистрирован: 31.07.2002 (Ср) 13:18
Откуда: Russia

Сообщение sonata » 04.07.2003 (Пт) 16:26

Происходит цацикливание...

Public Sub Comment()

Код: Выделить всё
For i = 1 To 600
If Not Range("D" & i).Comment Is Nothing Then
    Rows(i).Select
    Selection.Copy
    Sheets("Ë&&&2").Select
    For j = 1 To 300
    Rows(j).Select
    ActiveSheet.Paste
    Next j
'MsgBox (i)
End If
Next i
End Sub

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 04.07.2003 (Пт) 16:31

Код: Выделить всё
Код:
For i = 1 To 600
If if Not Range("D" & i).Comment Is Nothing Then
    Range("D" & i).Copy
    Sheets("Ë&&&2").Range("A" & j).Paste
    j = j + 1
End If
Next i
End Sub

sonata
Постоялец
Постоялец
 
Сообщения: 321
Зарегистрирован: 31.07.2002 (Ср) 13:18
Откуда: Russia

Сообщение sonata » 04.07.2003 (Пт) 16:37

Мне надо копировать строку целиком...Но происходит несоответствие вставки...
Как с этим бороться?

Код: Выделить всё
Public Sub Comment()

For i = 1 To 600
If Not Range("D" & i).Comment Is Nothing Then
    Rows(i).Select
    Selection.Copy
    Sheets("Ë&&&2").Select
    Range("A1").Select
    ActiveCell.SpecialCells(xlLastCell).Select
    ActiveSheet.Paste
   
   
End If
Next i
End Sub

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 04.07.2003 (Пт) 16:44

Тогда так:

Код: Выделить всё
For i = 1 To 600
If if Not Range("D" & i).Comment Is Nothing Then
Range ("A" & i & ":IV" & i).Copy   

    Sheets("Ë&&&2").Range ("A"& j & ":IV" & j).PasteSpecial xlPasteAll
    j = j + 1
End If
Next i
End Sub

sonata
Постоялец
Постоялец
 
Сообщения: 321
Зарегистрирован: 31.07.2002 (Ср) 13:18
Откуда: Russia

Сообщение sonata » 04.07.2003 (Пт) 16:50

Нерабочая строка....
Код: Выделить всё
[b]Sheets("Лист2").Range("A" & j & ":IV" & j).Select
   Rows(j).PasteSpecial xlPasteAll[/b]

Явно чего-то не хватает

skiperski
Идеолог
Идеолог
Аватара пользователя
 
Сообщения: 1386
Зарегистрирован: 25.06.2002 (Вт) 15:52

Сообщение skiperski » 04.07.2003 (Пт) 16:56

А своими мозгами пошевелить?! Ну нельзя же так, в самом-то деле, на каждый чих в форум лезть! Может тогда и зряплату тоже RayShade платить должны?

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 04.07.2003 (Пт) 16:58

Ты код внимательно почитай - в последнем варианте нет такой строки ;)

sonata
Постоялец
Постоялец
 
Сообщения: 321
Зарегистрирован: 31.07.2002 (Ср) 13:18
Откуда: Russia

Сообщение sonata » 04.07.2003 (Пт) 18:24

Ну все равно не работает....
Извини за назойливость, просто очень срочно надо, и не было времени отлаживать код

skiperski
Идеолог
Идеолог
Аватара пользователя
 
Сообщения: 1386
Зарегистрирован: 25.06.2002 (Вт) 15:52

Сообщение skiperski » 04.07.2003 (Пт) 18:56

А ты не пробовала переменную J единицей инициализировать?

Для Excel не пишу, с VBA знаком слабо. Вот ради прикола скопировал код ReyShade и запустил, пять сек. и всё работает. Так почему же у тебя, ежедневно общающейся с этим продуктом, возникают трудности? Может это от общения с бухгалтерами? А может профессию не ту выбрала?

ЗЫ: недобрый я сегодня :twisted:


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 47

    TopList