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

Вход

Регистрация

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

 

= Мир MS Excel/Таблица из : "$A$1:$J$последняяНеПустаяСтрока" - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Таблица из : "$A$1:$J$последняяНеПустаяСтрока" (Макросы/Sub)
Таблица из : "$A$1:$J$последняяНеПустаяСтрока"
Richman Дата: Среда, 17.08.2016, 16:31 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 346
Репутация: 54 ±
Замечаний: 0% ±

Excel 2007
Здравствуйте!

Пытаюсь сформировать из диапазона таблицу, "$A$1:$J$последняяНеПустаяСтрока" но что-то не так.

[vba]
Код
With ActiveSheet
.ListObjects.Add(xlSrcRange, .Range("$A$1:$J$" & .Cells(Rows.Count, 1).End(xlUp).Row), , xlYes).Name = _
"Таблица1"
End With
[/vba]

Подскажите пожалуйста.


С Уважением, Richman

 
Ответить
СообщениеЗдравствуйте!

Пытаюсь сформировать из диапазона таблицу, "$A$1:$J$последняяНеПустаяСтрока" но что-то не так.

[vba]
Код
With ActiveSheet
.ListObjects.Add(xlSrcRange, .Range("$A$1:$J$" & .Cells(Rows.Count, 1).End(xlUp).Row), , xlYes).Name = _
"Таблица1"
End With
[/vba]

Подскажите пожалуйста.

Автор - Richman
Дата добавления - 17.08.2016 в 16:31
Manyasha Дата: Среда, 17.08.2016, 16:41 | Сообщение № 2
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 898 ±
Замечаний: 0% ±

Excel 2010, 2016
Richman, здравствуйте.
что-то не так

а что конкретно не так?))
Предположу, что последняя ячейка не обязательно в столбце А:
[vba]
Код
With ActiveSheet
    lr = .Columns("a:j").Find("*", , xlValues, xlWhole, xlByRows, xlPrevious).Row
    .ListObjects.Add(xlSrcRange, .Range("$A$1:$J$" & lr), , xlYes).Name = _
    "Таблица1"
End With
[/vba]


ЯД: 410013299366744 WM: R193491431804
 
Ответить
СообщениеRichman, здравствуйте.
что-то не так

а что конкретно не так?))
Предположу, что последняя ячейка не обязательно в столбце А:
[vba]
Код
With ActiveSheet
    lr = .Columns("a:j").Find("*", , xlValues, xlWhole, xlByRows, xlPrevious).Row
    .ListObjects.Add(xlSrcRange, .Range("$A$1:$J$" & lr), , xlYes).Name = _
    "Таблица1"
End With
[/vba]

Автор - Manyasha
Дата добавления - 17.08.2016 в 16:41
Zdx Дата: Среда, 17.08.2016, 16:41 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 4 ±
Замечаний: 0% ±

2010
А что не так?


Неизлечимых болезней нет, есть неизлечимые люди.
 
Ответить
СообщениеА что не так?

Автор - Zdx
Дата добавления - 17.08.2016 в 16:41
Richman Дата: Среда, 17.08.2016, 16:51 | Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 346
Репутация: 54 ±
Замечаний: 0% ±

Excel 2007
Попытался через марорекодер записать тоже самое, получил вот это

как можно за ранее отключить у диапазона все внешние подключения


С Уважением, Richman

 
Ответить
СообщениеПопытался через марорекодер записать тоже самое, получил вот это

как можно за ранее отключить у диапазона все внешние подключения

Автор - Richman
Дата добавления - 17.08.2016 в 16:51
Richman Дата: Среда, 17.08.2016, 17:01 | Сообщение № 5
Группа: Проверенные
Ранг: Обитатель
Сообщений: 346
Репутация: 54 ±
Замечаний: 0% ±

Excel 2007
С начала я импортирую данные с внешнего файла .сsv
Затем excel его разбивает по столбцам с разделителем запятая

И после этого разбития по столбцам я пытаюсь из полученного диапазона сформировать таблицу

[vba]
Код
Sub Otchet()
'
' Otchet Макрос
'
Sheets.Add After:=Sheets(Sheets.Count)
    With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;C:\Users\Admin\Downloads\_storage_sdcard0_CarController.csv", _
        Destination:=Range("$A$1"))
        .Name = "_storage_sdcard0_CarController"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 866
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = False
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = True
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(1)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With
    Columns("G:G").ColumnWidth = 13.57
    Columns("F:F").ColumnWidth = 12.86
    Range("A1").Select
    
  With ActiveSheet
.ListObjects.Add(xlSrcRange, .Range("$A$1:$J$" & .Cells(Rows.Count, 1).End(xlUp).Row), , xlYes).Name = _
"Таблица1"
End With
[/vba]

Код записывал на макрорекодере и немного правил вышеприведенный участок


С Уважением, Richman



Сообщение отредактировал Richman - Среда, 17.08.2016, 17:03
 
Ответить
СообщениеС начала я импортирую данные с внешнего файла .сsv
Затем excel его разбивает по столбцам с разделителем запятая

И после этого разбития по столбцам я пытаюсь из полученного диапазона сформировать таблицу

[vba]
Код
Sub Otchet()
'
' Otchet Макрос
'
Sheets.Add After:=Sheets(Sheets.Count)
    With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;C:\Users\Admin\Downloads\_storage_sdcard0_CarController.csv", _
        Destination:=Range("$A$1"))
        .Name = "_storage_sdcard0_CarController"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 866
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = False
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = True
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(1)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With
    Columns("G:G").ColumnWidth = 13.57
    Columns("F:F").ColumnWidth = 12.86
    Range("A1").Select
    
  With ActiveSheet
.ListObjects.Add(xlSrcRange, .Range("$A$1:$J$" & .Cells(Rows.Count, 1).End(xlUp).Row), , xlYes).Name = _
"Таблица1"
End With
[/vba]

Код записывал на макрорекодере и немного правил вышеприведенный участок

Автор - Richman
Дата добавления - 17.08.2016 в 17:01
_Boroda_ Дата: Среда, 17.08.2016, 17:14 | Сообщение № 6
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16674
Репутация: 6479 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
А если в "Текст по столбцам" в последнем шаге "поместить в" не в А1, а в В1. Столбец А потом удалить, Столбец В и остальные сместятся вправо влево (В станет А) и формировать из них таблицу
Кстати, если у Вас уже будет "Таблица1", то даст ошибку. Можно вот так (tabN_ - это будет переменная с именем вставленной таблицы)
[vba]
Код
With ActiveSheet
tabN_=.ListObjects.Add(xlSrcRange, .Range("$A$1:$J$" & .Cells(Rows.Count, 1).End(xlUp).Row), , xlYes).Name
End With
[/vba]

Синеедобавлено


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


Сообщение отредактировал _Boroda_ - Среда, 17.08.2016, 17:43
 
Ответить
СообщениеА если в "Текст по столбцам" в последнем шаге "поместить в" не в А1, а в В1. Столбец А потом удалить, Столбец В и остальные сместятся вправо влево (В станет А) и формировать из них таблицу
Кстати, если у Вас уже будет "Таблица1", то даст ошибку. Можно вот так (tabN_ - это будет переменная с именем вставленной таблицы)
[vba]
Код
With ActiveSheet
tabN_=.ListObjects.Add(xlSrcRange, .Range("$A$1:$J$" & .Cells(Rows.Count, 1).End(xlUp).Row), , xlYes).Name
End With
[/vba]

Синеедобавлено

Автор - _Boroda_
Дата добавления - 17.08.2016 в 17:14
Zdx Дата: Среда, 17.08.2016, 17:38 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 4 ±
Замечаний: 0% ±

2010
попробуйте после .Refresh BackgroundQuery:=False добавить
[vba]
Код
...
     .Refresh BackgroundQuery:=False
     .Delete
...
[/vba]


Неизлечимых болезней нет, есть неизлечимые люди.
 
Ответить
Сообщениепопробуйте после .Refresh BackgroundQuery:=False добавить
[vba]
Код
...
     .Refresh BackgroundQuery:=False
     .Delete
...
[/vba]

Автор - Zdx
Дата добавления - 17.08.2016 в 17:38
Richman Дата: Среда, 17.08.2016, 17:59 | Сообщение № 8
Группа: Проверенные
Ранг: Обитатель
Сообщений: 346
Репутация: 54 ±
Замечаний: 0% ±

Excel 2007
А если в "Текст по столбцам" в последнем шаге "поместить в" не в А1, а в В1. Столбец А потом удалить, Столбец В и остальные сместятся вправо и формировать из них таблицу
Кстати, если у Вас уже будет "Таблица1", то даст ошибку. Можно вот так (tabN_ - это будет переменная с именем вставленной таблицы)


Не помогает


С Уважением, Richman

 
Ответить
Сообщение
А если в "Текст по столбцам" в последнем шаге "поместить в" не в А1, а в В1. Столбец А потом удалить, Столбец В и остальные сместятся вправо и формировать из них таблицу
Кстати, если у Вас уже будет "Таблица1", то даст ошибку. Можно вот так (tabN_ - это будет переменная с именем вставленной таблицы)


Не помогает

Автор - Richman
Дата добавления - 17.08.2016 в 17:59
Richman Дата: Среда, 17.08.2016, 18:02 | Сообщение № 9
Группа: Проверенные
Ранг: Обитатель
Сообщений: 346
Репутация: 54 ±
Замечаний: 0% ±

Excel 2007
Zdx, не помогает


С Уважением, Richman

 
Ответить
СообщениеZdx, не помогает

Автор - Richman
Дата добавления - 17.08.2016 в 18:02
Manyasha Дата: Среда, 17.08.2016, 18:28 | Сообщение № 10
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 898 ±
Замечаний: 0% ±

Excel 2010, 2016
.Refresh BackgroundQuery:=False
.Delete

не помогает

странно, а у меня сработало...
А так?
[vba]
Код
ActiveSheet.QueryTables("_storage_sdcard0_CarController").Delete
With ActiveSheet
.ListObjects.Add(xlSrcRange, .Range("$A$1:$J$" & .Cells(Rows.Count, 1).End(xlUp).Row), , xlYes).Name = _
"Таблица1"
End With
[/vba]


ЯД: 410013299366744 WM: R193491431804
 
Ответить
Сообщение
.Refresh BackgroundQuery:=False
.Delete

не помогает

странно, а у меня сработало...
А так?
[vba]
Код
ActiveSheet.QueryTables("_storage_sdcard0_CarController").Delete
With ActiveSheet
.ListObjects.Add(xlSrcRange, .Range("$A$1:$J$" & .Cells(Rows.Count, 1).End(xlUp).Row), , xlYes).Name = _
"Таблица1"
End With
[/vba]

Автор - Manyasha
Дата добавления - 17.08.2016 в 18:28
_Boroda_ Дата: Среда, 17.08.2016, 21:13 | Сообщение № 11
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16674
Репутация: 6479 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Не помогает

Согласен. Это я что-то не то написал
При попытке создания таблицы и ответа "Да" на вопрос из сообщения №4 Обычный макрорекодер пишет вот это
[vba]
Код
    ActiveSheet.QueryTables("_storage_sdcard0_CarController").Delete
    ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$1:$D$35"), , xlYes).Name = _
        "Таблица2"
[/vba]
Это как раз именно то, что Марина выше написала


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

Согласен. Это я что-то не то написал
При попытке создания таблицы и ответа "Да" на вопрос из сообщения №4 Обычный макрорекодер пишет вот это
[vba]
Код
    ActiveSheet.QueryTables("_storage_sdcard0_CarController").Delete
    ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$1:$D$35"), , xlYes).Name = _
        "Таблица2"
[/vba]
Это как раз именно то, что Марина выше написала

Автор - _Boroda_
Дата добавления - 17.08.2016 в 21:13
Richman Дата: Среда, 17.08.2016, 21:17 | Сообщение № 12
Группа: Проверенные
Ранг: Обитатель
Сообщений: 346
Репутация: 54 ±
Замечаний: 0% ±

Excel 2007
А так?

Спасибо большое, работает!


С Уважением, Richman

 
Ответить
Сообщение
А так?

Спасибо большое, работает!

Автор - Richman
Дата добавления - 17.08.2016 в 21:17
krosav4ig Дата: Четверг, 18.08.2016, 01:49 | Сообщение № 13
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
еще вариант [vba]
Код
Dim rng As Range
    With ActiveSheet
        With .QueryTables("_storage_sdcard0_CarController")
            Set rng = .ResultRange
            .Delete
        End With
        .ListObjects.Add(xlSrcRange, rng, , xlYes).Name = "Таблица1"
    End With
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениееще вариант [vba]
Код
Dim rng As Range
    With ActiveSheet
        With .QueryTables("_storage_sdcard0_CarController")
            Set rng = .ResultRange
            .Delete
        End With
        .ListObjects.Add(xlSrcRange, rng, , xlYes).Name = "Таблица1"
    End With
[/vba]

Автор - krosav4ig
Дата добавления - 18.08.2016 в 01:49
Richman Дата: Четверг, 18.08.2016, 16:16 | Сообщение № 14
Группа: Проверенные
Ранг: Обитатель
Сообщений: 346
Репутация: 54 ±
Замечаний: 0% ±

Excel 2007
еще вариант

Спасибо! Работает!


С Уважением, Richman

 
Ответить
Сообщение
еще вариант

Спасибо! Работает!

Автор - Richman
Дата добавления - 18.08.2016 в 16:16
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Таблица из : "$A$1:$J$последняяНеПустаяСтрока" (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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