В данном файле необходимо выводить данные с листа Макрос на лист Итог. Макрос проверяет сначала столбец б, если площадь название 27 строки заполнено, то он выводит на лист итог только те работы объем которых не равен 0. доходит до слова конец и в теории должен переходить на столбец С. но .....как говорится я что то туплю....макрос который я ковырял там есть, дублирую сюда
Скрытый текст
Код
Sub Гениально()
i = 4
y = 27
b = 2
Z = 30
n = 0
q = 0
a = 18
Do While Sheets("Макрос").Cells(y, b) <> "кв.м"
If Sheets("Макрос").Cells(y, b) <> 0 Then
Do While Sheets("Макрос").Cells(Z, b) <> "Конец"
If Sheets("Макрос").Cells(Z, b) <> 0 Then
Cells(a, 1) = Sheets("Макрос").Cells(y, b)
Cells(a, 3) = Sheets("Макрос").Cells(Z, b)
Cells(a, 5) = Sheets("Макрос").Cells(Z, 1)
Cells(a, 9) = Sheets("Макрос").Cells(Z, 18)
Cells(a, 10) = Sheets("Макрос").Cells(Z, 19)
n = n + Sheets("Итог").Cells(a, 9)
q = q + Sheets("Итог").Cells(a, 10)
a = a + 1
If Sheets("Макрос").Cells(Z, b) = 0 Then
Z = Z + 1
End If
End If
Z = Z + 1
Loop
If Cells(Z, b) <> "Конец" Then
Cells(a, 1) = "Итог :"
Cells(a, 9) = n
Cells(a, 10) = q
Cells(a, 8).Interior.ColorIndex = 39
Cells(a, 1).Interior.ColorIndex = 39
Cells(a, 2).Interior.ColorIndex = 39
Cells(a, 3).Interior.ColorIndex = 39
Cells(a, 4).Interior.ColorIndex = 39
Cells(a, 5).Interior.ColorIndex = 39
Cells(a, 6).Interior.ColorIndex = 39
Cells(a, 7).Interior.ColorIndex = 39
Cells(a, 9).Interior.ColorIndex = 39
Cells(a, 10).Interior.ColorIndex = 39
Cells(a, 11).Interior.ColorIndex = 39
Cells(a, 12).Interior.ColorIndex = 39
End If
End If
a = a + 1
b = b + 1
Loop
End Sub
Sub Итог() For sh_n = 3 To Worksheets.Count With Sheets(sh_n) i = 4 y = 18 Z = 1 Do x = Sheets("Итог").Cells(i, 18) If x = "кв.м" Then Exit Do If x = .Name Then a = 18 b = 3 Do While .Cells(a, b - 2) <> "Итог" If .Cells(a, b - 2) = 1 Then
Cells(y, Z) = .Cells(4, 6) Cells(y, Z + 2) = .Cells(a, b) Cells(y, Z + 4) = .Cells(a, b + 2) Cells(y, Z + 5) = .Cells(a, b + 3) Cells(y, Z + 7) = .Cells(a, b + 5) Cells(y, Z + 8) = .Cells(a, b + 6) Cells(y, Z + 9) = .Cells(a, b + 7) End If a = a + 1 y = y + 1 Loop End If i = i + 1 Loop
Макрос код. Необходимо чтобы при активации макроса, значение суммы в ячейке (80;10) на листе Ванная копировалось и перемещалось на лист "Дано" в ячейку (9;21). Мой макрос копирует значение но не вставляет. Макрос ориентирован на вставку по принципу если значение на листе ванная (4;6)= значению на листе "дано", ячейка (9;3), то тогда сумма с листа ванная из ячейки (80;10) переносится в ячейку (9;21). Что не так?
Код
Dim clientname As String
Dim y As Variant
Dim x As String
Dim i As Integer
Sub код()
clientname = Cells(4, 6)
y = Value.Cells(80, 10)
y.Select
Selection.Copy
Sheets("Дано" ;) .Select
i = 9
Do While Sheets("Дано" ;) .Cells(i, 3) <> "кв.м"
x = Cells(i, 3)
If x = clientname Then
Cells(9, 21) = Application.y
End If
i = i + 1
Loop
End Sub
Есть таблица, исходная.....заполняем второй столбец, нажимаем на макрос, создаются листы с названиями как значения этих ячеек, на каждом из этих листов есть стандартная таблица, ячейка итого заполняется как название листа.....можно ли как то применить макрос?