|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
30.01.2012, 15:15 | #1 |
Пользователь
Регистрация: 05.12.2007
Сообщений: 10
|
Открыть файл, разделить ячейку на 1000, сохранить файл, закрыть файл. Как?
Макрос должен запускаться из внешнего файла (Макрос.xls).
Спрашивать, откуда ему взять файл для обработки. Далее ячейку а1 он должен делить на 1000. Сохранять файл. Основная сложность, с которой я столкнулся - не получается задать ячейке во ВНЕШНЕЙ (открытой) книге значение этой же ячейки, деленное на 1000. Почему-то макрос всё время обращается к той книге, в которой сам макрос и содержится (Макрос.xls). |
30.01.2012, 15:40 | #2 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
А текст макроса посмотреть можно?
Анализ,обработка данных Недорого
|
30.01.2012, 17:11 | #3 |
Пользователь
Регистрация: 05.12.2007
Сообщений: 10
|
У нас теплоэнергетическая компания, потому не удивляйтесь наиминованиям Тепло Своё и Котёл 1.
Sub Transport_from_1() 'Спросим, из какой папки взять файлы With Application.FileDialog(msoFileDialo gFolderPicker) .Title = "Укажите рабочую папку": .Show If .SelectedItems.Count = 0 Then Exit Sub Else path = .SelectedItems(1) & "\" End If End With file = Dir(path & "*.xlsx") Do While file <> "" Application.Workbooks.Open (path & "\" & file) 'С каким листом в открытой книге работаем? listname = "Топливо форма" 'С какой по какую строчку обрабатывать (jFirst, jEnd). jFirst = 6 jEnd = 17 'И через сколько строк перескакивать StepInt = 5 'Вызываем функцию деления Call Svoyo 'Сохранение книги в текущую папку под новым именем ActiveWorkbook.SaveAs ActiveWorkbook.path & "\" & file & "_1.1.xlsm" 'Переходим к новому файлу в директории file = Dir Loop 'Когда обработаем все файлы - позакрываем книжки ThisWorkbook.Close (savechanges = False) ActiveWorkbook.Close (savechanges = False) End Sub ---------------------------------------------------------- Sub Svoyo() 'Какие ячейки будем делить? 'Котёл 1 'Со строчки 80 по 110, пожалуйста. FirstCell = 80: EndCell = 110 'Вызываем программу деления Summer 'Котёл 2 FirstCell = 119: EndCell = 149 Summer 'Котёл 3 FirstCell = 158: EndCell = 188 Summer 'Котёл 4 FirstCell = 197: EndCell = 227 Summer 'Котёл 5 FirstCell = 236: EndCell = 266 Summer 'Котёл 6 FirstCell = 275: EndCell = 305 Summer 'Котёл 7 FirstCell = 314: EndCell = 344 Summer 'Котёл 8 FirstCell = 353: EndCell = 383 Summer 'Котёл 9 FirstCell = 392: EndCell = 422 Summer 'Котёл 10 FirstCell = 431: EndCell = 461 Summer End Sub ------------------------------------------------------------- Sub Summer() Dim j As Integer, temp As Integer For j = jFirst To jEnd For k = FirstCell To EndCell Step StepInt ActiveWorkbook.Sheets(listname).Cel ls = ActiveWorkbook.Sheets(listname).Cel ls / 1000 Next k Next j End Sub |
30.01.2012, 17:15 | #4 |
Пользователь
Регистрация: 05.12.2007
Сообщений: 10
|
В Sub Summer опечатка:
ActiveWorkbook.Sheets(listname).Cel ls на самом деле выглядит как ActiveWorkbook.Sheets(listname).Cel ls(k, j) |
30.01.2012, 17:47 | #5 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
и до знака равно и после него?
макрос хороший и должен записывать в книгу (path & "\" & file)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
30.01.2012, 18:08 | #6 |
Пользователь
Регистрация: 05.12.2007
Сообщений: 10
|
И до знака и после, разумеется.
То есть ЯЧЕЙКА = Ячейка, деленная на 1000 В целом, макрос у меня уже пашет, но там один нюанс - выдает ошибку, мол значение скрыто. Хотя оно вполне даже видимо. |
30.01.2012, 18:30 | #7 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
видимо Sub Svoyo можно переписать так:
---------------------------------------------------------- Код:
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
30.01.2012, 18:47 | #8 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Summer какой то непонятный... Цикл в цикле по неопределённым переменным (0 to 0), где все ячейки делятся на 1000...
Хотя вероятно не делятся - т.к. имя листа неизвестно. Файл бы глянуть.
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 30.01.2012 в 18:50. |
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Открыть нужный файл, изменить его, закрыть без вопросов | Ципихович Эндрю | Microsoft Office Word | 17 | 03.01.2012 03:30 |
Из Экселя ячейку в ворд и сохранить файл с именем ячейки | Zhenya2030 | Microsoft Office Word | 1 | 19.07.2010 15:36 |
Открыть файл как Hex найти там некий участок кода, заменить его и сохранить | AstraZak | Общие вопросы C/C++ | 10 | 05.03.2010 18:58 |
Диалоги открыть/закрыть файл | Altera | Операционные системы общие вопросы | 3 | 03.12.2008 01:18 |
Как открыть и сохранить mp3 файл в delphi? | Rahim1993 | Мультимедиа в Delphi | 2 | 03.01.2008 12:55 |