Новости:

Подпишитесь на рассылку новых сообщений форума через службу рассылок: Subscribe.ru

Главное меню

Сохранить книгу EXCEL в папку по условию

Автор vladturbo, 30.09.2012, 15:45

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

vladturbo

Добрый вечер!
1. Poltava:
Обязательно проанализирую Ваш пример, а пока могу сказать, что доработал свой! Вот код:
Sub Сохранить_Электроэнергия()
    Application.ScreenUpdating = False
    Sheets.Add.Name = "Лист1"
    Sheets("ЭЛЕКТРИЧЕСТВО").Select
    Cells.Select
    Selection.Copy
    Sheets("Лист1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    Range("A1").Select
    ActiveSheet.Name = [D14]
        On Error Resume Next
            iFolder$ = "C:\" & Format(DateAdd("m", -1, Now), "mmmm yyyy") & " Электроэнергия\"
            iFilename$ = iFolder$ & [D14] & ".xls"
            Err.Clear: ActiveSheet.Copy: DoEvents
            If Err Then Exit Sub
            ActiveWorkbook.SaveAs iFilename$, xlWorkbookNormal
            ActiveWorkbook.Close False
                Sheets("ЭЛЕКТРИЧЕСТВО").Select
                Range("D14").Select
                            Application.DisplayAlerts = False
                            Sheets(Range("D14").Value).Select
                            ActiveWindow.SelectedSheets.Delete
                                        Application.ScreenUpdating = True
                                        Application.DisplayAlerts = True
End Sub
Все сохраняет как надо, файл сохраняется по нужному пути!

2. Wasilic:
1.Количество арендаторов постоянно меняется
2.На одного арендатора в месяц выписывается от 1 до 3 актов (электричество + телефон + вода [может вода канализация или вода канализация лифт], может только телефон, может только электричество, может телефон и электричество по разному в зависимости от условий договора) т.е. min=1 max=3
3.Только для примера, на самом деле 5 диапазов со списками и одна сводная таблица, диапазоны привязаны к таблице, диапазоны формируются функц. =ЕСЛИ(), в зависимости от того, какое значение в столбце "Вид энергоресурса" напротив арендатора.

Poltava

#31
Затачивать макрос под каждый лист это утопия! Половину строк в коде можно выбросить это все макроредакторский мусор! Удачи вам с вашим кодом, я уже вижу как минимум одну потенциальную бомбу замедленного действия которая рано или поздно все равно всплывет! И это не говоря о как по мне бредовой идее использовать реестр! НО РАЗ ВЫ УПОРНО НЕ СЛУШАЕТЕ ТОГО ЧТО ВАМ ПИШУТ ПОТОМ НЕ ГОВОРИТЕ ЧТО ВАС НЕ ПРЕДУПРЕЖДАЛИ! Желаю вам удачи в героическом преодолении тех трудностей, которые Вы сами себе сейчас создаете! Жаль только одного, что вовремя не послушал Wasilic и не прекратил попытки вам помочь еще тогда, не было бы жалко потраченного на вас в пустую времени, все бесполезно ВЫ в упор не слушаете.
Не пытайтесь спорить с дебилом. Иначе вы опуститесь до его уровня. Где он задавит вас своим опытом.

Wasilic

Я то, почему задал свои вопросы, хотя даже приблизительного ответа не получил, просто хотел прикинуть, сколько же файлов будет накапливаться за 1 год, а за 3, 5? Не имея достаточной информации, при грубом подсчете, на диске С будет висеть только за 1 год всего 36 папок. В которых будет храниться около 700 файлов. И все это, ради одной формы акта с 5-ю ячейками информации.
Не знаю даже с чем сравнить Ваше направление решения этой задачи. С раздуванием мыльной капли в мыльный пузырь или раздуванием мухи в слона.
Я думаю, надо пересмотреть задачу и искать другой путь решения.
Я не знаю всех ньюансов задачи, но думаю, что на каждого арендатора, всю информацию по актам, можно сохранять как архив данных, на том же листе ниже формы акта. И при выборе арендатора из списка, макросом проверять ахив, если данные на него уже есть - вписать в форму. Думаю мысль понятна.
Таким образом, если данный файл "сохранить-как" с именем текущего месяца и года в одну единственную папку, он и будет архивным. А в рабочем, просто удалить всю инфу по актам, указать следующий месяц и вперед.
Но, это мое видение. Успехов!
Может и я на что сгожусь ... Если сгодился, можете меня по+благодарить+.