Новости:

К первому сообщению темы должен быть прикреплен файл примера в формате xls*.
Приложив пример, Вы избавите себя и других от вопросов типа "А какой критерий?", "А куда выводить результат?", "А сколько строк?" и все тех же просьб выложить файл. Рисовать за Вас Ваши же таблички с заданиями, а затем и решение к ним, никто желанием не горит. Да и, как показывает практика, в большинстве случаев без файла решения не найти.

Главное меню

Макрос переноса данных из одного файла в другой

Автор Alexandrin, 28.01.2011, 12:12

« назад - далее »

Wasilic

А разве в предыдущих постах (№70 после Вашего) Вы не нашли ответа?

Кроме того:
ЦитироватьВ таблице я нахожу некоторое значение, дальше - задача:
    Range("Aтекущая строка:AIтекущая строка").Select
    Selection.Copy
т.е. понятно - выделить ячейки со столбца A до столбца AI текущей строки (той, где я нашел свое значение)
и просто скопировать
Ну а вставлю в другой файл я сам уже...
Быть может это как-то можно встроить в используемую мной надстройку поиска (во вложении), чтобы при закрытии поисковой формы срабатывал этот макрос...
Не понятно, что Вам не понятно.
А голая надстройка, лично мне, ни о чем не говорит.
Ждите, может кто-то разберется в Вашей задаче.
А лучше, создайте собственную тему.
Может и я на что сгожусь ... Если сгодился, можете меня по+благодарить+.

Alex_ST

designer417 ,
Ну, во-первых, вам же сказали, что это оффотп и нужно создать для вашего вопроса новый топик.
А во-вторых, не понятна сама суть вашего вопроса...
Вы где-то взяли надстройку, когда-то сделанную уважаемым EducatedFool (Игорем). Правда, я не понимаю, зачем она сделана? Разве Ctrl+F не достаточно? Да и форма почему-то сделана с фиксированными размерами... Не удобно. И на Игоря не похоже. Но не в том дело.
Ну, нашли вы с её помощью что-то в книге. И что?

А... Наверное, вам нужно чтобы не ячейка, содержащая найденное значение выделялась, а диапазон в этой строке со столбца A по AI  чтобы проще было копировать?
Ну, тогда просто изменить процедуру Private Sub ListBox_Search_Click в модуле формы CF так:Private Sub ListBox_Search_Click()
   ИмяЛиста = Me.ListBox_Search.List(Me.ListBox_Search.ListIndex, 1)
   АдресЯчейки = Me.ListBox_Search.List(Me.ListBox_Search.ListIndex, 2)
   On Error Resume Next
   ActiveWorkbook.Worksheets(ИмяЛиста).Activate
'    ActiveSheet.Range(АдресЯчейки).EntireRow.Select
   Intersect(Range(АдресЯчейки).EntireRow, Columns("A:AI")).Select
End Sub

С уважением, Алексей

designer417

Wasilic
разве ответ #70 адресован мне?
я конечно с легкостью оперировал этими данными, если бы хоть что-нибудь понимал в макросах...
но, как я уже говорил, это для меня дремучий лес - темный и незнакомый...
я пытался разобраться в этих дебрях (на примере надстройки поисковика), но мало что понял, да и не удивительно - все же гуманитарий, как ни крути...
вот поэтому и не понятно
Alex_ST
пардон, кто и где мне сказал, что это оффтоп?
А... Наверное, Вы про ответ #67, адресованный aleksi, который я должен перевести на свой счет... Понял, что ж...
Но это точно все не по теме...
Теперь собственно суть моего вопроса.
Все началось с того, что я заинтересовался, можно ли встроить окно поиска Ctrl+F куда-нибудь на постоянную основу (по аналогии, как сделано в некоторых программах,  браузерах например), дабы не проделывать каждый раз (раз 300 в день) эту магическую процедуру (Ctrl+F) - оказалось, что штатными средствами Excel это сделать не получится (кнопка с биноклем ничего не дает)...
Поиском нашел несколько вариантов, как это сделать с помощью макросов, данный вариант (http://excelvba.ru/code/SearchCells) меня устроил больше других. Там была несколько другая задача, поэтому я чуть изменил окно, поубирал ненужные мне элементы, дабы максимально упростить порядок действий - получилось очень даже ничего, жаль, конечно, что найденное первое значение не выделяется автоматом, как в штатном поиске (т.к. на 90% всех моих поисковых запросов находится один единственный ответ, быстрее было бы работать, если бы искомая ячейка была бы выделенной), приходится закрывать окно поиска и работать дальше (у меня 5-ти кнопочная мышь, поэтому сам копипаст меня не особо напрягает), еще одно неудобство, что форма постоянно поверх Excel - никуда от нее не деться, приходится закрывать (лишнее действие), помогает большая кнопка "Закрыть", которую я разместил поудобнее...
Пытался сначала открыть дискуссию на http://forum.ixbt.com/topic.cgi?id=23:42804, но там меня послали, остыл - стал использовать как есть...
Ну а дальше я все рассказал - загорелся идеей автоматического выделения нужного мне диапазона текущей строки - пусть даже без копипаста ;)
Теперь по коду - выделение работает, спасибо! Надо же - одной строчкой больше - и совсем другой результат :)
Скажите, можно ли сделать это выделение автоматом по первому найденному значению? Если значений несколько - тыкаешь в форме нужное - оно так же выделяется, ну собственно как сейчас...
И можно ли на кнопку закрыть привязать действие "Скопировать"? Либо встроить это действие в процедуру Private Sub ListBox_Search_Click?

Мой пост получился, возможно, сумбурным и запутанным - извините....

Alex_ST

#78
Разбираться с существенной модернизацией у меня сегодня времени нет.
Но попробуйте сделать так:Private Sub ListBox_Search_Click()
   ИмяЛиста = Me.ListBox_Search.List(Me.ListBox_Search.ListIndex, 1)
   АдресЯчейки = Me.ListBox_Search.List(Me.ListBox_Search.ListIndex, 2)
   On Error Resume Next
   ActiveWorkbook.Worksheets(ИмяЛиста).Activate
   Intersect(Range(АдресЯчейки).EntireRow, Columns("A:AI")).Copy
End Sub

Так диапазон должен автоматически копироваться в буфер обмена при выборе элемента списка на форме. А уж из буфера обмена вы сами грозились вставлять куда нужно.
В предыдущем варианте .Select я оставил просто по инерции. Естественно, нужно было делать .Copy :)
С уважением, Алексей

Wasilic

Цитата: Alex_ST от 01.03.2012, 19:53
А уж из буфера обмена вы сами грозились вставлять куда нужно.
:) Alex_ST  Вы это читали?
Цитата: designer417 от 01.03.2012, 17:40
я конечно с легкостью оперировал этими данными, если бы хоть что-нибудь понимал в макросах...
но, как я уже говорил, это для меня дремучий лес - темный и незнакомый...

я пытался разобраться в этих дебрях (на примере надстройки поисковика), но мало что понял,
designer417, выкладываю Вам несколько (из множества) примеров поиска в списках. Выберите себе какой Вам подходит. Выложите свой файл из которого Вы хотите копировать данные и хотя бы один файл, куда вы хотите копировать, с указанием листа и адреса ячеек.
И поменьше воды а побольше конкретики в пояснениях.
Может и я на что сгожусь ... Если сгодился, можете меня по+благодарить+.

Alex_ST

Цитата: Wasilic от 01.03.2012, 22:26:) Alex_ST  Вы это читали?
Wasilic, Вы это читали? :)
Цитата: designer417 от 27.02.2012, 15:59...выделить ячейки со столбца A до столбца AI текущей строки ... и просто скопировать. Ну а вставлю в другой файл я сам уже...
Ну, а судя по этому:
Цитата: designer417 от 01.03.2012, 17:40Теперь по коду - выделение работает, спасибо!
designer417 всё-таки не совсем ничего не умеет в VBA (иначе он просто не смог бы найти код процедур модуля формы)
С уважением, Алексей

Wasilic

#81
ОФФ!
Цитата: Alex_ST от 01.03.2012, 22:40
Wasilic, Вы это читали? ...
;D И то читал и это. Потому и писАл:
ЦитироватьНе понятно, что Вам не понятно.
Так где же истина? Скромничает?  :)
Может и я на что сгожусь ... Если сгодился, можете меня по+благодарить+.

designer417

#82
Wasilic
спасибо за варианты, посмотрю их позже
вообще, тот вариант, что получился благодаря Alex_ST практически совершенен, с Copy действительно - то что надо (сам догадывался, что это самое Copy нужно тупо куда-нибудь всунуть :) )
единственное, почему он не выделяет первый найденный вариант, как это происходит в штатном поиске - мне не понятно, вероятно задумка такая

ЗЫ прошу прощения, скажите чем отличается надстройка от макроса, а еще - файл надстройки должен всегда быть на диске - к нему каждый раз обращается Excel? И последнее - где хранится макрос - в конкретном файле? И еще я не понял - пока этот файл с макросом находится на диске - любой файл Excel уже будет открываться с ним?
Еще раз извиняюсь за такие глупые вопросы...

ЗЗЫ файлы примеров выложить не могу - инфа конфиденциальная, звиняйте
ЗЗЗЫ вообще моя задача такая - найти в одном файле нужное значение (фамилию) - выделить ячейки с A до столбца AI и вставить в другой файл в зависимости от района к которому относится это значение - таких районов 11 (11 листов во втором файле), соответственно я работаю со всеми листами по порядку с первого по одиннадцатый и забиваю туда инфу из первого файла...

Alex_ST

designer417,
имейте совесть! Все ваши "ЗЫ" - уж точно 100%-ный оффтоп.
Я сегодня может быть попробую ещё чуть подкрутить надстройку (но не обещаю, что получится) чтобы было удобнее работать.
С уважением, Алексей

designer417

Цитата: Alex_ST от 02.03.2012, 11:02
designer417,
имейте совесть! Все ваши "ЗЫ" - уж точно 100%-ный оффтоп.
Я сегодня может быть попробую ещё чуть подкрутить надстройку (но не обещаю, что получится) чтобы было удобнее работать.
простите, пошел учить матчасть

bodzin

Доброго времени суток!Подскажите как переносить данные из одного файла в другой,есть файл бюджета из которого нужно перенести значения некоторых статтей и сделать надо так чтоб при обновлении файла бюджета они обновлялись.Пожалуйста:))