powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Деактивация выделения на предыдущем листе
6 сообщений из 6, страница 1 из 1
Деактивация выделения на предыдущем листе
    #34423309
Jarven
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sub CopyRows()
Dim cur_range As Range
With ActiveSheet
Set cur_range = Selection
cur_range.Copy

Worksheets("Новый").Select
Call GetRealLastCell
ActiveCell.PasteSpecial (xlPasteAll)
Range("A:F").Columns.AutoFit
End With

End Sub

Public Sub GetRealLastCell()
Dim realLastRow As Long
Dim realLastColumn As Long
Range("A1").Select

On Error Resume Next
realLastRow = Cells.Find("*", Range("A1"), _
xlFormulas, , xlByRows, xlPrevious).Row
realLastColumn = Cells.Find("*", Range("A1"), _
xlFormulas, , xlByColumns, xlPrevious).Column
Cells(realLastRow, realLastColumn).Offset(1, -3).Select
End Sub

Этот макрос позволяет скопировать и вставить в лист с названием "Новый" данные, выделенные в другом (каком-либо) листе. Каким образом можно снять выделение в предыдущем листе?
...
Рейтинг: 0 / 0
Деактивация выделения на предыдущем листе
    #34424357
Wasup!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Worksheets("Старый").cells(1,1).select
Подойдет?
...
Рейтинг: 0 / 0
Деактивация выделения на предыдущем листе
    #34424510
Jarven
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Wasup!Worksheets("Старый").cells(1,1).select
Подойдет?

Шутка - смешная, своевременная :)

В том то и дело, что предыдущий лист может быть любой, т.е. часть кода

With ActiveSheet

подразумевает, любой активный лист, а строка

Worksheets("Новый").Select

его деактивирует...
...
Рейтинг: 0 / 0
Деактивация выделения на предыдущем листе
    #34424771
SoftParanoik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sub CopyRows()
With Selection
.Copy
.Cells(1, 1).Select
End With

Worksheets("Новый").Select

Call GetRealLastCell

ActiveCell.PasteSpecial xlPasteAll
Application.CutCopyMode = False
Range("A:F").Columns.AutoFit
End Sub
...
Рейтинг: 0 / 0
Деактивация выделения на предыдущем листе
    #34424776
SoftParanoik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sub CopyRows()
With Selection
.Copy
.Cells(1, 1).Select
End With

Worksheets("Новый").Select

Call GetRealLastCell

ActiveCell.PasteSpecial xlPasteAll
Application.CutCopyMode = False
Range("A:F").Columns.AutoFit
End Sub
...
Рейтинг: 0 / 0
Деактивация выделения на предыдущем листе
    #34426317
Jarven
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SoftParanoikSub CopyRows()
With Selection
.Copy
.Cells(1, 1).Select
End With

Worksheets("Новый").Select

Call GetRealLastCell

ActiveCell.PasteSpecial xlPasteAll
Application.CutCopyMode = False
Range("A:F").Columns.AutoFit
End Sub

Спасибо огромное. Объясни, пожалуйста, как происходит работа с выделением без объявления её областьюю или переменной? И что за механизм заложен в синтаксисе
.Copy
.Cells...

Я пользую учебную литературу "Excel 2003 и VBA" Пол Киммел, Джон Грин и т.д., но такого там не встречал...
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Деактивация выделения на предыдущем листе
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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