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

Вход

Регистрация

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

 

= Мир MS Excel/Указать диапазон умной таблицы А1 и последняя яч. столбца С - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Указать диапазон умной таблицы А1 и последняя яч. столбца С (Макросы/Sub)
Указать диапазон умной таблицы А1 и последняя яч. столбца С
Gjlhzl Дата: Четверг, 26.01.2023, 12:28 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 110
Репутация: 0 ±
Замечаний: 0% ±

Макросом создаю умную таблицу как прописать диапазон
начало А1 конец последняя ячейка со значением по столбцу С
[vba]
Код
ActiveSheet.ListObjects.Add(xlSrcRange, Range(Cells(1, 1), Cells(LastRow, 3)), , xlYes).Name = "ФБ"
[/vba]
выдает ошибку
как правильно должно быть?

просто рядом с таблицей создается другая умная таблица и при таком варианте
[vba]
Код
ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$1").CurrentRegion, , xlYes).Name = "ФБ"
[/vba]
таблицы пересекаются и первая поглощает диапазон второй таблицы


Сообщение отредактировал Gjlhzl - Четверг, 26.01.2023, 12:34
 
Ответить
СообщениеМакросом создаю умную таблицу как прописать диапазон
начало А1 конец последняя ячейка со значением по столбцу С
[vba]
Код
ActiveSheet.ListObjects.Add(xlSrcRange, Range(Cells(1, 1), Cells(LastRow, 3)), , xlYes).Name = "ФБ"
[/vba]
выдает ошибку
как правильно должно быть?

просто рядом с таблицей создается другая умная таблица и при таком варианте
[vba]
Код
ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$1").CurrentRegion, , xlYes).Name = "ФБ"
[/vba]
таблицы пересекаются и первая поглощает диапазон второй таблицы

Автор - Gjlhzl
Дата добавления - 26.01.2023 в 12:28
_Boroda_ Дата: Четверг, 26.01.2023, 12:36 | Сообщение № 2
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Какую ошибку?
Чему равно LastRow?


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеКакую ошибку?
Чему равно LastRow?

Автор - _Boroda_
Дата добавления - 26.01.2023 в 12:36
Gjlhzl Дата: Четверг, 26.01.2023, 12:40 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 110
Репутация: 0 ±
Замечаний: 0% ±

_Boroda_, должно быть последней строке со значением
по правде все методом тыка и грамматики VBA не знаю,пробую ...все методом тыка с разных вариантов)
думаю
[vba]
Код
lLastRow = Cells(Rows.Count, "С").End(xlUp).Row
[/vba]
наверно типа переменную нужно объявлять?
не знаю как


Сообщение отредактировал Gjlhzl - Четверг, 26.01.2023, 12:43
 
Ответить
Сообщение_Boroda_, должно быть последней строке со значением
по правде все методом тыка и грамматики VBA не знаю,пробую ...все методом тыка с разных вариантов)
думаю
[vba]
Код
lLastRow = Cells(Rows.Count, "С").End(xlUp).Row
[/vba]
наверно типа переменную нужно объявлять?
не знаю как

Автор - Gjlhzl
Дата добавления - 26.01.2023 в 12:40
_Boroda_ Дата: Четверг, 26.01.2023, 12:53 | Сообщение № 4
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Весь код-то покажите уже.
А так - все правильно написано. Для активного листа если


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеВесь код-то покажите уже.
А так - все правильно написано. Для активного листа если

Автор - _Boroda_
Дата добавления - 26.01.2023 в 12:53
Gjlhzl Дата: Четверг, 26.01.2023, 13:39 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 110
Репутация: 0 ±
Замечаний: 0% ±

_Boroda_,
цель макроса - с файла Данные скопировать и вставить данные таблиц1,2 в файл Копия на лист один лист после создать из них умные таблицы

[vba]
Код
Sub Копировать()
    Dim lLastRow As Long
    Dim MyPath As String
    Dim wb1 As String
    wb1 = "Копия.xlsb"
    MyPath = ThisWorkbook.Path & "\" & wb1
    Workbooks.Open Filename:=MyPath
  
Windows("Данные.xlsb").Activate
    Range("Таблица1[#All]").Copy
    Windows("Копия.xlsb").Activate
    Range("A1").PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
        xlNone, SkipBlanks:=False, Transpose:=False
    Range("A1").PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False

    lLastRow = Cells(Rows.Count, 3).End(xlUp).Row
    
ActiveSheet.ListObjects.Add(xlSrcRange, Range(Cells(1, 1), Cells(LastRow, 3)), , xlYes).Name = "БД"
ActiveSheet.ListObjects("БД").TableStyle = "TableStyleMedium2"

Windows("Данные.xlsb").Activate
    Range("Таблица2[#All]").Copy
    Windows("Копия.xlsb").Activate
    Range("D1").PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
        xlNone, SkipBlanks:=False, Transpose:=False
    Range("D1").PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
        
    ActiveSheet.ListObjects.Add(xlSrcRange, Range("$D$1").CurrentRegion, , xlYes).Name = "БД2"
    ActiveSheet.ListObjects("БД2").TableStyle = "TableStyleMedium2"
End Sub
[/vba]

ошибка на
[vba]
Код
ActiveSheet.ListObjects.Add(xlSrcRange, Range(Cells(1, 1), Cells(LastRow, 3)), , xlYes).Name = "БД"
[/vba]


Сообщение отредактировал Gjlhzl - Четверг, 26.01.2023, 13:41
 
Ответить
Сообщение_Boroda_,
цель макроса - с файла Данные скопировать и вставить данные таблиц1,2 в файл Копия на лист один лист после создать из них умные таблицы

[vba]
Код
Sub Копировать()
    Dim lLastRow As Long
    Dim MyPath As String
    Dim wb1 As String
    wb1 = "Копия.xlsb"
    MyPath = ThisWorkbook.Path & "\" & wb1
    Workbooks.Open Filename:=MyPath
  
Windows("Данные.xlsb").Activate
    Range("Таблица1[#All]").Copy
    Windows("Копия.xlsb").Activate
    Range("A1").PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
        xlNone, SkipBlanks:=False, Transpose:=False
    Range("A1").PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False

    lLastRow = Cells(Rows.Count, 3).End(xlUp).Row
    
ActiveSheet.ListObjects.Add(xlSrcRange, Range(Cells(1, 1), Cells(LastRow, 3)), , xlYes).Name = "БД"
ActiveSheet.ListObjects("БД").TableStyle = "TableStyleMedium2"

Windows("Данные.xlsb").Activate
    Range("Таблица2[#All]").Copy
    Windows("Копия.xlsb").Activate
    Range("D1").PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
        xlNone, SkipBlanks:=False, Transpose:=False
    Range("D1").PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
        
    ActiveSheet.ListObjects.Add(xlSrcRange, Range("$D$1").CurrentRegion, , xlYes).Name = "БД2"
    ActiveSheet.ListObjects("БД2").TableStyle = "TableStyleMedium2"
End Sub
[/vba]

ошибка на
[vba]
Код
ActiveSheet.ListObjects.Add(xlSrcRange, Range(Cells(1, 1), Cells(LastRow, 3)), , xlYes).Name = "БД"
[/vba]

Автор - Gjlhzl
Дата добавления - 26.01.2023 в 13:39
Gjlhzl Дата: Четверг, 26.01.2023, 16:41 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 110
Репутация: 0 ±
Замечаний: 0% ±

вопрос решился
[vba]
Код
Sub Копировать()
    Dim lLastRow As Long
    Dim MyPath As String
    Dim wb1 As String
    wb1 = "Копия.xlsb"
    MyPath = ThisWorkbook.Path & "\" & wb1
    Workbooks.Open Filename:=MyPath

Windows("Данные.xlsb").Activate
    Range("Таблица1[#All]").Copy
    Windows("Копия.xlsb").Activate
    Range("A1").PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
        xlNone, SkipBlanks:=False, Transpose:=False
    Range("A1").PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False

    lLastRow = Cells(Rows.Count, 3).End(xlUp).Row
    
ActiveSheet.ListObjects.Add(xlSrcRange, Range(Cells(1, 1), Cells(lLastRow, 3)), , xlYes).Name = "БД"
ActiveSheet.ListObjects("БД").TableStyle = "TableStyleMedium2"

Windows("Данные.xlsb").Activate
    Range("Таблица2[#All]").Copy
    Windows("Копия.xlsb").Activate
    Range("D1").PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
        xlNone, SkipBlanks:=False, Transpose:=False
    Range("D1").PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False

    lLastRow = Cells(Rows.Count, 5).End(xlUp).Row
        
ActiveSheet.ListObjects.Add(xlSrcRange, Range(Cells(1, 5), Cells(lLastRow, 5)), , xlYes).Name = "БД2"
ActiveSheet.ListObjects("БД2").TableStyle = "TableStyleMedium2"
End Sub
[/vba]
вместо LastRow нужно lLastRow
 
Ответить
Сообщениевопрос решился
[vba]
Код
Sub Копировать()
    Dim lLastRow As Long
    Dim MyPath As String
    Dim wb1 As String
    wb1 = "Копия.xlsb"
    MyPath = ThisWorkbook.Path & "\" & wb1
    Workbooks.Open Filename:=MyPath

Windows("Данные.xlsb").Activate
    Range("Таблица1[#All]").Copy
    Windows("Копия.xlsb").Activate
    Range("A1").PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
        xlNone, SkipBlanks:=False, Transpose:=False
    Range("A1").PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False

    lLastRow = Cells(Rows.Count, 3).End(xlUp).Row
    
ActiveSheet.ListObjects.Add(xlSrcRange, Range(Cells(1, 1), Cells(lLastRow, 3)), , xlYes).Name = "БД"
ActiveSheet.ListObjects("БД").TableStyle = "TableStyleMedium2"

Windows("Данные.xlsb").Activate
    Range("Таблица2[#All]").Copy
    Windows("Копия.xlsb").Activate
    Range("D1").PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
        xlNone, SkipBlanks:=False, Transpose:=False
    Range("D1").PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False

    lLastRow = Cells(Rows.Count, 5).End(xlUp).Row
        
ActiveSheet.ListObjects.Add(xlSrcRange, Range(Cells(1, 5), Cells(lLastRow, 5)), , xlYes).Name = "БД2"
ActiveSheet.ListObjects("БД2").TableStyle = "TableStyleMedium2"
End Sub
[/vba]
вместо LastRow нужно lLastRow

Автор - Gjlhzl
Дата добавления - 26.01.2023 в 16:41
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Указать диапазон умной таблицы А1 и последняя яч. столбца С (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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