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

Вход

Регистрация

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

 

= Мир MS Excel/Выборка данных из строки с выделенной ячейкой - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Выборка данных из строки с выделенной ячейкой
yurkost Дата: Четверг, 31.08.2017, 01:03 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Здравствуйте! Помогите создать макрос, который будет по нажатию на кнопку переносить данные ячеек из строки с выделенной ячейкой, в печатную фрму на другом листе. Т.е. из таблицы (файл прикреплен) на листе приемка, данные фио, номер телефона, дата приемки и т.д. на лист квитанция в соответствующие ячейки. Я не могу понять, как сделать выборку именно из строки с выделенной ячейкой. Макрос о вставке данных из одного листа в ячейки на другом листе я записал. Но теперь по нажатию кнопки он переносит только то, что я указал при записи.
К сообщению приложен файл: 0514176.xlsm (27.7 Kb)
 
Ответить
СообщениеЗдравствуйте! Помогите создать макрос, который будет по нажатию на кнопку переносить данные ячеек из строки с выделенной ячейкой, в печатную фрму на другом листе. Т.е. из таблицы (файл прикреплен) на листе приемка, данные фио, номер телефона, дата приемки и т.д. на лист квитанция в соответствующие ячейки. Я не могу понять, как сделать выборку именно из строки с выделенной ячейкой. Макрос о вставке данных из одного листа в ячейки на другом листе я записал. Но теперь по нажатию кнопки он переносит только то, что я указал при записи.

Автор - yurkost
Дата добавления - 31.08.2017 в 01:03
KuklP Дата: Четверг, 31.08.2017, 08:04 | Сообщение № 2
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
[vba]
Код
Sub квитанция()
    Dim r&, sh As Worksheet
    r = ActiveCell.Row: Set sh = Sheets("Ремонт")
    With Sheets("Квитанция")
        .Range("F3") = sh.Cells(r, 1)
        .Range("C14") = sh.Cells(r, 2)
        .Range("C15") = sh.Cells(r, 3)
        .Range("C16") = sh.Cells(r, 4)
        .Range("F14") = sh.Cells(r, 5)
        .Range("H14") = sh.Cells(r, 6)
        .Range("H15") = sh.Cells(r, 7)
        .Range("H16") = sh.Cells(r, 8)
        .Range("H17") = sh.Cells(r, 11)
        .Range("D18") = sh.Cells(r, 9)
        .Range("D19") = sh.Cells(r + 1, 9)
        .Activate
    End With
End Sub
[/vba]


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
Сообщение[vba]
Код
Sub квитанция()
    Dim r&, sh As Worksheet
    r = ActiveCell.Row: Set sh = Sheets("Ремонт")
    With Sheets("Квитанция")
        .Range("F3") = sh.Cells(r, 1)
        .Range("C14") = sh.Cells(r, 2)
        .Range("C15") = sh.Cells(r, 3)
        .Range("C16") = sh.Cells(r, 4)
        .Range("F14") = sh.Cells(r, 5)
        .Range("H14") = sh.Cells(r, 6)
        .Range("H15") = sh.Cells(r, 7)
        .Range("H16") = sh.Cells(r, 8)
        .Range("H17") = sh.Cells(r, 11)
        .Range("D18") = sh.Cells(r, 9)
        .Range("D19") = sh.Cells(r + 1, 9)
        .Activate
    End With
End Sub
[/vba]

Автор - KuklP
Дата добавления - 31.08.2017 в 08:04
K-SerJC Дата: Четверг, 31.08.2017, 08:26 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 487
Репутация: 86 ±
Замечаний: 0% ±

Excel 2013
Но теперь по нажатию кнопки он переносит только то, что я указал при записи.

потому что в коде вашего макроса, записанного макро рекордером указаны конкретные ячейки

попробуйте определить координаты выделенной ячейки например так:
[vba]
Код
r = ActiveCell.Row
c = ActiveCell.Column
[/vba]
еще вам нужно определить в переменные имена листов откуда и куда данные копируются
например:
[vba]
Код
shNamedist ="квитанция"
shNamesourse = ActiveSheet.Name
[/vba]

а дальше просто копируете данные из нужного адреса с листа источника на лист назначения
например:
[vba]
Код
ThisWorkbook.Sheets(shNamedist ).Cells(15, 3).Value=ThisWorkbook.Sheets(shNamesourse).Cells(r, 3).Value
[/vba]
скопирует ФИО, с выделеной строки из столбца 3 на лист квитанция в ячейку 15строки,3столбца


Благими намерениями выстелена дорога в АД.
 
Ответить
Сообщение
Но теперь по нажатию кнопки он переносит только то, что я указал при записи.

потому что в коде вашего макроса, записанного макро рекордером указаны конкретные ячейки

попробуйте определить координаты выделенной ячейки например так:
[vba]
Код
r = ActiveCell.Row
c = ActiveCell.Column
[/vba]
еще вам нужно определить в переменные имена листов откуда и куда данные копируются
например:
[vba]
Код
shNamedist ="квитанция"
shNamesourse = ActiveSheet.Name
[/vba]

а дальше просто копируете данные из нужного адреса с листа источника на лист назначения
например:
[vba]
Код
ThisWorkbook.Sheets(shNamedist ).Cells(15, 3).Value=ThisWorkbook.Sheets(shNamesourse).Cells(r, 3).Value
[/vba]
скопирует ФИО, с выделеной строки из столбца 3 на лист квитанция в ячейку 15строки,3столбца

Автор - K-SerJC
Дата добавления - 31.08.2017 в 08:26
yurkost Дата: Четверг, 31.08.2017, 10:54 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Спасибо, что откликнулись и помогаете. Но я смотрю на ваши коды, как таракан на рецепт шаурмы... Я немного програмировал, но мне нужно понимать все функции, т.е. знать их перевод на русский, чтобы оперировать ими. Я конечно буду сейчас пробовать разобраться в этом "рецепте", но будет очень сложно, не зная как эти "продукты" выглядят.поэтому, если не сложно напишите код в самом файле хотябы для копирования двух ячеек с подробными коментариями, очень прошу. А там я уже по аналогии... А то из кусков тяжело собрать.
 
Ответить
СообщениеСпасибо, что откликнулись и помогаете. Но я смотрю на ваши коды, как таракан на рецепт шаурмы... Я немного програмировал, но мне нужно понимать все функции, т.е. знать их перевод на русский, чтобы оперировать ими. Я конечно буду сейчас пробовать разобраться в этом "рецепте", но будет очень сложно, не зная как эти "продукты" выглядят.поэтому, если не сложно напишите код в самом файле хотябы для копирования двух ячеек с подробными коментариями, очень прошу. А там я уже по аналогии... А то из кусков тяжело собрать.

Автор - yurkost
Дата добавления - 31.08.2017 в 10:54
yurkost Дата: Четверг, 31.08.2017, 11:14 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Sub квитанция()
Dim r&, sh As Worksheet
r = ActiveCell.Row: Set sh = Sheets("Ремонт")
With Sheets("Квитанция")
.Range("F3") = sh.Cells(r, 1)
.Range("C14") = sh.Cells(r, 2)
.Range("C15") = sh.Cells(r, 3)
.Range("C16") = sh.Cells(r, 4)
.Range("F14") = sh.Cells(r, 5)
.Range("H14") = sh.Cells(r, 6)
.Range("H15") = sh.Cells(r, 7)
.Range("H16") = sh.Cells(r, 8)
.Range("H17") = sh.Cells(r, 11)
.Range("D18") = sh.Cells(r, 9)
.Range("D19") = sh.Cells(r + 1, 9)
.Activate
End With
End Sub

KuklP, Ой, спасибо! Через телефон смотрел, и не увидел, что вы прислали готовое решение. Спасибо огромное. Теперь буду разбираться, как это работает, и как применить этио к другим печатным формам... Поясните пожалуйста, что значит вот это: .Range("D19") = sh.Cells(r + 1, 9)


Сообщение отредактировал yurkost - Четверг, 31.08.2017, 11:17
 
Ответить
Сообщение
Sub квитанция()
Dim r&, sh As Worksheet
r = ActiveCell.Row: Set sh = Sheets("Ремонт")
With Sheets("Квитанция")
.Range("F3") = sh.Cells(r, 1)
.Range("C14") = sh.Cells(r, 2)
.Range("C15") = sh.Cells(r, 3)
.Range("C16") = sh.Cells(r, 4)
.Range("F14") = sh.Cells(r, 5)
.Range("H14") = sh.Cells(r, 6)
.Range("H15") = sh.Cells(r, 7)
.Range("H16") = sh.Cells(r, 8)
.Range("H17") = sh.Cells(r, 11)
.Range("D18") = sh.Cells(r, 9)
.Range("D19") = sh.Cells(r + 1, 9)
.Activate
End With
End Sub

KuklP, Ой, спасибо! Через телефон смотрел, и не увидел, что вы прислали готовое решение. Спасибо огромное. Теперь буду разбираться, как это работает, и как применить этио к другим печатным формам... Поясните пожалуйста, что значит вот это: .Range("D19") = sh.Cells(r + 1, 9)

Автор - yurkost
Дата добавления - 31.08.2017 в 11:14
yurkost Дата: Суббота, 02.09.2017, 09:51 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Все получилось, спасибо. Тему можно закрывать,. Но думаю, что не понимая смысл этих функций это мало кому поможет.
 
Ответить
СообщениеВсе получилось, спасибо. Тему можно закрывать,. Но думаю, что не понимая смысл этих функций это мало кому поможет.

Автор - yurkost
Дата добавления - 02.09.2017 в 09:51
  • Страница 1 из 1
  • 1
Поиск:

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