Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Макрос на VBA помогите / 5 сообщений из 5, страница 1 из 1
19.04.2010, 22:36
    #36586513
alectr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос на VBA помогите
Вобщем только только начал учится программировать(вчера^^) и не могу справится с простейшей задачей, надеюсь здесь мне помогут.
нужно организовать цикл по ячейкам, при нахождении ячейки с заливкой, макрос заливал(тем же цветом) всю строку с данными, и далее сразу переходил на след строку и повторял те же действия.

я писал примерно так(строго не судите если даже здесь бред написан:) ):

Sub macro1()
Dim i As Integer, j As Integer
iRow = ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Rows.Count - 1
iClm = ActiveSheet.UsedRange.Column + ActiveSheet.UsedRange.Columns.Count - 1

For i = ActiveSheet.UsedRange.Row To iRow
For j = ActiveSheet.UsedRange.Column To iClm
If Range(i, j).Interior.ColorIndex <> xlColorIndexNone Then
Range(i, j).Copy
Range(ActiveCell.End(xlToLeft), ActiveCell.End(xlToRight)).PasteSpecial Paste:=xlFormats
ActiveCell.Offset(1, 0).Select
End If
Next i
Next j
End Sub

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

P.s файл приложил
...
Рейтинг: 0 / 0
19.04.2010, 22:38
    #36586518
alectr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос на VBA помогите
Вобщем на картинке нарисовано как есть и как должно быть в итоге
...
Рейтинг: 0 / 0
19.04.2010, 22:47
    #36586527
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос на VBA помогите
Прочитай это:
http://www.sql.ru/forum/actualthread.aspx?tid=132692
http://www.sql.ru/faq/faq_topic.aspx?fid=202

alectrно выдает ошибку.И мы снова играем в игру "угадай ошибку"...

alectrА если не сложно то объясните как делать цикл перебора по строкам по столбцам по каждой ячейки,
Код: plaintext
1.
2.
3.
4.
5.
dim c as Range
for each c in ActiveSheet.UsedRange
    if c.Interior.ColorIndex <> xlColorIndexNone Then
        c.EntireRow.ColorIndex = c.Interior.ColorIndex
   end if
next
...
Рейтинг: 0 / 0
19.04.2010, 23:39
    #36586570
Hugo121
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос на VBA помогите
Код: plaintext
c.EntireRow.Interior.ColorIndex = c.Interior.ColorIndex
...
Рейтинг: 0 / 0
20.04.2010, 00:21
    #36586601
alectr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос на VBA помогите
White OwlПрочитай это:
http://www.sql.ru/forum/actualthread.aspx?tid=132692
http://www.sql.ru/faq/faq_topic.aspx?fid=202

И мы снова играем в игру "угадай ошибку"...


Код: plaintext
1.
2.
3.
4.
5.
dim c as Range
for each c in ActiveSheet.UsedRange
    if c.Interior.ColorIndex <> xlColorIndexNone Then
        c.EntireRow.ColorIndex = c.Interior.ColorIndex
   end if
next


Ошибка такая: "Invalid Next control variable reference"

п.с. спасибо за код, конечно не совсем то что на картинке, но это я думаю уже сам сделаю, еще раз спасибо.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Макрос на VBA помогите / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]