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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.04.2012, 13:59   #11
Vult
Пользователь
 
Регистрация: 11.04.2012
Сообщений: 23
По умолчанию

спасибо огромное! пока понимаю в лучшем случае через строчку. попробую разобраться
Vult вне форума Ответить с цитированием
Старый 11.04.2012, 14:05   #12
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Ну это уже полпути - нужные данные есть. Можно всю строку взять, или только нужные ячейки.
Теперь доделывайте часть, куда их копировать - я пока совершенно задачу не вижу. Так, только догадки...
Сперва вроде диапазон собирались копировать, теперь строка...
Или из этой строки возьмёте фирму, а далее будете по ней искать?
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 11.04.2012, 14:38   #13
Vult
Пользователь
 
Регистрация: 11.04.2012
Сообщений: 23
По умолчанию

почему-то продублировался пост.

Последний раз редактировалось Vult; 11.04.2012 в 14:45.
Vult вне форума Ответить с цитированием
Старый 11.04.2012, 14:44   #14
Vult
Пользователь
 
Регистрация: 11.04.2012
Сообщений: 23
По умолчанию

вот смотрите. я прикрепил 2 файла.
надо заполнить "Карточка проекта".
открываю файл, запускаю макрос.
появилось окошко, выбираю "проекты и рассчёты", появляется ещё одно окошко - выбираю строку. скажем строку 3, а из этой 3й строки макрос ползает и копирует 4 столб 1 ячейку в файл "карточка проекта" во 2ю строку 3й столбец ну и точно так же оставшиеся данные из этой строки "проектов и рассчётов" в другие ячейки. надеюсь я хоть немного понятно объяснил
нужны только конкретные ячейки, вся строка не актуальна
Vult вне форума Ответить с цитированием
Старый 11.04.2012, 14:51   #15
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Объяснили понятно. Файлы где?
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 11.04.2012, 14:54   #16
Vult
Пользователь
 
Регистрация: 11.04.2012
Сообщений: 23
По умолчанию

в первом посте
Vult вне форума Ответить с цитированием
Старый 11.04.2012, 15:09   #17
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Код:
Option Explicit

Sub OpenFile()
    Dim fd As FileDialog, ВыбранныйФайл As Variant
    Dim fromcopy As Range
    Dim sh As Worksheet

    Set fd = Application.FileDialog(msoFileDialogFilePicker)
    With fd
        .Title = "Выбираем файл": .InitialFileName = ThisWorkbook.Path
        .Filters.Add "Excel", "*.xls;*.xlsx;*.xlsm", 1: .AllowMultiSelect = False
        If .Show = False Then Exit Sub
        Application.ScreenUpdating = False: ВыбранныйФайл = .SelectedItems(1)
        If ВыбранныйФайл = ThisWorkbook.FullName Then Exit Sub    'на всякий случай
        Set sh = ActiveWorkbook.Sheets(1)

        With Workbooks.Open(ВыбранныйФайл)

            'работаем
            Application.ScreenUpdating = True
            On Error Resume Next
            Set fromcopy = Application.InputBox(prompt:="Select a Row to copy", Type:=8)
            On Error GoTo 0
            Application.ScreenUpdating = False
            If Not fromcopy Is Nothing Then
                sh.Cells(2, 3) = .ActiveSheet.Cells(fromcopy.Row, "A")
                sh.Cells(5, 3) = .ActiveSheet.Cells(fromcopy.Row, "G")
                sh.Cells(6, 3) = .ActiveSheet.Cells(fromcopy.Row, "L")
                ' и т.д.
            End If
            .Close 0
        End With
    End With: Set fd = Nothing

    Application.ScreenUpdating = True
End Sub
Код можно держать хоть в Personal.xls и выполнять на активном файле по Alt+F8 (или кнопкой на панели).
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 11.04.2012 в 15:21.
Hugo121 вне форума Ответить с цитированием
Старый 11.04.2012, 15:20   #18
Vult
Пользователь
 
Регистрация: 11.04.2012
Сообщений: 23
По умолчанию

работает супер. спасибо огромное, Вы мне так помогли!
а нельзя-ли просто цифрой выбрать строку, не выбирая диапазон?
при копировании из ячейки G выдаёт число. хотя вроде копировать должно буквы.

Последний раз редактировалось Vult; 11.04.2012 в 16:10.
Vult вне форума Ответить с цитированием
Старый 11.04.2012, 16:43   #19
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Можно цифру.
Замените тип инпутбокса и вводите цифру, которую присваивайте переменной, которую используйте вместо fromcopy.Row.
Но сомневаюсь, что это будет удобнее.
"при копировании из ячейки G выдаёт число. хотя вроде копировать должно буквы" - я в столбце G вижу цифры
Но не важно - главное принцип.
Да, там для ячеек с датами нужно в шаблоне поменять формат.
Ещё - пока обедал, продумал такую схему - код в шаблон, на открытие шаблона ставите выполнение этого кода (а зачем ещё открывать шаблон?), в конце добавляете сохранение шаблона под нужным именем (например, сегодняшняя дата-время & название фирмы) формата xlsx (у Вас ведь 2007/10) - так макрос убъётся сам собой.
А неизменённый шаблон можно снова открывать.
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 11.04.2012 в 16:47.
Hugo121 вне форума Ответить с цитированием
Старый 11.04.2012, 17:04   #20
Vult
Пользователь
 
Регистрация: 11.04.2012
Сообщений: 23
По умолчанию

да я думал просто файлу присвоить "для чтения". хотя с другой стороны, Вы правы, открывать его незачем

Последний раз редактировалось Vult; 11.04.2012 в 17:13.
Vult вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Переписать с сохранением порядка следования компоненты файла F1 в файл F2, а компоненты файла F2 - в файл Алексей_1 Паскаль, Turbo Pascal, PascalABC.NET 0 20.05.2011 13:37
копирование строк в файл raspberry Общие вопросы C/C++ 3 12.03.2010 19:16
сброс выбраной строки в listview TaTT DoGG Общие вопросы .NET 5 02.03.2010 01:32
копирование данных их файла .doc в файл Excel prima Microsoft Office Excel 3 19.10.2009 08:37
Копирование текста в файл bookkc Общие вопросы Delphi 2 18.06.2009 23:57