Макрос на 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 файл приложил
нужно организовать цикл по ячейкам, при нахождении ячейки с заливкой, макрос заливал(тем же цветом) всю строку с данными, и далее сразу переходил на след строку и повторял те же действия.
я писал примерно так(строго не судите если даже здесь бред написан:) ):
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 файл приложил
Решение задачи: «Макрос на VBA помогите»
textual
Листинг программы
<font color="blue">dim</font> c <font color="blue">as</font> Range <font color="blue">for</font> <font color="blue">each</font> c <font color="blue">in</font> ActiveSheet.UsedRange <font color="blue">if</font> c.Interior.ColorIndex <> xlColorIndexNone <font color="blue">Then</font> c.EntireRow.ColorIndex = c.Interior.ColorIndex <font color="blue">end</font> <font color="blue">if</font> <font color="blue">next</font>
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д