Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/FillDown с определенной ячейки до конца таблицы - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
FillDown с определенной ячейки до конца таблицы
TurboRadost Дата: Вторник, 06.09.2022, 12:00 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 50
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Добрый день.
Как правильно сказать в VBA что нужно заполнить ячейки вниз начиная с определенной ячейки?

[vba]
Код
   
Range("A2").Select
    Selection.FillDown
[/vba]

эти 2 строки кода формируются автоматически из записи макроса, но заполняются значения начиная с ячейки A1 Хотя нужно что бы значения автозаполнились с A2
 
Ответить
СообщениеДобрый день.
Как правильно сказать в VBA что нужно заполнить ячейки вниз начиная с определенной ячейки?

[vba]
Код
   
Range("A2").Select
    Selection.FillDown
[/vba]

эти 2 строки кода формируются автоматически из записи макроса, но заполняются значения начиная с ячейки A1 Хотя нужно что бы значения автозаполнились с A2

Автор - TurboRadost
Дата добавления - 06.09.2022 в 12:00
Serge_007 Дата: Вторник, 06.09.2022, 12:18 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
[vba]
Код
Range("A3").FillDown
[/vba]?


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение[vba]
Код
Range("A3").FillDown
[/vba]?

Автор - Serge_007
Дата добавления - 06.09.2022 в 12:18
TurboRadost Дата: Вторник, 06.09.2022, 12:28 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 50
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
неа(
начиная с a3 автозаполнение протягивает значение по ячейкам которые находятся за пределами выбранного фильтра. доходит до первой строки скрытых строк и останавливается.

[vba]
Код
Sub АСЦ_2()
'
' АСЦ_2 Макрос
'

'
    Rows("1:1").Select
    Application.CutCopyMode = False
    Selection.Delete Shift:=xlUp
    Rows("1:1").Select
    Selection.Delete Shift:=xlUp
    
    
   Columns("A:A").Select
   
    
    
    
    With Selection
        .HorizontalAlignment = xlGeneral
        .VerticalAlignment = xlTop
        .WrapText = True
        .Orientation = 0
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = False
    End With
    
    
   Columns("A:A").Select
    Selection.Insert Shift:=xlToRight
            
    Rows("2:2").Select
       
    
    Selection.Delete Shift:=xlUp
    Range("A1").Select
    ActiveCell.FormulaR1C1 = "АСЦ"
    Rows("1:1").Select
    Selection.AutoFilter
    Range("B1").Select
    ActiveSheet.Range("$A$1:$W$3768").AutoFilter Field:=2, Criteria1:=RGB(248, _
        242, 216), Operator:=xlFilterCellColor
     
    Range("A2").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = "=RC[1]"
    

    
'    Range("A3").Select с этого момента все идет не по плану. автозаполнение цепляет ячейки которые находятся за фильтром.
    Selection.FillDown
    Range("B1").Select
    ActiveSheet.Range("$A$1:$W$3768").AutoFilter Field:=2
    Columns("A:A").Select
    Selection.Copy
    Range("A1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Columns("A:A").Select
    Selection.SpecialCells(xlCellTypeBlanks).Select
    Application.CutCopyMode = False
    Application.CutCopyMode = False
    Selection.FormulaR1C1 = "=R[-1]C"
    Columns("A:A").Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("C1").Select
    ActiveSheet.Range("$A$1:$W$3768").AutoFilter Field:=3, Criteria1:="="
    Range("B2:U2").Select
    Range(Selection, Selection.End(xlDown)).Select
    Application.CutCopyMode = False
    Selection.EntireRow.Delete
    Range("C1").Select
    ActiveSheet.Range("$A$1:$W$2884").AutoFilter Field:=3
End Sub
[/vba]

вложил файл что бы более понятно было.
с закомменченой строки кода все идет не так как бы хотелось. нужно что бы значение a2 скопировалось до конца таблицы с теми же параметрами что и a2 т.е. по аналогии с автозаполнением, если это делать мышкой.
 
Ответить
Сообщениенеа(
начиная с a3 автозаполнение протягивает значение по ячейкам которые находятся за пределами выбранного фильтра. доходит до первой строки скрытых строк и останавливается.

[vba]
Код
Sub АСЦ_2()
'
' АСЦ_2 Макрос
'

'
    Rows("1:1").Select
    Application.CutCopyMode = False
    Selection.Delete Shift:=xlUp
    Rows("1:1").Select
    Selection.Delete Shift:=xlUp
    
    
   Columns("A:A").Select
   
    
    
    
    With Selection
        .HorizontalAlignment = xlGeneral
        .VerticalAlignment = xlTop
        .WrapText = True
        .Orientation = 0
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = False
    End With
    
    
   Columns("A:A").Select
    Selection.Insert Shift:=xlToRight
            
    Rows("2:2").Select
       
    
    Selection.Delete Shift:=xlUp
    Range("A1").Select
    ActiveCell.FormulaR1C1 = "АСЦ"
    Rows("1:1").Select
    Selection.AutoFilter
    Range("B1").Select
    ActiveSheet.Range("$A$1:$W$3768").AutoFilter Field:=2, Criteria1:=RGB(248, _
        242, 216), Operator:=xlFilterCellColor
     
    Range("A2").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = "=RC[1]"
    

    
'    Range("A3").Select с этого момента все идет не по плану. автозаполнение цепляет ячейки которые находятся за фильтром.
    Selection.FillDown
    Range("B1").Select
    ActiveSheet.Range("$A$1:$W$3768").AutoFilter Field:=2
    Columns("A:A").Select
    Selection.Copy
    Range("A1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Columns("A:A").Select
    Selection.SpecialCells(xlCellTypeBlanks).Select
    Application.CutCopyMode = False
    Application.CutCopyMode = False
    Selection.FormulaR1C1 = "=R[-1]C"
    Columns("A:A").Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("C1").Select
    ActiveSheet.Range("$A$1:$W$3768").AutoFilter Field:=3, Criteria1:="="
    Range("B2:U2").Select
    Range(Selection, Selection.End(xlDown)).Select
    Application.CutCopyMode = False
    Selection.EntireRow.Delete
    Range("C1").Select
    ActiveSheet.Range("$A$1:$W$2884").AutoFilter Field:=3
End Sub
[/vba]

вложил файл что бы более понятно было.
с закомменченой строки кода все идет не так как бы хотелось. нужно что бы значение a2 скопировалось до конца таблицы с теми же параметрами что и a2 т.е. по аналогии с автозаполнением, если это делать мышкой.

Автор - TurboRadost
Дата добавления - 06.09.2022 в 12:28
Serge_007 Дата: Вторник, 06.09.2022, 12:45 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
вложил файл
Куда?


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
вложил файл
Куда?

Автор - Serge_007
Дата добавления - 06.09.2022 в 12:45
RAN Дата: Вторник, 06.09.2022, 13:08 | Сообщение № 5
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
[vba]
Код
Range("A2").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = "=RC[1]"

'    Range("A3").Select с этого момента все идет не по плану. автозаполнение цепляет ячейки которые находятся за фильтром.
    Selection.FillDown
[/vba]
Ф топку!
[vba]
Код
With ActiveSheet.AutoFilter.Range
.Resize(.Rows.Count - 1, 1).Offset(1).FormulaR1C1 = "=RC[1]"
End With
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение[vba]
Код
Range("A2").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = "=RC[1]"

'    Range("A3").Select с этого момента все идет не по плану. автозаполнение цепляет ячейки которые находятся за фильтром.
    Selection.FillDown
[/vba]
Ф топку!
[vba]
Код
With ActiveSheet.AutoFilter.Range
.Resize(.Rows.Count - 1, 1).Offset(1).FormulaR1C1 = "=RC[1]"
End With
[/vba]

Автор - RAN
Дата добавления - 06.09.2022 в 13:08
TurboRadost Дата: Вторник, 06.09.2022, 14:11 | Сообщение № 6
Группа: Пользователи
Ранг: Участник
Сообщений: 50
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
RAN,
Спасибо, это работает!

Serge_007,
не подцепился, файл большой был, сразу не обратил на это внимание.
 
Ответить
СообщениеRAN,
Спасибо, это работает!

Serge_007,
не подцепился, файл большой был, сразу не обратил на это внимание.

Автор - TurboRadost
Дата добавления - 06.09.2022 в 14:11
Serge_007 Дата: Вторник, 06.09.2022, 14:32 | Сообщение № 7
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Значит правила не читали...


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеЗначит правила не читали...

Автор - Serge_007
Дата добавления - 06.09.2022 в 14:32
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!