Здравствуйте! Помогите ускорить процесс заливки таблиц! Есть "первая" книга с таблицами в виде залитых в них ячеек тремя цветами: зеленый, желтый,красный. Эти таблицы нужно перенести во "вторую" книгу (копипаст нельзя, т.к. разные форматы ячеек), но только в ней нужно делать заливку одним (синим) цветом. Во второй книге синим цветом нужно залить области таблицы, которые в первой книге залиты зеленым и желтым, остальные области заливать не нужно. Помогите пожалуйста написать макрос чтобы во вторую книгу не заливать в ручную т.к. таблиц почти 2К. Прилагаю 2 файла для примера.
Здравствуйте! Помогите ускорить процесс заливки таблиц! Есть "первая" книга с таблицами в виде залитых в них ячеек тремя цветами: зеленый, желтый,красный. Эти таблицы нужно перенести во "вторую" книгу (копипаст нельзя, т.к. разные форматы ячеек), но только в ней нужно делать заливку одним (синим) цветом. Во второй книге синим цветом нужно залить области таблицы, которые в первой книге залиты зеленым и желтым, остальные области заливать не нужно. Помогите пожалуйста написать макрос чтобы во вторую книгу не заливать в ручную т.к. таблиц почти 2К. Прилагаю 2 файла для примера.Mexo
Sub TablColBlue() Dim cell As Range For Each cell In Range("g2:j7") If cell.Interior.Color <> vbBlue Then cell.Interior.Color = vbBlue Next cell End Sub
[/vba]
[vba]
Код
Sub TablColBlue() Dim cell As Range For Each cell In Range("g2:j7") If cell.Interior.Color <> vbBlue Then cell.Interior.Color = vbBlue Next cell End Sub
Sub TablColBlue() Dim cell As Range For Each cell In Range("g2:j7") If cell.Interior.Color <> 16777215 Then cell.Interior.Color = vbBlue Next cell End Sub
[/vba]
или так
[vba]
Код
Sub TablColBlue() Dim cell As Range For Each cell In Range("g2:j7") If cell.Interior.Color <> 16777215 Then cell.Interior.Color = vbBlue Next cell End Sub
Sub Zalivka() Dim i As Integer Dim j As Integer Dim Sheet_FirstBook As Worksheet Set Sheet_FirstBook = Workbooks("4165447.xls").Worksheets("Лист1") With Sheet_FirstBook Range("G2:J7").Interior.ColorIndex = xlColorIndexNone For i = 2 To 7 For j = 7 To 10 If .Cells(i, j - 5).Interior.ColorIndex = 4 Or .Cells(i, j - 5).Interior.ColorIndex = 6 Then Cells(i, j).Interior.ColorIndex = 5 End If Next Next End With End Sub
[/vba] Первая книга 4165447.xls Обе книги должны быть открыты
Макрос во вторую книгу 1405087.xls [vba]
Код
Sub Zalivka() Dim i As Integer Dim j As Integer Dim Sheet_FirstBook As Worksheet Set Sheet_FirstBook = Workbooks("4165447.xls").Worksheets("Лист1") With Sheet_FirstBook Range("G2:J7").Interior.ColorIndex = xlColorIndexNone For i = 2 To 7 For j = 7 To 10 If .Cells(i, j - 5).Interior.ColorIndex = 4 Or .Cells(i, j - 5).Interior.ColorIndex = 6 Then Cells(i, j).Interior.ColorIndex = 5 End If Next Next End With End Sub
[/vba] Первая книга 4165447.xls Обе книги должны быть открытыKuzmich