Здравствуйте. Столкнулся с проблемой в части отсутствия в версии эксель 2007 года функции фильтр. Необходимо что бы отфильтрованные данные с листа "НРэ 2025" вставлялись на лист "ТО-15э" в ячейки "A:G" в зависимости от значения в ячейки "I1" листа "ТО-15э" Остальные значения считаются по формуле (уже в таблице, если есть возможность и этот вопрос сделать как то проще, то буду рад помощи). Фильтрация на листе "НРэ 2025" происходит по столбцу B начиная с 6 строки. Можете ли помочь решить данную проблему через макрос, что бы работал в эксель 2007 года?
Здравствуйте. Столкнулся с проблемой в части отсутствия в версии эксель 2007 года функции фильтр. Необходимо что бы отфильтрованные данные с листа "НРэ 2025" вставлялись на лист "ТО-15э" в ячейки "A:G" в зависимости от значения в ячейки "I1" листа "ТО-15э" Остальные значения считаются по формуле (уже в таблице, если есть возможность и этот вопрос сделать как то проще, то буду рад помощи). Фильтрация на листе "НРэ 2025" происходит по столбцу B начиная с 6 строки. Можете ли помочь решить данную проблему через макрос, что бы работал в эксель 2007 года?truk
truk, для старых офисов в А8, массивная, выводит столбец B, для остальных столбцов подставляйте их номер вместо последней 1 (считая, что b это номер 1)
truk, для старых офисов в А8, массивная, выводит столбец B, для остальных столбцов подставляйте их номер вместо последней 1 (считая, что b это номер 1)
bigor, Спасибо. Частично помогло решить проблему, но появились новые вопросы) Массив не подтягивает данные если номер столбца в массиве 9 или больше + почему то не считаются значения по формуле в соседних ячейках, а ячейки где значения пустые как я понял выводят сумму количества ячеек. Есть ли другой способ как реализовать автоматическую подстановку данных?
bigor, Спасибо. Частично помогло решить проблему, но появились новые вопросы) Массив не подтягивает данные если номер столбца в массиве 9 или больше + почему то не считаются значения по формуле в соседних ячейках, а ячейки где значения пустые как я понял выводят сумму количества ячеек. Есть ли другой способ как реализовать автоматическую подстановку данных?truk
Sub copyData() Application.ScreenUpdating = False Dim i As Long
Dim desWS As Worksheet Set desWS = ThisWorkbook.Worksheets("ТО-15э")
Dim crt As String crt = desWS.Range("I1").Value
Dim j As Long j = 8
Dim lastDesRow As Long lastDesRow = Application.Max(8, desWS.Cells(desWS.Rows.Count, "A").End(xlUp).Row) desWS.Range("A8:G" & lastDesRow).ClearContents
With ThisWorkbook.Worksheets("НРэ 2025") If .AutoFilterMode Then .AutoFilterMode = False
Dim lastRow As Long lastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
If Not .Rows(i).Hidden Then desWS.Range("A" & j).Value = crt desWS.Range("B" & j & ":E" & j).Value = .Range("E" & i & ":H" & i).Value desWS.Range("F" & j).Value = .Range("L" & i).Value desWS.Range("G" & j).Value = .Range("P" & i).Value j = j + 1 End If
Next i
.AutoFilterMode = False End With
Application.ScreenUpdating = True End Sub
[/vba]
truk, Вариант макросом: [vba]
Код
Option Explicit
Sub copyData() Application.ScreenUpdating = False Dim i As Long
Dim desWS As Worksheet Set desWS = ThisWorkbook.Worksheets("ТО-15э")
Dim crt As String crt = desWS.Range("I1").Value
Dim j As Long j = 8
Dim lastDesRow As Long lastDesRow = Application.Max(8, desWS.Cells(desWS.Rows.Count, "A").End(xlUp).Row) desWS.Range("A8:G" & lastDesRow).ClearContents
With ThisWorkbook.Worksheets("НРэ 2025") If .AutoFilterMode Then .AutoFilterMode = False
Dim lastRow As Long lastRow = .Cells(.Rows.Count, "A").End(xlUp).Row