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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.12.2011, 13:27   #1
Анастасия Дмитриев
Новичок
Джуниор
 
Регистрация: 04.01.2010
Сообщений: 1
По умолчанию Копирование данных из одной таблицы в другую согласно названиям строк и столбцов

1. У меня есть таблица с исходными данными, там указано количество товаров по названию и стране происхождения.
2. мне нужно перенести цифры (количество товаров) согласно названию и стране происхождения из таблицы «Исходные данные» в таблицу «Копия». Просто скопировать я не могу, потому что названия товаров и стран в таблице «Копия» указанны в другом порядке.
3. Я пробовала задать два массива Dim x as Range, y as Range
Задать область для x, y
Set x=Range(„A:A“)
Set y=Range(“B:D”)
Set x=y
Задать шлейф: чтобы программа открыла «Исходные данные», просмотрела название и данные (цифры), запомнила. Потом открыла «Копия» сравнила по названиям строк и столбцов и вставила нужное значение.
Но я к сожалению не так хорошо знаю vba чтобы написать этот код(((

что то не так

Sub Макрос1()
Dim x As Range, y As Range
Set x = Range("A:A")
Set y = Range("B:D")
Set x = y
Do
Windows("Исходные данные.xls").Activate
Sheets("Лист3").Select
If Cells(i, 2) <> "" Then
i = i + 1
End If
Loop

Do
Windows("Копия.xls").Activate
Sheets("Лист3").Select
If Cells(i, 1) = x Then
Cells(i, 2) = y
End If

Loop
End Sub

Помогите,пожалууйста, кто чем может
Вложения
Тип файла: rar Desktop.rar (8.4 Кб, 17 просмотров)
Анастасия Дмитриев вне форума Ответить с цитированием
Старый 25.12.2011, 20:42   #2
nilem
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 616
По умолчанию

Попробуйте вот это вставить в модуль книги "Копия"
Код:
Sub ert()
Dim ish As Range, str As String
Set ish = Workbooks("Исходные данные.xls").Sheets("Лист3").Range("A1").CurrentRegion
str = "'[Исходные данные.xls]Лист3'!"
With ThisWorkbook.Sheets("Лист3").Range("A1").CurrentRegion
    .Offset(1, 1).Resize(.Rows.Count - 1, .Columns.Count - 1).Formula = _
    "=INDEX(" & str & ish.Address & ",MATCH(" & .Cells(2, 1).Address(0, 1) & "," & str & ish.Columns(1).Address & _
    ",0),MATCH(" & .Cells(1, 2).Address(1, 0) & "," & str & ish.Rows(1).Address & ",0))"
    .SpecialCells(xlCellTypeFormulas, 16).ClearContents
    .Value = .Value
End With
End Sub
Обе книги д.б. открыты
nilem вне форума Ответить с цитированием
Старый 26.12.2011, 09:50   #3
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Ответил здесь:
http://www.cyberforum.ru/vba/thread416983.html
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Копирование данных из одной таблицы в другую, где ошибка Vit@L БД в Delphi 10 06.12.2011 23:56
Копирование строк из одной таблицы в другую база данных paradox в делфи igi3 Помощь студентам 1 20.06.2011 08:39
Копирование части данных из одной таблицы в другую SAM77777 Microsoft Office Excel 3 12.04.2011 19:24
Копирование данных из одной таблицы Paradox в другую Zuzya БД в Delphi 3 16.05.2009 19:11
Копирование данных из одной таблицы в другую! фЁдОр БД в Delphi 18 06.01.2008 19:27