Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.07.2009, 06:59   #1
AlexP15
 
Регистрация: 31.07.2009
Сообщений: 4
Восклицание помогите сделать автоматический перенос данных с одного листа на другой

Доброго времени суток.
Помогите пожалуйста!!!
Уже совсем голова не варит, только что главбух дала задание, а я вот никак не могу додуматься как его сделать.
У меня есть таблица exel с 2 листами, на одном листе у меня таблица с данными типа: №, дата, ФИО, наименование, кол-во, сумма и т.п. На втором "шаблон-форма" (если его можно так назвать) с теми же полями только расположенными по другому.
Она хочет чтобы при введении № менялись данные соответствующие этому номеру и все чтобы делалось в одной форме.
Т.е. к примеру у нас таблица: № - 1, ФИО - Иванов Иван Иванович, наименование - сыр, кол-во - 1; № - 1, ФИО - Петров Петр Петрович, наименование - колбаса, кол-во - 2 и т.д.... К примеру в "шаблоне" вводим в ячейку "№" значение 1 и те же пункты, что и в таблице автоматически заполняются значениями соответствующими этому номеру. В данном случае Иванов Иван Иванович, если вводим 2, то значения меняются на Петров Петр Пектрович и т.д.

Очень прошу помогите сам не додумаюсь....
Во вложении документ который необходимо сделать, листы "шаблон"-сам шаблон и "010709"-таблица.
Вложения
Тип файла: rar help.rar (13.2 Кб, 62 просмотров)
AlexP15 вне форума Ответить с цитированием
Старый 31.07.2009, 07:28   #2
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

посмотрите вложение. Измените номер в ячейке "C1" на листе "шаблон".
Вложения
Тип файла: rar help_2.rar (15.9 Кб, 221 просмотров)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 31.07.2009, 07:42   #3
AlexP15
 
Регистрация: 31.07.2009
Сообщений: 4
По умолчанию RE:

SAS888, спасибо тебе огромное!!!!
Я бы голову ломал как это сделать через функцию Если!!!
AlexP15 вне форума Ответить с цитированием
Старый 10.10.2013, 15:35   #4
saf-ring
 
Регистрация: 10.10.2013
Сообщений: 3
По умолчанию

Подскажите пожалуйста! А как сделать так чтобы при заполнении анкеты на листе "шаблон" данные автоматические вносились в таблицу на листе "010709". Такое возможно???
saf-ring вне форума Ответить с цитированием
Старый 10.10.2013, 17:18   #5
Nicolas_46
Пользователь
 
Регистрация: 13.09.2012
Сообщений: 53
По умолчанию

VBA способно на многое)

Код:
Sub Передача()
Application.ScreenUpdating = False
On Error Resume Next
A = [C1]
s = [C2]
Q = [A4]
W = [A7]
D = [B7]
F = [C7]
G = [H5]
H = [H6]
J = [H7]

Sheets("010709").Select

Range("A45").Select

For M = 45 To Cells(Rows.Count, 1).Row
If IsEmpty(ActiveCell.Value) = False Then
ActiveCell.Offset(1, 0).Select

Else: Exit For
End If
Next M
K = ActiveCell.Row
L = ActiveCell.Offset(-1, 0)
Z = ActiveCell.Address
Rows(K & ":" & K).Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Range(Z).Select

ActiveCell = L + 1
ActiveCell.Offset(0, 1) = A
ActiveCell.Offset(0, 2) = s
ActiveCell.Offset(0, 3) = Q
ActiveCell.Offset(0, 4) = W
ActiveCell.Offset(0, 5) = D
ActiveCell.Offset(0, 6) = F
ActiveCell.Offset(29, 4) = G
ActiveCell.Offset(32, 4) = H
ActiveCell.Offset(35, 4) = J

End Sub
Вложения
Тип файла: zip help_2.zip (28.3 Кб, 48 просмотров)

Последний раз редактировалось Nicolas_46; 10.10.2013 в 17:28.
Nicolas_46 вне форума Ответить с цитированием
Старый 10.10.2013, 18:03   #6
saf-ring
 
Регистрация: 10.10.2013
Сообщений: 3
По умолчанию

Спасибо огромное! Выручили
saf-ring вне форума Ответить с цитированием
Старый 10.10.2013, 18:17   #7
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Что-то гляда на код - кажется что можно всё "сказать" одной строкой
Только вот убегаю уже... Файл не смотрел.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 12.10.2013, 15:13   #8
saf-ring
 
Регистрация: 10.10.2013
Сообщений: 3
По умолчанию

Уважаемые гуру, пытался я заменить под свою таблицу, но знания у меня на уровне "дуба" Помогите разобраться. Есть лист со списком и лист с анкетой. Как сделать так чтобы данные из анкеты добавлялись в соответствующие столбцы на листе "список" так же как и в предыдущем примеру по индексу. Объясните пожалуйста какие значения в коде мне нужно заменить?
Вложения
Тип файла: rar 1.rar (5.8 Кб, 29 просмотров)

Последний раз редактировалось saf-ring; 12.10.2013 в 15:30.
saf-ring вне форума Ответить с цитированием
Старый 12.10.2013, 16:15   #9
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

ну, если по индексу... то приблизительно так:
Код:
Sub CopyQuest2List()
  With Worksheets("Список")
    .Cells(.Cells(Rows.Count, 3).End(xlUp).Row + 1, 2).Resize(1, Cells(2, 1).End(xlDown).Row - 1).Value = _
    WorksheetFunction.Transpose(Cells(2, 2).Resize(Cells(2, 1).End(xlDown).Row - 1, 1).Value)
  End With
End Sub
выполнять при активном листе "Анкета"
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перенос данных с одного листа в другой Josser Microsoft Office Excel 0 17.07.2009 10:45
Перенос из одного листа в другой в зависимости от значений Rurikovitch Microsoft Office Excel 3 15.05.2009 20:29
перенос значений с одного листа на другой ANDREEY Помощь студентам 2 10.02.2009 23:22
Автоматический перенос данных из общего листа в другие InvoiceControl Microsoft Office Excel 3 02.10.2008 13:21
Excel-перенос иформации с одного листа в другой согласно условия ЛюдмилаЗ Microsoft Office Excel 2 28.05.2008 12:38