Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Cколько будет это стоить? / 25 сообщений из 66, страница 1 из 3
20.12.2012, 14:49
    #38086837
Анна Каменкова
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cколько будет это стоить?
Здравствуйте, мастера!

Имею проблему.

Имеется 8 файлов эксель и 8 файлов csv

файлы csv являются служебными таблицами для файлов эксель.
Отношение 1 к 1.
Ключ сложного формата вида (1/100)

1 файлу эксель соответствует 1 файл csv .

Нужны 2 макроса.
Макрос 1 по ключу должен вставлять в пустую ячейку файла эксель из файла csv значение, соответствующее данному ключу.

Пробегать весь диапазон строк. К-во строк - до 1 млн.

Макрос 2 должен сохранять данные из каждого из 8 файлов эксель в единый файл csv.
операции последовательно.
Открытие и обработка 1 файла эксель (вставка данных в пустую ячейку, работает макрос 1), запуск Макроса 2 и закрытие макроса 1. сохранение файла в экселе и в csv (открытие нового файла либо замена содержимого старого) - работает макрос 2, закрытие файла эксель и csv.
Открытие и обработка следующего файла эксель...

И так до восьмого.

Возможно одним макросом, но сложно, наверное.

Возможно. я, как дилетант, чего-то упустила.

С уважением,
Анна.
...
Рейтинг: 0 / 0
20.12.2012, 15:05
    #38086885
dzone
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cколько будет это стоить?
примеры файлов в студию. Обязательно макросами?
...
Рейтинг: 0 / 0
20.12.2012, 15:12
    #38086894
Анна Каменкова
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cколько будет это стоить?
На уровне сводной таблицы в эксель задачу решила.

Очень долго, файлы большие, особенно служебные таблицы.
csv - подсказали, дескать, быстрее будет.

А какие еще варианты есть?

Файлы выложить стесняюсь. смеяться будете. Это дамское.
там всё в латинице.
вставляется значение от 0 до 1.
в указанный диапазон.
Условие - если ячейка с ключом не пустая, вставляем.
Если пустая - вставка значений закончена.
Поле всегда одно и то же, без сдвижек.

Меняются только записи в файлах эксель.
Если договоримся. будут и другие заказы.
...
Рейтинг: 0 / 0
20.12.2012, 15:13
    #38086896
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cколько будет это стоить?
в Excell.Sheet вроде бы 65K строк влазит. а вы про какие то 1 млн толкуете
...
Рейтинг: 0 / 0
20.12.2012, 15:27
    #38086940
Анна Каменкова
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cколько будет это стоить?
Konst_One,

стебаетесь?

У меня больше миллиона влазит.
...
Рейтинг: 0 / 0
20.12.2012, 15:28
    #38086946
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cколько будет это стоить?
у вас видимо excel 2012?
...
Рейтинг: 0 / 0
20.12.2012, 15:33
    #38086960
Анна Каменкова
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cколько будет это стоить?
Konst_One,

Это к теме не относится.

Условия нужно уточнять?
...
Рейтинг: 0 / 0
20.12.2012, 15:34
    #38086964
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cколько будет это стоить?
именно относится, т.к. там разные механизмы работы и ограничения
...
Рейтинг: 0 / 0
20.12.2012, 19:28
    #38087325
Анна Каменкова
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cколько будет это стоить?
Konst_One,

2003, старый ХР
...
Рейтинг: 0 / 0
20.12.2012, 20:24
    #38087385
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cколько будет это стоить?
Анна КаменковаФайлы выложить стесняюсь. смеяться будете. Это дамское.Мы профессионалы. Нас смешит программный код, а не то, с чем он работает. Данные перестали быть смешными после десятой Лены Головач.

Konst_Oneв Excell.Sheet вроде бы 65K строк влазит.Это ограничение 32 битной версии.
...
Рейтинг: 0 / 0
20.12.2012, 20:57
    #38087415
ZVI
ZVI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cколько будет это стоить?
AntonariyKonst_Oneв Excell.Sheet вроде бы 65K строк влазит.Это ограничение 32 битной версии.
если точнее, то в Excel 97, 2000, 2002, 2003 - 65536 строк, а начиная с Excel 2007 – 1048576 строк, независимо от того, 32 или 64-бит. А в древнем Excel 95 было всего лишь 16384 строк.
...
Рейтинг: 0 / 0
20.12.2012, 21:08
    #38087427
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cколько будет это стоить?
Можно это попробовать решить через ADODB или MSQuery.
Но тогда, в любом случае - нужен хоть 1 пример с данными пары xls и csv.
...
Рейтинг: 0 / 0
20.12.2012, 21:11
    #38087429
Анна Каменкова
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cколько будет это стоить?
Antonariy,
пока ждала ответов, почитала форум.

Толково, только слишком много инфы.

Кое-что исправила. Понятно, что коряво, но как сумела.
работает, но долго.
Соображу заменить диапазоны.

Уточняю вопросы, которые остались:

Возможно ли подобное провернуть без открытия файла со служебными таблицами?

Возможно ли подобное провернуть с файлом csv?

Вот это провернуть:

Sub Ìàêðîñ1()
'
' Ìàêðîñ1 Ìàêðîñ
'
' Ñî÷åòàíèå êëàâèø: Ctrl+z
'
Sheets("Âåð").Select
Range("S2").Select
Selection.ClearContents
Dim strFileToOpen
Dim wrkBook As Workbook
strFile = "D:\0 SL\ïðîáà\ÑëÒàáñ1.xlss"
ActiveCell.FormulaR1C1 = _
"=VLOOKUP(RC[-1]&""/""&RC[-13],[ÑëÒàáñ.xlsx]Ëèñò1!C5:C7,3,0)"
Selection.AutoFill Destination:=Range("S2:S16"), Type:=xlFillDefault
Range("S2:S16").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("I1").Select
Application.CutCopyMode = False
Selection.AutoFill Destination:=Range("I1:J1"), Type:=xlFillDefault
Range("I1:J1").Select
Range("J1").Select

Set wrkBook = Nothing
End Sub
...
Рейтинг: 0 / 0
20.12.2012, 21:12
    #38087432
Анна Каменкова
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cколько будет это стоить?
AndreTM,
гляньте мой ответ буквально поле вашего постинга.
...
Рейтинг: 0 / 0
20.12.2012, 21:18
    #38087440
Анна Каменкова
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cколько будет это стоить?
УПС...
Сорри, как вставлять сам текст макроса без искажений?
...
Рейтинг: 0 / 0
20.12.2012, 21:21
    #38087443
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cколько будет это стоить?
Тэг [src]
...
Рейтинг: 0 / 0
20.12.2012, 21:23
    #38087446
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cколько будет это стоить?
AndreTMТэг [src]И переключаться на русскую раскладку в VBE перед Ctrl+C/Ctrl+V
...
Рейтинг: 0 / 0
20.12.2012, 21:28
    #38087451
Анна Каменкова
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cколько будет это стоить?
AndreTM, так?
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
Sub Макрос1()
'
' Макрос1 Макрос
'
' Сочетание клавиш: Ctrl+z
'
    Sheets("Вер").Select
    Range("S2").Select
    Selection.ClearContents
    Dim strFileToOpen
Dim wrkBook As Workbook
strFile = "D:\0 SL\проба\СлТабс1.xlsx"
    ActiveCell.FormulaR1C1 = _
        "=VLOOKUP(RC[-1]&""/""&RC[-13],[СлТабс.xlsx]Лист1!C5:C7,3,0)"
    Selection.AutoFill Destination:=Range("S2:S16"), Type:=xlFillDefault
    Range("S2:S16").Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("I1").Select
    Application.CutCopyMode = False
    Selection.AutoFill Destination:=Range("I1:J1"), Type:=xlFillDefault
    Range("I1:J1").Select
    Range("J1").Select
    
Set wrkBook = Nothing
End Sub
...
Рейтинг: 0 / 0
20.12.2012, 21:39
    #38087460
Анна Каменкова
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cколько будет это стоить?
AndreTM, почему красным цветом?
Планируется революция?
...
Рейтинг: 0 / 0
20.12.2012, 21:54
    #38087470
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cколько будет это стоить?
Потому что SRC должно быть SRC VBA Модератор: поправил

Впрочем, дело не в этом... Вот ваш код. Если вы используете .Select/Selection., работаете через буфер обмена, etc - ничего удивительного. что ваш код э-э-э... притормаживает. Макрорекордер, в принципе, предназначен для автоматизации рутинных действий, а для получения более оптимального кода надо либо начинать записывать вручную, либо понимать, что нужно изменить в коде.

Вот пы поставили задачу. По описанию - примерно понятно, что вы хотите получить. Но без примеров данных и их расположения - обсуждения сведутся к операциям над сферическим непарнокопытным. "Стесняетесь" показать, над чем работете - так есть же личка, скайпы и агенты, та же почта... Обратитесь лично, побеседуйте, объясните проблемку более внятно...
...
Рейтинг: 0 / 0
20.12.2012, 22:01
    #38087475
Анна Каменкова
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cколько будет это стоить?
AndreTM, Например, Вам отписать?

Вы в этом разбираетесь?
...
Рейтинг: 0 / 0
20.12.2012, 22:26
    #38087491
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cколько будет это стоить?
Ну, попробуйте...
...
Рейтинг: 0 / 0
20.12.2012, 22:45
    #38087502
Анна Каменкова
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cколько будет это стоить?
AndreTM,
попробовала.

Отправила письмо с файлом.
...
Рейтинг: 0 / 0
20.12.2012, 23:10
    #38087524
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cколько будет это стоить?
AndreTMАнна КаменковаAndreTM, почему красным цветом?
Планируется революция?
Потому что SRC должно быть SRC VBA поправил пост...
Анна, про оформление постов можно почитать тут
...
Рейтинг: 0 / 0
20.12.2012, 23:16
    #38087530
Анна Каменкова
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cколько будет это стоить?
Shocker.Pro,
спасибо большое.

Попробую разобраться.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Cколько будет это стоить? / 25 сообщений из 66, страница 1 из 3
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]