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

Вход

Регистрация

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

 

= Мир MS Excel/при вводе ФИО сотрудника вывести данные о нем с др.листа - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » при вводе ФИО сотрудника вывести данные о нем с др.листа (Макросы/Sub)
при вводе ФИО сотрудника вывести данные о нем с др.листа
ane4ka87 Дата: Четверг, 19.05.2022, 17:55 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 17
Репутация: 0 ±
Замечаний: 0% ±

Добрый день!
Очень нужна ваша помощь.
Есть задача....при выборе ФИО сотрудника (лист "расчет"), заполняется информация о нем в ячейках B4, B5, B6. Данные берутся с листа "май".

Заранее благодарю. yes
К сообщению приложен файл: 4938459.xlsm (20.9 Kb)
 
Ответить
СообщениеДобрый день!
Очень нужна ваша помощь.
Есть задача....при выборе ФИО сотрудника (лист "расчет"), заполняется информация о нем в ячейках B4, B5, B6. Данные берутся с листа "май".

Заранее благодарю. yes

Автор - ane4ka87
Дата добавления - 19.05.2022 в 17:55
RAN Дата: Четверг, 19.05.2022, 19:06 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
И накой нужен макрос в примитивной задаче для функции ВПР()?


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеИ накой нужен макрос в примитивной задаче для функции ВПР()?

Автор - RAN
Дата добавления - 19.05.2022 в 19:06
ane4ka87 Дата: Четверг, 19.05.2022, 20:22 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 17
Репутация: 0 ±
Замечаний: 0% ±

Это своего рода карточка сотрудника, на которой будет множество информацию, взятой из разных листов excel. Делать все функциями, конечно можно, но макрос бы мне значительно упростил задачу.
 
Ответить
СообщениеЭто своего рода карточка сотрудника, на которой будет множество информацию, взятой из разных листов excel. Делать все функциями, конечно можно, но макрос бы мне значительно упростил задачу.

Автор - ane4ka87
Дата добавления - 19.05.2022 в 20:22
Kuzmich Дата: Четверг, 19.05.2022, 21:37 | Сообщение № 4
Группа: Проверенные
Ранг: Ветеран
Сообщений: 711
Репутация: 156 ±
Замечаний: 0% ±

Excel 2003
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim idData As Range
    Set idData = Intersect(Target, Range("C1"))
    If Not idData Is Nothing Then
        Set shData = Sheets("май")
            If idData <> "" Then
                With shData
                    r = .Columns(1).Find(idData, , xlValues, xlWhole).Row
                    c = .Rows(1).Find("Проект", , xlValues, xlWhole).Column
                    Range("B4").Resize(3) = WorksheetFunction.Transpose(.Cells(r, 2).Resize(, 3))
                End With
            End If
    End If
End Sub
[/vba]
 
Ответить
Сообщение[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim idData As Range
    Set idData = Intersect(Target, Range("C1"))
    If Not idData Is Nothing Then
        Set shData = Sheets("май")
            If idData <> "" Then
                With shData
                    r = .Columns(1).Find(idData, , xlValues, xlWhole).Row
                    c = .Rows(1).Find("Проект", , xlValues, xlWhole).Column
                    Range("B4").Resize(3) = WorksheetFunction.Transpose(.Cells(r, 2).Resize(, 3))
                End With
            End If
    End If
End Sub
[/vba]

Автор - Kuzmich
Дата добавления - 19.05.2022 в 21:37
ane4ka87 Дата: Четверг, 19.05.2022, 22:05 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 17
Репутация: 0 ±
Замечаний: 0% ±

Kuzmich, огромное Вам спасибо! Все работает hands
 
Ответить
СообщениеKuzmich, огромное Вам спасибо! Все работает hands

Автор - ane4ka87
Дата добавления - 19.05.2022 в 22:05
ane4ka87 Дата: Четверг, 19.05.2022, 22:07 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 17
Репутация: 0 ±
Замечаний: 0% ±

Kuzmich,
[vba]
Код
Range("B4").Resize(3) = WorksheetFunction.Transpose(.Cells(r, 2).Resize(, 3))
[/vba]
не могли бы Вы объяснить вот эту часть кода?

Заранее благодарю!


Сообщение отредактировал Serge_007 - Четверг, 26.05.2022, 11:30
 
Ответить
СообщениеKuzmich,
[vba]
Код
Range("B4").Resize(3) = WorksheetFunction.Transpose(.Cells(r, 2).Resize(, 3))
[/vba]
не могли бы Вы объяснить вот эту часть кода?

Заранее благодарю!

Автор - ane4ka87
Дата добавления - 19.05.2022 в 22:07
Kuzmich Дата: Четверг, 19.05.2022, 22:17 | Сообщение № 7
Группа: Проверенные
Ранг: Ветеран
Сообщений: 711
Репутация: 156 ±
Замечаний: 0% ±

Excel 2003
У вас данные на листе май расположены по горизонтали, а вам их надо трансформировать в вертикальный столбец,
поэтому WorksheetFunction.Transpose
Аргумент с можно не вычислять, т.к. и так ясно, что Проект - это 2-ой столбец


Сообщение отредактировал Kuzmich - Четверг, 19.05.2022, 22:18
 
Ответить
СообщениеУ вас данные на листе май расположены по горизонтали, а вам их надо трансформировать в вертикальный столбец,
поэтому WorksheetFunction.Transpose
Аргумент с можно не вычислять, т.к. и так ясно, что Проект - это 2-ой столбец

Автор - Kuzmich
Дата добавления - 19.05.2022 в 22:17
ane4ka87 Дата: Среда, 25.05.2022, 19:35 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 17
Репутация: 0 ±
Замечаний: 0% ±

Kuzmich, добрый вечер!
Подскажите, пожалуйста, нужно чтобы часть данных с листа "май" переносилась в другие ячейки на листе "расчет".
Как это можно осуществить?
К сообщению приложен файл: 4315159.xlsm (22.2 Kb)
 
Ответить
СообщениеKuzmich, добрый вечер!
Подскажите, пожалуйста, нужно чтобы часть данных с листа "май" переносилась в другие ячейки на листе "расчет".
Как это можно осуществить?

Автор - ane4ka87
Дата добавления - 25.05.2022 в 19:35
Kuzmich Дата: Среда, 25.05.2022, 23:21 | Сообщение № 9
Группа: Проверенные
Ранг: Ветеран
Сообщений: 711
Репутация: 156 ±
Замечаний: 0% ±

Excel 2003
Цитата
Как это можно осуществить?

Добавьте в макрос строку
[vba]
Код
Range("D4").Resize(3) = WorksheetFunction.Transpose(.Cells(r, 5).Resize(, 3))
[/vba]
 
Ответить
Сообщение
Цитата
Как это можно осуществить?

Добавьте в макрос строку
[vba]
Код
Range("D4").Resize(3) = WorksheetFunction.Transpose(.Cells(r, 5).Resize(, 3))
[/vba]

Автор - Kuzmich
Дата добавления - 25.05.2022 в 23:21
ane4ka87 Дата: Пятница, 27.05.2022, 08:46 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 17
Репутация: 0 ±
Замечаний: 0% ±

Kuzmich, спасибо огромное!
Тоже разобралась, как сделать. yes
 
Ответить
СообщениеKuzmich, спасибо огромное!
Тоже разобралась, как сделать. yes

Автор - ane4ka87
Дата добавления - 27.05.2022 в 08:46
Мир MS Excel » Вопросы и решения » Вопросы по VBA » при вводе ФИО сотрудника вывести данные о нем с др.листа (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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