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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.04.2013, 20:53   #1
and150382
Форумчанин
 
Регистрация: 19.10.2012
Сообщений: 217
По умолчанию Save as

Через форму добавляются данные на лист. После того как данные добавились на лист, нужно сохранить как. После сохранения открываю книгу, а данные обнуляются. То есть в ячейках в которые данные добавлялись становится пусто. Как решить эту проблему?
and150382 вне форума Ответить с цитированием
Старый 03.04.2013, 21:03   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

записывать до полного удовлетворения!
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 04.04.2013, 00:21   #3
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Как вариант - не открывать книгу.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 04.04.2013, 11:11   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

а нет-ли у вас в файле макроса сработывающего при открытии книги, который очищает определенный диапазон.? возможно, на каком-то этапе это был полезный макрос, а нынче стал вредительским.
только никто не видел ни вашего файла, ни макросов, ни что там за дела творятся непонятные.

описывая проблемы "так конкретно", будете поучать "такие же конкретные" ответы, как этот, а еще хуже, как два предыдущих.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 04.04.2013, 17:41   #5
and150382
Форумчанин
 
Регистрация: 19.10.2012
Сообщений: 217
По умолчанию

Выкладываю файл
Вложения
Тип файла: rar ТТН.rar (278.9 Кб, 13 просмотров)

Последний раз редактировалось and150382; 04.04.2013 в 20:03.
and150382 вне форума Ответить с цитированием
Старый 04.04.2013, 18:13   #6
and150382
Форумчанин
 
Регистрация: 19.10.2012
Сообщений: 217
По умолчанию

Пробую так

Код:
Private Sub CommandButton2_Click()
Application.ScreenUpdating = False: Application.DisplayAlerts = False
    Dim FName As String, ws As Worksheet
    
    With Application.FileDialog(msoFileDialogFolderPicker)
        .Title = "Укажите папку для сохранения"
        .Show
        If .SelectedItems.Count = 0 Then Exit Sub Else FilePath = .SelectedItems(1) & "\"
        For Each ws In ThisWorkbook.Sheets
            If Left(6, 169) = "" Then
                FName = .SelectedItems(1) & "\" & "" & ".xls": ws.Copy
                ActiveWorkbook.Sheets(ТТН).Name = "ТТН"
                ActiveWorkbook.SaveAs Filename:=FName
                ActiveWorkbook.Close SaveChanges:=False
            End If
        Next
    End With
End Sub
Появляется окно с выбором папки, но ничего не сохраняет. Нужно чтобы сохранил как....( название вставил из ячейки FM6 листа "ТТН"

Последний раз редактировалось and150382; 04.04.2013 в 19:57.
and150382 вне форума Ответить с цитированием
Старый 04.04.2013, 18:52   #7
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

вот это загадочная конструкци
Код:
If Left(6, 169) = "" Then...
Вы никогда не пападете внутрь этого потому что Left(6, 169) всегда равно "6" и никогда не будет равно "".

вообще дальше все довольно странно:

FName = .SelectedItems(1) & "\" & "" & ".xls" - присваиваете какую-то ерунду, вместо того чтобы присвоить значение из FM6, как сами предлагаете

ws.Copy - копируете лист, не указывая куда? скопируется в новую книгу, Вам это надо?

ActiveWorkbook.ActiveWorkbook.Sheet s(ТТН).Name = "ТТН"
у вас гдето назначена переменная ТТН, что вы листу Sheets(ТТН) присваиваете имя "ТТН"
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 04.04.2013, 20:17   #8
and150382
Форумчанин
 
Регистрация: 19.10.2012
Сообщений: 217
По умолчанию

Код:
Private Sub CommandButton2_Click()
Application.ScreenUpdating = False: Application.DisplayAlerts = False
    Dim FName As String, ws As Worksheet
    
    With Application.FileDialog(msoFileDialogFolderPicker)
        .Title = "Укажите папку для сохранения"
        .Show
        If .SelectedItems.Count = 0 Then Exit Sub Else FilePath = .SelectedItems(1) & "\"
        For Each ws In ThisWorkbook.Sheets
            
                FName = .SelectedItems(1) & "\Заказы" & "ТТН" & ".xls": ws.Copy
                
                ActiveWorkbook.SaveAs Filename:=FName
                ActiveWorkbook.Close SaveChanges:=False
            
        Next
    End With
End Sub
Подскажите вот так поправил.
Файл сохраняется с именем "ЗаказыТТН" и сохраняет только последний.
И как сделать чтобы бралось имя из ячейке FM6 листа ТТН( в ячейке данные меняются при вводе через листбокс.

Последний раз редактировалось and150382; 04.04.2013 в 21:28.
and150382 вне форума Ответить с цитированием
Старый 04.04.2013, 21:47   #9
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Код:
Private Sub CommandButton2_Click()
Application.ScreenUpdating = False: Application.DisplayAlerts = False
    Dim FName As String, ws As Worksheet
    With Application.FileDialog(msoFileDialogFolderPicker)
        .Title = "Укажите папку для сохранения"
        .Show
        If .SelectedItems.Count = 0 Then Exit Sub Else FilePath = .SelectedItems(1) & "\"
        FName = .SelectedItems(1) & "\ЗаказТТН" & range("FM6") & ".xls": ws.Copy
        ActiveWorkbook.SaveAs Filename:=FName
        ActiveWorkbook.Close SaveChanges:=False
    End With
End Sub
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 04.04.2013, 23:58   #10
and150382
Форумчанин
 
Регистрация: 19.10.2012
Сообщений: 217
По умолчанию

Выдает ошибку и подсвечивает ws.Copy
Ошибка
Run-time error 91
Object variable of With block variable not set
and150382 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
save dialog JK0 Помощь студентам 2 18.10.2010 14:54
save ben95 Общие вопросы Delphi 2 19.09.2008 14:31
DOM. save в IE badfilin JavaScript, Ajax 2 01.05.2008 11:20
Save in Game ChukCha Gamedev - cоздание игр: Unity, OpenGL, DirectX 7 11.09.2007 21:00