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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.08.2009, 10:28   #1
Belokuraya
Пользователь
 
Регистрация: 27.04.2009
Сообщений: 41
По умолчанию Путь к файлу

Подскажите, в одну книгу нужно перенести данные из другой книги (путь в ней известен), из определнного столбца, например из 2ого, но переносить только те значения, для которых в той же строке, но в столбце 7 в ячейке имеется запись "DM"?
Belokuraya вне форума Ответить с цитированием
Старый 12.08.2009, 10:40   #2
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Формулы или макрос?
если формулы, то можно так
Код:
ПОИСКПОЗ(массив_значений_из_файла(начиная с ячейки А1);СТРОКА();2)
А макросом, сначала открываете файл, затем ищете соответствия.
Код:
Dim Ws as WorkSheet: Set Wb = ActiveWorkbook.ActiveSheet
Workbooks.Open "Полный путь к файлу включая имя файла с расширением"
Dim rFndRng as Range
Dim sAddress as String
Set rFndRng = Columns(7).Find(What:="DM",LookAt:=xlWhole)
If rFndRng is nothing then exit sub
sAddress = rFndRng.Address
do
Ws.Cells(rFndRng.row,10) = Cells(rFndRng.row,2)'только в Ws.Cells(rFndRng.row,10) вместо 10 
укажите тот столбец, в который необходимо вставить значения
loop while sAddress <> rFndRng.Address
Макрос находится в книге, к которой надо подтянуть значения.
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 12.08.2009, 10:57   #3
Belokuraya
Пользователь
 
Регистрация: 27.04.2009
Сообщений: 41
По умолчанию

Лучше макрос, но он выдаёт ошибку 91: Object variable or With block variable not set...(
Belokuraya вне форума Ответить с цитированием
Старый 12.08.2009, 11:01   #4
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Цитата:
Сообщение от Belokuraya Посмотреть сообщение
Лучше макрос, но он выдаёт ошибку 91: Object variable or With block variable not set...(
И, наверное, на вот этой вот строчке?
Код:
Workbooks.Open "Полный путь к файлу включая имя файла с расширением"
Тогда небольшое пояснение. Я НЕ ЗНАЮ путь к Вашему файлу. Вместо слов "Полный путь к файлу включая имя файла с расширением" Вы должны прописать путь к своему файлу с расширением(в кавыычках). Примерно так
Код:
"C:\Temp\Книга1.xls"
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 12.08.2009, 11:27   #5
Belokuraya
Пользователь
 
Регистрация: 27.04.2009
Сообщений: 41
По умолчанию

Sub prod()



Dim Ws As Worksheet: Set Wb = ActiveWorkbook.ActiveSheet
Workbooks.Open "\\eupmiruspbfnp07\home$\AGOGIUNO\T ask2Info\PM RU Production plan 2009.xls"
Dim rFndRng As Range
Dim sAddress As String
Set rFndRng = Columns(7).Find(What:="DM", LookAt:=xlWhole)
If rFndRng Is Nothing Then Exit Sub
sAddress = rFndRng.Address
Do
Ws.Cells(rFndRng.Row, 64) = Cells(rFndRng.Row, 2)
Loop While sAddress <> rFndRng.Address
End Sub

написано всё было правильно сразу, книга открывалась, только дальше выскакивала ошибка, теперь ошибки нет, но и рез-та тоже нет..

Я попробовала примитивный код, но всё то же, т.е. книга открывается, но рез-та нет:

Sub prod()


Dim i, j As Integer
Dim pr As String

Workbooks.Open "\\eupmiruspbfnp07\home$\AGOGIUNO\T ask2Info\PM RU Production plan 2009.xls"

i = 5
j = 4
If Workbooks("PM RU Production plan 2009.xls").Worksheets("ProdPivot"). Cells(i, 7).Value = "DM" _
And Workbooks("PM RU Production plan 2009.xls").Worksheets("ProdPivot"). Cells(i, 8).Value = "IZ" Then
pr = Workbooks("PM RU Production plan 2009.xls").Worksheets("ProdPivot"). Cells(i, 2).Value
Workbooks("FGreports").Worksheets(" PrDailyPlan").Cells(j, 1).Value = pr
End If
End Sub
Belokuraya вне форума Ответить с цитированием
Старый 12.08.2009, 11:44   #6
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Посмотрите на нужном ли листе открывается книга PM RU Production plan 2009.xls. Не пустая ли ячейка в столбце 2 этой книги. А то может у Вас все ячейки столбца 2, в строках с "DM", пустые.
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 12.08.2009, 11:56   #7
Belokuraya
Пользователь
 
Регистрация: 27.04.2009
Сообщений: 41
По умолчанию

активировала нужный лист, ничего не изменилось, ячейки не пустые
Belokuraya вне форума Ответить с цитированием
Старый 12.08.2009, 12:01   #8
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Нужны файлы. Если есть какая-либо конфедециалная информация - удалите. Оставьте только строки, важные для макроса.
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 12.08.2009, 12:19   #9
Belokuraya
Пользователь
 
Регистрация: 27.04.2009
Сообщений: 41
По умолчанию

Вообще нужно, чтобы выполнялось два условия: в 7ом стоблце значение "DM", а в 8м "IZ".
Вложения
Тип файла: zip Book1.zip (816.5 Кб, 20 просмотров)
Belokuraya вне форума Ответить с цитированием
Старый 12.08.2009, 12:31   #10
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Все ясно. Сделайте так
Код:
Option Explicit

Sub prod()
Dim Ws As Worksheet: Set Ws = ActiveWorkbook.ActiveSheet
Workbooks.Open "\\eupmiruspbfnp07\home$\AGOGIUNO\T ask2Info\PM RU Production plan 2009.xls"
Dim rFndRng As Range
Dim sAddress As String
Set rFndRng = Columns(7).Find(What:="DM", LookIn:=xlValues, LookAt:=xlWhole)
If rFndRng Is Nothing Then Exit Sub
sAddress = rFndRng.Address
Do
If rFndRng.Offset(,1) = "IZ" then Ws.Cells(rFndRng.Row, 64) = Cells(rFndRng.Row, 2)
Loop While sAddress <> rFndRng.Address
End Sub
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Путь к файлу artemavd Общие вопросы Delphi 12 24.03.2009 14:09
Путь к файлу Slash Общие вопросы Delphi 3 27.11.2008 14:02
Путь к файлу Баламут Win Api 12 14.05.2008 13:27
Путь к файлу Terran Общие вопросы Delphi 3 13.04.2008 01:18
Путь к файлу Лубышев Общие вопросы Delphi 2 10.02.2008 21:13