Vba переключение листов excel vba

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

Visual Basic
1
2
3
4
Set WS1 = ActiveSheet ' активный лист
Set WS2 = ActiveWorkbook.Sheets("Лист1") ' - нужный лист
WS2.Cells(1,1).value=WS2.Cells(1,1).value
WS2.Activate ' - нужный стал активным

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

Чтобы взять/скопировать данные — не нужно «менять» лист, просто нужно в коде указать с какого листа данные берёте и на какой копируете, примерно как выше в коде:

Visual Basic
1
WS1.Cells(1,1).value=WS2.Cells(1,1).value

А вообще — каким макаром ожила эта тема?



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

Andrew's user avatar

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

barrowc's user avatar

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's user avatar

Lance Roberts

22.2k32 gold badges112 silver badges129 bronze badges

answered Jun 10, 2011 at 18:14

Dr. belisarius's user avatar

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. А затем дважды щелкните Эта рабочая тетрадь в Обозреватель проекта чтобы открыть модуль, см. снимок экрана:

doc-toggle-two-sheet1

Внимание: Если Обозреватель проекта не отображается при открытии Microsoft Visual Basic для приложений окна, вы можете нажать Вид И выберите Обозреватель проекта чтобы открыть его, см. снимок экрана:

doc-toggle-two-sheet5

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. Откройте книгу, которую хотите использовать. А затем нажмите Кутулс > Навигация, см. снимок экрана:

doc-toggle-two-sheet2

2, И Область переходов отобразится, затем щелкните Листы меню.

doc-toggle-two-sheet3

3. Затем вы можете щелкнуть два листа, между которыми хотите переключаться, и затем, когда вы нажмете doc-toggle-two-sheet4в Панель навигации, два последних нажатых листа будут переключаться вперед и назад.

Внимание: Вы также можете переключать два листа в двух книгах.

Нажмите, чтобы узнать больше об этой панели навигации.


Статьи по теме:

  • Перечислите все листы в одной книге
  • Перемещение между окнами в книгах
  • Показать панель навигации
  • Переходить между ячейками
  • Список именованных диапазонов
  • Список имен заголовков столбцов

Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка 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.

    msm.ru

    Нравится ресурс?

    Помоги проекту!

    !
    Правила раздела

    1. Не создавайте несколько одинаковых тем, ибо модератор может расценить их, как спам и удалить все.
    2. Для решения задач по GPSS есть отдельная тема. Все задачи по GPSS опубликовывать в этой теме! Перед опубликовыванием вашей задачи просмотрите всю тему, возможно вы сразу найдете решение.
    3. Давайте вашим темам ОСМЫСЛЕННЫЕ названия, а также указывайте язык программирования. Пример: [Pascal]:Работа с файлами и записями.
    4. Использования тега CODE обязательно при публикации текста программы.

    Темы, оформленные с явным игнорированием правил и отсутствием смысла, будут закрыты/удалены!
    Вам помогли? Напишите об этом здесь (в портфолио фрилансера)

    Фрилансерам:
    5. Демпинг цен запрещен (даже если Вы готовы работать бесплатно). Цены обсуждаются в приватном общении. Если вы готовы рещить задачу бесплатно, просто решите ее быстрее, чем возникнет предложение сделать это за деньги.
    6. Пользователям, входящим в группу Newbie, запрещается предлагать свои услуги (завуалированно в т.ч.)
    7. В посте с предложением выполнить работу, обязательно указывать ссылку на свое портфолио в Отзывы, Благодарности, Портфолио Это правило работает и в том случае, если вы выполняете работу бесплатно.
    8. Реклама (даже завуалированная) своих фриланских сайтов запрещена

    Нарушение данных пунктов влечет до RO или БАНА (при неоднократом)

    >
    [Visual Basic] переключение листов
    , переключение листов Excel

    • Подписаться на тему
    • Сообщить другу
    • Скачать/распечатать тему



    Сообщ.
    #1

    ,
    31.01.09, 15:13

      Подскажите плиз программный код для переключения листов в Excel. К примеру, чтобы при нажатии определенной кнопки, Лист1 переключился на Лист2

      Сообщение отредактировано: Milan — 31.01.09, 15:20


      samec



      Сообщ.
      #2

      ,
      31.01.09, 15:25

        Запиши макрос — в котором будешь переключать листы — и посмори код в нём.

        Добавлено 31.01.09, 15:30
        что то типа:

        ExpandedWrap disabled

          Sheets(«Лист1»).Select


        Milan



        Сообщ.
        #3

        ,
        01.02.09, 11:19

          samec спасибо, а как с одного листа перенести строку с данными на другой лист?


          samec



          Сообщ.
          #4

          ,
          01.02.09, 12:05

            ExpandedWrap disabled

                  Rows(«1:1»).Select

                  Selection.Cut

                  Sheets(«Лист2»).Select

                  Rows(«1:1»).Select

                  ActiveSheet.Paste

            выделяется 1-ая строка на текущем листе, затем переход к Лист2 — и вставляется в первую строку на Лист2.

            0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)

            0 пользователей:

            • Предыдущая тема
            • ПОМОЩЬ СТУДЕНТАМ
            • Следующая тема

            Рейтинг@Mail.ru

            [ Script execution time: 0,0205 ]   [ 15 queries used ]   [ Generated: 14.04.23, 17:37 GMT ]  

            Like this post? Please share to your friends:
          • Vba передать диапазон excel в массив
          • Vba параметры страницы excel
          • Vba открыть файл excel с именем
          • Vba открыть файл excel без обновления связей
          • Vba открыть файл csv в excel по столбцам