Gala_k |
|
1 |
|
02.06.2011, 16:29. Показов 56960. Ответов 5
Мне нужно взять данные с одного листа и скопировать их в ячейки другого листа и далее работать со вторым листом. Какой командой можно поменять лист? Помогите. |
1 / 1 / 1 Регистрация: 10.04.2011 Сообщений: 415 |
|
02.06.2011, 17:06 |
2 |
1. Используй запись макросов, ё-моё! — эксель тебе сам все распишет, и как копировать, и как лист поменять…
0 |
Gala_k |
|
02.06.2011, 17:17 |
3 |
я понимаю что через макрос, но только чтоб я не писала он у меня работает только с первым листом, а на второй ничего выводить не хочет. |
Сумрак |
||||
03.06.2011, 04:38 |
4 |
|||
|
0 / 0 / 0 Регистрация: 11.11.2019 Сообщений: 3 |
|
24.02.2020, 18:31 |
5 |
Sheets(«нужный лист»).Select
0 |
Hugo121 6875 / 2807 / 533 Регистрация: 19.10.2012 Сообщений: 8,562 |
||||
24.02.2020, 18:43 |
6 |
|||
Чтобы взять/скопировать данные — не нужно «менять» лист, просто нужно в коде указать с какого листа данные берёте и на какой копируете, примерно как выше в коде:
А вообще — каким макаром ожила эта тема?
0 |
Asked
11 years, 10 months ago
Viewed
88k times
I’m currently doing this Sheets("Sheet2").Range("A1").Value = 35
, but I want to a way to do just this Range("A1").Value = 35
, by switching the sheet on a separate line before. I tried Sheets("Sheet2").Select
, but that only switches the sheet it displays at the end to sheet 2.
asked Jun 10, 2011 at 17:52
You can use the With
keyword in VBA to achieve this. You can turn:
Sheets("Sheet2").Range("A1").Value = 35
into:
With Sheets("Sheet2")
.Range("A1").Value = 35
' do some other stuff
End With
Note the leading . before Range. This means: use the object from the With
statement
Alternatively, you could assign the worksheet to a variable and just use that.
Dim ws as Worksheet
Set ws = Sheets("Sheet2")
ws.Range("A1").Value = 35
answered Jun 11, 2011 at 2:07
barrowcbarrowc
10.4k1 gold badge39 silver badges52 bronze badges
0
Here is how you do that
Sub a()
Sheets("Sheet2").Activate
Range("A1").Value = 35
End Sub
Lance Roberts
22.2k32 gold badges112 silver badges129 bronze badges
answered Jun 10, 2011 at 18:14
Dr. belisariusDr. belisarius
60.4k15 gold badges114 silver badges190 bronze badges
0
Предположим, у вас есть книга, содержащая множество листов, но часто вам просто нужно перемещаться между двумя конкретными несмежными листами, такими как Sheet1 и Sheet 30. Как вы могли быстро и легко переключаться между этими двумя несмежными листами в Excel?
Переключение между двумя несмежными листами с кодом VBA
Переключение между двумя несмежными листами с помощью Kutools for Excel
Переключение между двумя несмежными листами с кодом VBA
Следующий код VBA может помочь вам перемещаться между двумя конкретными рабочими листами, пожалуйста, сделайте следующее:
1. Удерживайте ALT + F11 ключи, и он открывает Microsoft Visual Basic для приложений окно.
2. А затем дважды щелкните Эта рабочая тетрадь в Обозреватель проекта чтобы открыть модуль, см. снимок экрана:
Внимание: Если Обозреватель проекта не отображается при открытии Microsoft Visual Basic для приложений окна, вы можете нажать Вид И выберите Обозреватель проекта чтобы открыть его, см. снимок экрана:
3. А затем вставьте следующий код в Окно модуля.
VBA: переключение между двумя несмежными листами
Public LateWsName As String
'Update 20130830
Sub ToggleSheets()
If LateWsName <> "" Then
Application.Sheets(LateWsName).Activate
End If
End Sub
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
LateWsName = Sh.Name
End Sub
4. И щелкните два листа (Sheet1 и Sheet30), между которыми вы хотите переключаться один за другим.
5, Затем нажмите F5 для запуска этого кода, если вы нажмете один раз, отобразится Лист 1, и нажмите еще раз, Лист 30 будет переключен. Таким образом, вы можете переключать эти два листа назад и вперед, нажимая кнопку F5 .
Переключение между двумя несмежными листами с помощью Kutools for Excel
Возможно, приведенный выше код для вас несколько сложен, здесь я могу представить вам простой способ выполнить эту задачу одним щелчком мыши.
Kutools for Excel включает более 300 удобных инструментов Excel. Бесплатная пробная версия без ограничений в течение 30 дней. Получить сейчас.
Когда вы установили Kutools for Excel, выполните следующие действия:
1. Откройте книгу, которую хотите использовать. А затем нажмите Кутулс > Навигация, см. снимок экрана:
2, И Область переходов отобразится, затем щелкните Листы меню.
3. Затем вы можете щелкнуть два листа, между которыми хотите переключаться, и затем, когда вы нажмете в Панель навигации, два последних нажатых листа будут переключаться вперед и назад.
Внимание: Вы также можете переключать два листа в двух книгах.
Нажмите, чтобы узнать больше об этой панели навигации.
Статьи по теме:
- Перечислите все листы в одной книге
- Перемещение между окнами в книгах
- Показать панель навигации
- Переходить между ячейками
- Список именованных диапазонов
- Список имен заголовков столбцов
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Комментарии (1)
Оценок пока нет. Оцените первым!
У меня есть такие листы «БД», «Накладная[COLOR=»Red»]1[/COLOR]». Листы «Склад» и «БД» статичны. А Лист «Накладная…» переменная. То есть после каждого запуска программы это может быть «Накладная1», а может быть «Накладная2» или «Накладная…». Это зависит от того, с какого листа пользователь запустит программу.
При запуске программы открывается диалоговое окно. В нем есть ComboBox и TextBox.
Что мне нужно сделать:
1. В ComboBox загрузить данные из листа «БД».
2. После ручного ввода дополнительных данных в TextBox, и выбора элемента из списка ComboBox мне надо вернуться на лист «Накладная…», с которого я запустил программу. Заранее я не знаю, какой будет номер у листа после слов «Накладная».
3. Записать данные из диалогового окна (или формы) в лист «Накладная…».
Для перехода из листа в лист я пишу следующий код:
Sheets(«БД»).Select
Если бы я например знал, с какого листа будет стартована программа (например, с листа «Накладная23»), то я бы написал следующий код:
Sheets(«Накладная23»).Select
Но это может быть какая угодно Накладная. Я не знаю кода, который позволял бы делать переходы не так прямолинейно и явно.
=====================================================
Когда-то давно я пользовался командой Range(«H21»).Select для объявления ячейки, но не мог свободно перемещаться между ними пока не узнал про команду Cells(y,x). Сейчас я ищу аналог для перемещения между листами книги на подобии Cells.
|
|
|
Правила раздела
1. Не создавайте несколько одинаковых тем, ибо модератор может расценить их, как спам и удалить все.
2. Для решения задач по GPSS есть отдельная тема. Все задачи по GPSS опубликовывать в этой теме! Перед опубликовыванием вашей задачи просмотрите всю тему, возможно вы сразу найдете решение.
3. Давайте вашим темам ОСМЫСЛЕННЫЕ названия, а также указывайте язык программирования. Пример: [Pascal]:Работа с файлами и записями.
4. Использования тега CODE обязательно при публикации текста программы.
Темы, оформленные с явным игнорированием правил и отсутствием смысла, будут закрыты/удалены!
Вам помогли? Напишите об этом здесь (в портфолио фрилансера)
Фрилансерам:
5. Демпинг цен запрещен (даже если Вы готовы работать бесплатно). Цены обсуждаются в приватном общении. Если вы готовы рещить задачу бесплатно, просто решите ее быстрее, чем возникнет предложение сделать это за деньги.
6. Пользователям, входящим в группу Newbie, запрещается предлагать свои услуги (завуалированно в т.ч.)
7. В посте с предложением выполнить работу, обязательно указывать ссылку на свое портфолио в Отзывы, Благодарности, Портфолио Это правило работает и в том случае, если вы выполняете работу бесплатно.
8. Реклама (даже завуалированная) своих фриланских сайтов запрещена
Нарушение данных пунктов влечет до RO или БАНА (при неоднократом)
[Visual Basic] переключение листов
, переключение листов Excel
- Подписаться на тему
- Сообщить другу
- Скачать/распечатать тему
|
|
Подскажите плиз программный код для переключения листов в Excel. К примеру, чтобы при нажатии определенной кнопки, Лист1 переключился на Лист2 Сообщение отредактировано: Milan — 31.01.09, 15:20 |
samec |
|
Запиши макрос — в котором будешь переключать листы — и посмори код в нём. Добавлено 31.01.09, 15:30
Sheets(«Лист1»).Select |
Milan |
|
samec спасибо, а как с одного листа перенести строку с данными на другой лист? |
samec |
|
Rows(«1:1»).Select Selection.Cut Sheets(«Лист2»).Select Rows(«1:1»).Select ActiveSheet.Paste выделяется 1-ая строка на текущем листе, затем переход к Лист2 — и вставляется в первую строку на Лист2. |
0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
0 пользователей:
- Предыдущая тема
- ПОМОЩЬ СТУДЕНТАМ
- Следующая тема
[ Script execution time: 0,0205 ] [ 15 queries used ] [ Generated: 14.04.23, 17:37 GMT ]