powered by simpleCommunicator - 2.0.39     © 2025 Programmizd 02
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Не получается выделить несмежные столбцы
5 сообщений из 5, страница 1 из 1
Не получается выделить несмежные столбцы
    #39140111
Shurshit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хочу скопировать несмежные столбцы из одной книги в другую. Ругается на строке
wb1.ActiveSheet.Range("A:A, C:C").Select

Текст сообщения:
Run-time error 1004: Application-defined or object-defined error

Если вместо wb1.ActiveSheet.Range("A:A, C:C").Select написать ActiveWorkbook.ActiveSheet.Range("A:A, C:C").Select ,
то ошибка не выходит, но выделение идет не в wb1 а в той книге, в которой находится макрос.

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
      fName = ThisWorkbook.ActiveSheet.Cells(i, 1)
      Set wb1 = xl.Workbooks.Open(path1 & fName & ".xlsb", , True)
      Set wb2 = xl.Workbooks.Add
      
      wb1.Activate
      wb1.Sheets("Лист1").Activate
      wb1.ActiveSheet.Range("A:A, C:C").Select 'строка, на которой происходит ошибка
      xl.Selection.Copy
                  
      wb2.Sheets("Лист1").Activate
      wb2.ActiveSheet.[A1].Select
      xl.Selection.PasteSpecial Paste:=xlPasteValues
      
...
Рейтинг: 0 / 0
Не получается выделить несмежные столбцы
    #39140122
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Не получается выделить несмежные столбцы
    #39140450
Shurshit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробовал избавиться от select, activate.
Но все равно проблема осталась та же: копирование несмежных столбцов из другой книги wb1.Sheets("Лист1").Range("A:A, C:C").Copy не работает. Error 1004

В то время как
wb1.Sheets("Лист1").Range("A:C").Copy - копирование смежных столбцов из другой книги
и
ThisWorkbook.Sheets("Лист1").Range("A:A, C:C").Copy - копирование несмежных столбцов из книги с макросом
работают.
...
Рейтинг: 0 / 0
Не получается выделить несмежные столбцы
    #39140493
Maxim12345678
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shurshit, посмотрите справку Range Copy Method
Код: vbnet
1.
2.
Worksheets("Sheet1").Range("A1:D4").Copy _
    destination:=Worksheets("Sheet2").Range("E5") 
...
Рейтинг: 0 / 0
Не получается выделить несмежные столбцы
    #39141511
Shurshit,
А нужно именно Копировать столбцы или достаточно перенести из них значения?
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Private Sub Shurshit()

    Dim wbout As Workbook   ' книга - получатель
    Dim wbin As Workbook    ' книга - источник
    Dim arr, arr1   ' массивы, через которые полетят данные
    
    Set wbout = ActiveWorkbook  ' детерминирована книга получатель
    Set wbin = Workbooks.Open(ActiveWorkbook.Path & "\Input.xls")  ' открываем книгу источник

    arr = wbin.Sheets(1).Range("a:a")      ' arr получает значение от ("a:a") источника
    arr1 = wbin.Sheets(1).Range("c:c")
    wbin.Close                  ' массивы заполнены данными, источник можно закрывать
    wbout.ActiveSheet.Range("a:a") = arr   ' выводим значниея получателю
    wbout.ActiveSheet.Range("c:c") = arr1

End Sub


Подозреваю, в большинстве случаев лучше тащить только значения из ячеек, чем копировать их целиком со всеми границами, заливками, шрифтами, условными форматами и прочими подвохами...
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Не получается выделить несмежные столбцы
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]