Добрый день, уважаемые знатоки! Подскажите, пожалуйста, решение проблемы: Во вложенном файле есть лист с названием "НАРА"-это лист, который хотелось бы переделать, лист с названием "Лист 1"-это то, во что надо переделать. Теперь по порядку: строки без адреса дома, обозначенные жирным нужно скопировать над каждым домом, проблема в том, что эти строки разные по содержанию, т.к. дома разные по категорийности и где-то тариф один, где-то другой. Помогите пожалуйста! ВАриант копировать-вставить выделенные ячейки на лист-это слишком долго, там около тысячи домов
Добрый день, уважаемые знатоки! Подскажите, пожалуйста, решение проблемы: Во вложенном файле есть лист с названием "НАРА"-это лист, который хотелось бы переделать, лист с названием "Лист 1"-это то, во что надо переделать. Теперь по порядку: строки без адреса дома, обозначенные жирным нужно скопировать над каждым домом, проблема в том, что эти строки разные по содержанию, т.к. дома разные по категорийности и где-то тариф один, где-то другой. Помогите пожалуйста! ВАриант копировать-вставить выделенные ячейки на лист-это слишком долго, там около тысячи домов aikyaira
У Вас на листе Лист1 столбцов больше. Столбцы с D по N не имеют аналогов в исходной таблице. Откуда брать данные в эти столбцы?
Создал копию листа Лист1, он получил имя Лист1 (2). Программка написана для него. Данные в столбцы D:N не вставляются. Чтобы выходные данные выводились на лист с другим именем, присвойте нужное имя переменной Kuda. У меня программка работала около 15 сек. [vba]
Код
Sub chet() Dim strOk1 As Long, strOk2 As Long, strTmp As Long, strIt As Long Dim Iz As String, Kuda As String
У Вас на листе Лист1 столбцов больше. Столбцы с D по N не имеют аналогов в исходной таблице. Откуда брать данные в эти столбцы?
Создал копию листа Лист1, он получил имя Лист1 (2). Программка написана для него. Данные в столбцы D:N не вставляются. Чтобы выходные данные выводились на лист с другим именем, присвойте нужное имя переменной Kuda. У меня программка работала около 15 сек. [vba]
Код
Sub chet() Dim strOk1 As Long, strOk2 As Long, strTmp As Long, strIt As Long Dim Iz As String, Kuda As String
Sub www() Dim iz1 As Range, iz2 As Range, iz3 As Range, i& Dim na1 As Range, na2 As Range, na3 As Range, z& z = 2 Sheets("Лист1").Range("A2:Q3000").Clear For i = 2 To Range("A" & Rows.Count).End(xlUp).Row If Cells(i, 1) = "" Then Set iz1 = Range(Cells(i, "D"), Cells(i, "Q")) sm = Application.Sum(Range(Cells(i, "D"), Cells(i, "Q"))) Else Set iz2 = Range(Cells(i, "A"), Cells(i, "C")) Set iz3 = Range(Cells(i, "D"), Cells(i, "Q")) Set na1 = Sheets("Лист1").Cells(z, "O") Sheets("Лист1").Cells(z, "K") = sm Sheets("Лист1").Range("A" & z & ":Q" & z).Borders.Weight = xlThin z = z + 1 Sheets("Лист1").Cells(z, "K") = sm Sheets("Лист1").Range("A" & z & ":Q" & z).Borders.Weight = xlThin Set na2 = Sheets("Лист1").Cells(z, "A") Set na3 = Sheets("Лист1").Cells(z, "O") z = z + 1 iz1.Copy na1 iz2.Copy na2 iz3.Copy na3 End If Next End Sub
[/vba]
Еще вариант.
[vba]
Код
Sub www() Dim iz1 As Range, iz2 As Range, iz3 As Range, i& Dim na1 As Range, na2 As Range, na3 As Range, z& z = 2 Sheets("Лист1").Range("A2:Q3000").Clear For i = 2 To Range("A" & Rows.Count).End(xlUp).Row If Cells(i, 1) = "" Then Set iz1 = Range(Cells(i, "D"), Cells(i, "Q")) sm = Application.Sum(Range(Cells(i, "D"), Cells(i, "Q"))) Else Set iz2 = Range(Cells(i, "A"), Cells(i, "C")) Set iz3 = Range(Cells(i, "D"), Cells(i, "Q")) Set na1 = Sheets("Лист1").Cells(z, "O") Sheets("Лист1").Cells(z, "K") = sm Sheets("Лист1").Range("A" & z & ":Q" & z).Borders.Weight = xlThin z = z + 1 Sheets("Лист1").Cells(z, "K") = sm Sheets("Лист1").Range("A" & z & ":Q" & z).Borders.Weight = xlThin Set na2 = Sheets("Лист1").Cells(z, "A") Set na3 = Sheets("Лист1").Cells(z, "O") z = z + 1 iz1.Copy na1 iz2.Copy na2 iz3.Copy na3 End If Next End Sub