Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.58/492: Рейтинг темы: голосов - 492, средняя оценка - 4.58
0 / 0 / 0
Регистрация: 23.01.2012
Сообщений: 6

Сохранение листа в из книги как отдельный файл.xls

23.01.2012, 17:07. Показов 97825. Ответов 83
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Процедура по нажатию кнопки-сохранить к примеру лист3 из текущей книги как отдельный файл.xls с названием текущей даты в отдельную папку. А также если файл с таким названием уже существует, тогда перезаписать! Подскажите пожалуйста! Заранее спасибо!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.01.2012, 17:07
Ответы с готовыми решениями:

Макрос сохранение активного листа книги в отдельный файл
Код сохраняет файл, но с пустым содержанием. Подскажите, в чем может быть проблема? With Application.FileDialog(msoFileDialogSaveAs)...

Сохранение листа книги в отдельный файл в альбомном виде
Добрый день! Есть данный макрос, он сохраняет лист из книги в отдельный файл, но не совсем так как бы хотелось, в оригинале лист имеет...

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

83
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18035 / 7738 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
24.07.2012, 17:22
Студворк — интернет-сервис помощи студентам
В строке № 3 комментарий специально написал.
Ну к примеру:
Visual Basic
1
2
3
4
5
6
7
8
select case sheets(1).[A1] 'Ячейка А1 на первом листе
  case 0
    ar=array(2,3,4,5,6,7,8,9,10,11,12,13,14,15)
  case 1
    ar=...
  case else 'если ничего из вышеперечисленного нет в ячейке
    ar=...
end select
Подставляете нужное, заменяете этой конструкцией строку № 3.
1
0 / 0 / 0
Регистрация: 23.07.2012
Сообщений: 7
25.07.2012, 05:53
Красотищща! Спасибо огромное. Все работает как часы
0
0 / 0 / 0
Регистрация: 23.07.2012
Сообщений: 7
26.07.2012, 13:19
Простите за назойливость, появился еще один вопрос: если отображен только лист 1 с расчетами и кнопкой "сохранить", а все остальные листы скрыты, то не происходит сохранение скрытых листов в отдельный файл. Подскажите как это можно сделать?
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18035 / 7738 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
27.07.2012, 00:22
Переделал принцип: сначала копирование во временную папку файла со всеми изменениями (исходный файл это не затрагивает). Замена формул значениями. Скажем, если нужно скопировать два скрытых листа (№4 и № 5), делает первый из них видимым, №№1,2,3 удаляет. После диалога сохранения закрывает книгу и удаляет временный файл.
Visual Basic
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
28
29
30
31
Sub Into_New_Book2()
Dim Ar(), ArAll&(), Sh As Excel.Worksheet, n, tmpfile$
Ar = Array(4, 5) 'порядковые номера сохраняемых листов с формулами
tempfile = Environ("temp") + "\temp" + CStr(Timer) + ".xls"
Application.ThisWorkbook.SaveCopyAs tempfile
Application.ScreenUpdating = False
Application.Workbooks.Open (tempfile)
If Sheets(Ar(0)).Visible = False Then Sheets(Ar(0)).Visible = True
ActiveWorkbook.Sheets(Ar(0)).Activate
For Each n In Ar
  With ActiveWorkbook.Worksheets(n).UsedRange.Cells
   .Value = .Value
  End With
Next
ReDim Preserve ArAll(0 To ThisWorkbook.Worksheets.Count - 1 - (UBound(Ar) + 1))
For Each Sh In ActiveWorkbook.Worksheets
  If IsError(Application.Match(Sh.Index, Ar, 0)) Then
    ArAll(n) = Sh.Index
    n = n + 1
  End If
Next
Application.DisplayAlerts = False
  ActiveWorkbook.Worksheets(ArAll).Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True
Application.Dialogs(xlDialogSaveAs).Show
'закрыть книгу после сохранения
ActiveWorkbook.Close True
On Error Resume Next
Kill tempfile
End Sub
И повторюсь: смысл копирования целиком в том, что скопировать отдельные листы нельзя - собъются формулы, имеющие связи с другими (некопируемыми) листами. В значения мы преобразовать не сможем. А вносить изменения в исходный документ не всегда приятно.

Добавлено через 22 минуты
Вот изменение предыдущего кода
Visual Basic
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
28
29
30
31
32
33
Sub Into_New_Book()
Dim Ar(), ArAll&(), Sh As Excel.Worksheet, n
Ar = Array(4, 5) 'порядковые номера сохраняемых листов с формулами
ReDim Preserve ArAll(0 To ThisWorkbook.Worksheets.Count - 1)
For Each Sh In ThisWorkbook.Worksheets
  ArAll(n) = Sh.Index
  n = n + 1
Next
ThisWorkbook.Worksheets(ArAll).Copy
Application.Volatile
Application.Calculate
Application.ScreenUpdating = False
For Each n In Ar
  With ActiveWorkbook.Worksheets(n).UsedRange.Cells
   .Value = .Value
  End With
Next
Erase ArAll: n = 0
ReDim Preserve ArAll(0 To ThisWorkbook.Worksheets.Count - 1 - (UBound(Ar) + 1))
For Each Sh In ActiveWorkbook.Worksheets
  If IsError(Application.Match(Sh.Index, Ar, 0)) Then
      ArAll(n) = Sh.Index
      n = n + 1
    Else: If Sh.Visible = False Then Sh.Visible = True
  End If
Next
ActiveWorkbook.Sheets(Ar(0)).Activate
Application.DisplayAlerts = False
  ActiveWorkbook.Worksheets(ArAll).Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True
Application.Dialogs(xlDialogSaveAs).Show
End Sub
с копированием листов одним массивом.
Делает все копируемые листы нескрытыми.

Добавлено через 7 часов 19 минут
3) Хочу поделиться еще одним способом копирования скрытых листов с формулами (без использования временного файла и без внесения изменений в исх. книгу "де-факто"). На самом деле изменения будут вносится, но откат проводится полный, вплоть до сохранения параметра "вносились ли изменения".
Скопированные листы получают такое же имя, как и исходные. В новой книге все скрытые листы стают видимыми.
Visual Basic
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
28
29
30
31
32
'через временный лист без внесения изменений в исходную книгу (де-факто)
Sub Into_New_Book3()
Dim Ar(), ArNew&(), Sh As Excel.Worksheet, n&, C, CSh&, WbSaved As Boolean, LShNoVision As Boolean
Ar = Array(4, 5) 'порядковые номера сохраняемых листов с формулами
ReDim ArNew(0 To UBound(Ar))
  With ThisWorkbook
CSh = .Sheets.Count
WbSaved = .Saved
Application.ScreenUpdating = False
If .Worksheets(CSh).Visible = False Then .Worksheets(CSh).Visible = True: LShNoVision = True
.Worksheets(Ar).Copy after:=.Sheets(CSh)
For n = 0 To UBound(Ar)
  For Each C In .Worksheets(Ar(n)).UsedRange.Cells
    .Worksheets(CSh + 1 + n).Range(C.Address).Value = C.Value
  Next
  ArNew(n) = CSh + 1 + n
  If .Worksheets(ArNew(n)).Visible = False Then .Worksheets(ArNew(n)).Visible = True
Next
.Worksheets(ArNew).Copy
For n = 0 To UBound(Ar)
  ActiveWorkbook.Sheets(n + 1).Name = .Worksheets(Ar(n)).Name
Next
Application.DisplayAlerts = False
  .Worksheets(ArNew).Delete
Application.DisplayAlerts = True
If LShNoVision Then .Worksheets(CSh).Visible = False
Application.ScreenUpdating = True
If WbSaved Then ThisWorkbook.Saved = True
Application.Dialogs(xlDialogSaveAs).Show
ActiveWorkbook.Close
  End With
End Sub
И в файле - все 3 способа (листы №№4,5 скрыты).
Вложения
Тип файла: xls Sheets_Copy_Formula_on_Value_with_non_Visible_3.xls (41.5 Кб, 96 просмотров)
1
0 / 0 / 0
Регистрация: 23.07.2012
Сообщений: 7
27.07.2012, 05:41
Здорово, все работает так как надо. Где так хорошо можно изучить VBA, чтобы самому решать свои проблемы?
0
0 / 0 / 0
Регистрация: 29.05.2012
Сообщений: 3
27.07.2012, 10:11
Нарезал файл путем, о котором выше писал Dragokas: сохранял листы без ссылок (как значения), далее совершалась нарезка и не сохранял изменения в первоначальном файле.
Теперь столкнулся с проблемой, что программа выдает ошибку при сохранении данных в листах как значения.

Runtime error 7. Out of memory.

Никак не могу понять в почему. Файл, конечно стал потяжелее (добавлял данные), но принципиально в нем ничего не изменилось.

Visual Basic
1
2
3
4
5
6
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
  With ws.UsedRange
    .Value = .Value
End With
Next ws
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18035 / 7738 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
27.07.2012, 14:09
Попробуйте так:
Visual Basic
1
2
3
4
5
6
Dim ws As excel.Worksheet, Ra as range
For Each ws In ThisWorkbook.Worksheets
  for each Ra in ws.UsedRange.cells
    Ra = Ra.Value
  next
Next
0
27 / 2 / 0
Регистрация: 20.02.2013
Сообщений: 126
14.03.2013, 09:02
А как сохранить в отдельном xls фаиле мою страницу (Лист1), если в ней присутствуют формулы для расчёта, скрытые и группированные столбы и строки.

Хотелось сохранить отдельно лист1, но только так, как видно на листе1, т. е. не было формул, скрытые строки и столбцы пропущены. Как при печати, что вижу, то и печатаю.
1
 Аватар для SlavaRus
1124 / 237 / 37
Регистрация: 15.03.2010
Сообщений: 729
14.03.2013, 10:11
Код для копирования области печати. Область печати должна быть установлена.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Dim wsSource As Worksheet
Dim wsTarget As Worksheet
Dim wbTarget As Workbook
Dim rngTarget As Range
 
Set wsSource = ActiveWorkbook.ActiveSheet               'Ëèñò èñòî÷íèê, ïîñòàâèøü íóæíûé
 
If wsSource.PageSetup.PrintArea <> "" Then              'Ïðîâåðÿåì îáëàñòü ïå÷àòè
        Set wbTarget = Workbooks.Add
        Set wsTarget = Worksheets(1)                    'Ëèñò êóäà êîïèðóåì, ïîñòàâèøü íóæíûé
        
        wsSource.Range(wsSource.PageSetup.PrintArea). _
        SpecialCells(xlCellTypeVisible).Copy            'êîïèðóåì âèäèìûå ÿ÷åéêè
 ' Âìåñòî wsSource.PageSetup.PrintArea ìîæíî çàäàòü ñâîé äèàïàçîí, íàïðèìåð UsedRange.Address
 
        Set rngTarget = wsTarget.Range("a1")                'Íà÷àëî äèàïàçîí êóäà âñòàâëÿåì
        rngTarget.PasteSpecial Paste:=xlPasteColumnWidths   'Óñòàíàâëèâàåì øèðèíó ñòîëáöëâ îðèãèíàëà
        rngTarget.PasteSpecial Paste:=xlPasteValues         ' Êîïèðóåì çíà÷åíèÿ è ôîðìàòû
        rngTarget.PasteSpecial Paste:=xlPasteFormats
'        wbTarget.SaveAs ("MyCopySheet")
Else
        MsgBox "Óñòàíîâèòå îáëàñòü ïå÷àòè" & vbCrLf & _
        "Ðàçìåòêà ñòðàíèöû->Ïå÷àòàòü çàãîëîâêè->Âûâîäèòü íà ïå÷àòü äèàïàçîí"
End If
0
27 / 2 / 0
Регистрация: 20.02.2013
Сообщений: 126
14.03.2013, 10:14
SlavaRus,
А если без области копирования, а только через диапазон

Range("A1:Z100")
0
 Аватар для SlavaRus
1124 / 237 / 37
Регистрация: 15.03.2010
Сообщений: 729
14.03.2013, 10:19
Я же написал где поставить свой адрес. И проверку тогда можно убрать.

Visual Basic
1
2
3
...
wsSource.Range("A1:Z100")...
...
0
27 / 2 / 0
Регистрация: 20.02.2013
Сообщений: 126
14.03.2013, 11:24
SlavaRus,

Изменил как сказал:

Visual Basic
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
Sub yut()
    Dim wsSource As Worksheet
    Dim wsTarget As Worksheet
    Dim wbTarget As Workbook
    Dim rngTarget As Range
     
    Set wsSource = ActiveWorkbook.ActiveSheet               'Лист источник, поставишь нужный
     
    If wsSource.Range("A1:Z100") <> "" Then              'Проверяем область печати
            Set wbTarget = Workbooks.Add
            Set wsTarget = Worksheets(1)                    'Лист куда копируем, поставишь нужный
            
            wsSource.Range("A1:Z100"). _
            SpecialCells(xlCellTypeVisible).Copy            'копируем видимые ячейки
     ' Вместо wsSource.PageSetup.PrintArea можно задать свой диапазон, например UsedRange.Address
     
            Set rngTarget = wsTarget.Range("a1")                'Начало диапазон куда вставляем
            rngTarget.PasteSpecial Paste:=xlPasteColumnWidths   'Устанавливаем ширину столбцлв оригинала
            rngTarget.PasteSpecial Paste:=xlPasteValues         ' Копируем значения и форматы
            rngTarget.PasteSpecial Paste:=xlPasteFormats
    '        wbTarget.SaveAs ("MyCopySheet")
    Else
            MsgBox "Установите область печати" & vbCrLf & _
            "Разметка страницы->Печатать заголовки->Выводить на печать диапазон"
    End If
End Sub
чего-то не хочет
0
 Аватар для SlavaRus
1124 / 237 / 37
Регистрация: 15.03.2010
Сообщений: 729
14.03.2013, 11:29
Проверку надо убрать, скорее всего не установлена облать печати.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Sub yut()
    Dim wsSource As Worksheet
    Dim wsTarget As Worksheet
    Dim wbTarget As Workbook
    Dim rngTarget As Range
     
    Set wsSource = ActiveWorkbook.ActiveSheet               'Лист источник, поставишь нужный
     
    Set wbTarget = Workbooks.Add
    Set wsTarget = Worksheets(1)                    'Лист куда копируем, поставишь нужный
            
    wsSource.Range("A1:Z100").SpecialCells(xlCellTypeVisible).Copy 'копируем видимые ячейки
     
    Set rngTarget = wsTarget.Range("a1")                'Начало диапазон куда вставляем
    rngTarget.PasteSpecial Paste:=xlPasteColumnWidths   'Устанавливаем ширину столбцлв оригинала
    rngTarget.PasteSpecial Paste:=xlPasteValues         ' Копируем значения и форматы
    rngTarget.PasteSpecial Paste:=xlPasteFormats
    '        wbTarget.SaveAs ("MyCopySheet")
 
End Sub
1
27 / 2 / 0
Регистрация: 20.02.2013
Сообщений: 126
14.03.2013, 11:38
SlavaRus,

Шикарно, но:

1. Можно ли убрать выделение в копируемом листе.
2. Можно ли сделать так, чтобы книга сохранялся на диске C:\ с именем из ячеек А1 и В1, что-то типа:
3. Хотелось бы чтобы все операции были скрыты и книга просто появлялась на диске.
4. В книге есть скрытые столбы, их всех не видно в новой книге, но есть скрытый столбец, который не виден, и пусть будет, но в новой книге он должен быть виден, столбец D

C:\"A1"-"B1".xls

Спасибо
0
 Аватар для SlavaRus
1124 / 237 / 37
Регистрация: 15.03.2010
Сообщений: 729
14.03.2013, 12:15
Пробуй
Кликните здесь для просмотра всего текста
Visual Basic
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
28
29
30
Sub yut()
    Dim wsSource As Worksheet
    Dim wsTarget As Worksheet
    Dim wbTarget As Workbook
    Dim rngTarget As Range
    Dim CopyArea As String
    
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    
    CopyArea = "A1:Z100"                            ' Äèàïàçîí êîïèðîâàíèÿ
        
    Set wsSource = ActiveWorkbook.ActiveSheet       'Ëèñò èñòî÷íèê, ïîñòàâèøü íóæíûé
    wsSource.Range("d:d").EntireColumn.Hidden = False
 
    Set wbTarget = Workbooks.Add
    Set wsTarget = Worksheets(1)                    'Ëèñò êóäà êîïèðóåì, ïîñòàâèøü íóæíûé
    wsSource.Activate
    wsSource.Range(CopyArea).SpecialCells(xlCellTypeVisible).Copy 'êîïèðóåì âèäèìûå ÿ÷åéêè
    Set rngTarget = wsTarget.Range("a1")                'Íà÷àëî äèàïàçîí êóäà âñòàâëÿåì
    rngTarget.PasteSpecial Paste:=xlPasteColumnWidths   'Óñòàíàâëèâàåì øèðèíó ñòîëáöëâ îðèãèíàëà
    rngTarget.PasteSpecial Paste:=xlPasteValues         ' Êîïèðóåì çíà÷åíèÿ è ôîðìàòû
    rngTarget.PasteSpecial Paste:=xlPasteFormats
    wbTarget.SaveAs ("D:\" & wsTarget.Range("A1") & "_" & wsTarget.Range("B1"))
    wbTarget.Close
    wsSource.Range("d:d").EntireColumn.Hidden = True
    Application.ScreenUpdating = False
    Application.DisplayAlerts = True
    
End Sub
0
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
14.03.2013, 12:20
Чуть подправил (проверено, работает) :

Кликните здесь для просмотра всего текста
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
 
    CopyArea = "A1:Z100"                            ' Диапазон копирования
 
    Set wsSource = ActiveWorkbook.ActiveSheet       'Лист источник, поставишь нужный
    Set wsTarget = Workbooks.Add(1).Worksheets(1)                    'Лист куда копируем, поставишь нужный
 
    wsSource.Range(CopyArea).SpecialCells(xlCellTypeVisible).Copy    'копируем видимые ячейки
 
    With wsTarget.Range("a1")                'Начало диапазон куда вставляем
        .PasteSpecial Paste:=xlPasteColumnWidths   'Устанавливаем ширину столбцлв оригинала
        .PasteSpecial Paste:=xlPasteValues         ' Копируем значения и форматы
        .PasteSpecial Paste:=xlPasteFormats
    End With
    With wsTarget
        .Parent.SaveAs ("C:\" & .Range("A1") & "_" & .Range("B1"))
        .Parent.Close 0
    End With
 
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
0
27 / 2 / 0
Регистрация: 20.02.2013
Сообщений: 126
14.03.2013, 13:11
Хорошо, то что нужно

код

Visual Basic
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
28
29
30
31
32
33
Sub yut()
    Dim wsSource As Worksheet
    Dim wsTarget As Worksheet
    Dim wbTarget As Workbook
    Dim rngTarget As Range
    Dim CopyArea As String
    
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
 
    CopyArea = "A1:Z100"                            ' Диапазон копирования
 
    Set wsSource = ActiveWorkbook.ActiveSheet       'Лист источник, поставишь нужный
    wsSource.Range("b:b").EntireColumn.Hidden = False
    Set wsTarget = Workbooks.Add(1).Worksheets(1)                    'Лист куда копируем, поставишь нужный
 
    wsSource.Range(CopyArea).SpecialCells(xlCellTypeVisible).Copy    'копируем видимые ячейки
 
    With wsTarget.Range("a1")                'Начало диапазон куда вставляем
        .PasteSpecial Paste:=xlPasteColumnWidths   'Устанавливаем ширину столбцлв оригинала
        .PasteSpecial Paste:=xlPasteValues         ' Копируем значения и форматы
        .PasteSpecial Paste:=xlPasteFormats
    End With
    With wsTarget
        .Parent.SaveAs ("C:\" & .Range("A1") & "_" & .Range("B1"))
        .Parent.Close 0
    End With
    wsSource.Range("b:b").EntireColumn.Hidden = True
 
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
    
End Sub

Только тупит он как-то... моргает экран...

Добавлено через 32 минуты
А если присутствуют объединённые ячейки?
0
 Аватар для SlavaRus
1124 / 237 / 37
Регистрация: 15.03.2010
Сообщений: 729
14.03.2013, 14:07
Тогда надо избавиться от них.
Visual Basic
1
wsSource.Range(CopyArea).UnMerge
Потом могут неправильно выглядеть данные.
Вообще то надо стремиться не скрывать часть объедененной ячейки.
0
27 / 2 / 0
Регистрация: 20.02.2013
Сообщений: 126
14.03.2013, 15:16
А как можно упростить:

Visual Basic
1
2
3
4
5
    wsS.Range("b:b").EntireColumn.Hidden = False
    wsS.Range("c:c").EntireColumn.Hidden = False
    wsS.Range("f:f").EntireColumn.Hidden = False
    wsS.Range("h:h").EntireColumn.Hidden = False
    wsS.Range("w:w").EntireColumn.Hidden = False
Потом приходится писать:
Visual Basic
1
2
3
4
5
    wsS.Range("b:b").EntireColumn.Hidden = True
    wsS.Range("c:c").EntireColumn.Hidden = True
    wsS.Range("f:f").EntireColumn.Hidden = True
    wsS.Range("h:h").EntireColumn.Hidden = True
    wsS.Range("w:w").EntireColumn.Hidden = True
На что-то типа:

Visual Basic
1
wsS.Range("b, c, f, h, w").EntireColumn.Hidden = True
0
 Аватар для Апострофф
9912 / 3933 / 743
Регистрация: 11.10.2011
Сообщений: 5,915
14.03.2013, 15:27
Visual Basic
1
Union([b1],[d1]).EntireColumn.Hidden = True
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.03.2013, 15:27

Сохранение текущего листа Excel в отдельный файл
Доброго всем времени суток! Помогите справиться с небольшой проблемкой. Есть файл Excel с несколькими листами. Сделал ToolBar с...

Сохранение листа книги в файле - проблема с защитой листа и привязкой макросов
С толкнулся с такой проблемой при сохранении листа в файле вот код который сохраняет лист в файле Sub red_row() ...

Сохранение нужных строк в отдельный xls
Есть макрос, высасывающий данные из источника с периодичностью раз в минуту. Данные обрабатываются, перевариваются, и некоторые...

Вывести в отдельный файл, кто и когда вносил изменения в файл xls
уважаемые, кто подскажет или направит в нужном направлении Суть задачи. Вести в отдельный файлик кто и когда вносил изменения у вайл xls....

Сохранение листа в новой книги
Доброго времени суток форумчане. Срочно нужна консультация специалистов по данному вопросу. Подскажите что добавить в код чтобы он...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru