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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.02.2010, 11:52   #1
FormAlDeGid
Пользователь
 
Аватар для FormAlDeGid
 
Регистрация: 21.10.2009
Сообщений: 58
По умолчанию Запись данных в закрытую книгу

Добрый День.
Необходимо добавить заполненные строки начиная со второй строки из открытой книги в другую, закрытую книгу в конец уже имеющихся записей с перерывом в одну строку.
при этом исходный файл будет удален.
FormAlDeGid вне форума Ответить с цитированием
Старый 15.02.2010, 11:56   #2
Pavel55
Форумчанин
 
Регистрация: 21.08.2007
Сообщений: 292
По умолчанию

открыть книгу для записи всё равно придётся )

1. Открываете книгу
2. дописываете данные с перерывом в одну строку
3. сохраняете и закрываете файл
Pavel55 вне форума Ответить с цитированием
Старый 15.02.2010, 12:08   #3
FormAlDeGid
Пользователь
 
Аватар для FormAlDeGid
 
Регистрация: 21.10.2009
Сообщений: 58
По умолчанию

так я каждый день делаю =)
хочется автоматизации процесса
FormAlDeGid вне форума Ответить с цитированием
Старый 15.02.2010, 12:49   #4
Dophin
Форумчанин
 
Аватар для Dophin
 
Регистрация: 13.01.2010
Сообщений: 410
По умолчанию

хочется пример увидеть
Dophin вне форума Ответить с цитированием
Старый 15.02.2010, 13:05   #5
FormAlDeGid
Пользователь
 
Аватар для FormAlDeGid
 
Регистрация: 21.10.2009
Сообщений: 58
По умолчанию

Эти строки надо вставить в другую книгу. исключая строку заголовков.
Вложения
Тип файла: rar пример.rar (1.9 Кб, 51 просмотров)
FormAlDeGid вне форума Ответить с цитированием
Старый 15.02.2010, 22:36   #6
0mega
Форумчанин
 
Регистрация: 12.09.2009
Сообщений: 232
По умолчанию

если не трудно - продублируйте в ZIPe
0mega вне форума Ответить с цитированием
Старый 15.02.2010, 23:12   #7
KOSTIK1
Форумчанин
 
Аватар для KOSTIK1
 
Регистрация: 06.10.2009
Сообщений: 193
По умолчанию

Уважаемый 0mega могу предложить такой RAR который не требует инсталляции.
Сохраните его в программах и запустите, и не видать вам проблем с "разрариванием"
Вложения
Тип файла: zip WinRar_3.70.port.zip (1.58 Мб, 31 просмотров)
С Уважением, Костик
KOSTIK1 вне форума Ответить с цитированием
Старый 16.02.2010, 00:05   #8
0mega
Форумчанин
 
Регистрация: 12.09.2009
Сообщений: 232
По умолчанию

Цитата:
Сообщение от KOSTIK1 Посмотреть сообщение
Уважаемый 0mega могу предложить такой RAR который не требует инсталляции.
За предложенье - благодарен,
Поклон примите до земли.
Вас огорчить боюсь, приятель...
Для MAC-a rar, а не WIN-ды
0mega вне форума Ответить с цитированием
Старый 16.02.2010, 01:30   #9
Pavel55
Форумчанин
 
Регистрация: 21.08.2007
Сообщений: 292
По умолчанию

Встройте этот макрос в тот файл, куда нужно копировать данные (т.е. основной файл, не CSV) и запускайте этот макрос на том листе, куда нужно вставить данные из файла CSV

Код:
Sub GetInfoFromCSVFile()
Dim FD As FileDialog, iFullFileName As String, SourceSheet As Worksheet
Dim iThisSheet As Worksheet, iNewName As String

    Set FD = Application.FileDialog(msoFileDialogFilePicker)
    With FD
        .Filters.Clear
        .Filters.Add "Текстовые файлы ", "*.txt; *.csv"
        .Filters.Add "Файлы Microsoft Excel", "*.xl*"
        .Filters.Add "Все файлы", "*.*"
        .AllowMultiSelect = False
        .InitialFileName = ThisWorkbook.Path
        .Title = "Открытие документа"
        .ButtonName = "Открыть"
        If .Show = False Then
            MsgBox "Вы не указали нужный файл!", 48, "Ошибка"
            Exit Sub
        Else
            iFullFileName = .SelectedItems(1)
        End If
    End With
    Set FD = Nothing
    Set iThisSheet = ActiveSheet
    iNewName = Left(iFullFileName, Len(iFullFileName) - 3) & "txt"
    Name iFullFileName As iNewName
    Application.ScreenUpdating = False
    Workbooks.OpenText Filename:=iNewName, StartRow:=2, DataType:=xlDelimited, Semicolon:=True
    Set SourceSheet = ActiveSheet
    With iThisSheet
        SourceSheet.UsedRange.Copy .Cells(.UsedRange.Rows.Count + 1 + .UsedRange.Row, "A")
    End With
    ActiveWorkbook.Close SaveChanges:=False
    Name iNewName As iFullFileName
    Application.ScreenUpdating = True
    MsgBox "Данные из файла " & iFullFileName & " скопированны!", 64, ""
    'если нужно удалить файл CSV, то
    'Kill iFullFileName
End Sub

Последний раз редактировалось Pavel55; 16.02.2010 в 01:36.
Pavel55 вне форума Ответить с цитированием
Старый 16.02.2010, 09:27   #10
FormAlDeGid
Пользователь
 
Аватар для FormAlDeGid
 
Регистрация: 21.10.2009
Сообщений: 58
По умолчанию

Pavel55
макрос копирует данные сам в себя...не из указанного файла а из самого себя. сейчас в книге почти 10000 записей а он делает 37000 , по всей видимости копирует неоднократно.
И еще. дело в том что перед тем как занести данные в итоговую таблицу я форматирую исходный файл (привожу в должный вид) то есть мне все равно приходится открывать два файла.

0mega
для Вас ZIP
Вложения
Тип файла: zip пример.zip (896 байт, 20 просмотров)

Последний раз редактировалось FormAlDeGid; 16.02.2010 в 09:30. Причина: Прицепил файло
FormAlDeGid вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запись данных в файл Pti44ka Помощь студентам 5 10.12.2009 20:09
Создание книги и перенос данных листа в дргую несуществующюю книгу OgE®_M@G Microsoft Office Excel 23 13.11.2009 06:35
запись данных в файл Real Injenegr Помощь студентам 2 23.07.2009 03:21
Запись данных в файл на С# fractal Помощь студентам 15 17.02.2009 22:14
Выбор и перенос данных в другой лист, книгу. Avald Microsoft Office Excel 1 16.06.2008 10:44