Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.70/64: Рейтинг темы: голосов - 64, средняя оценка - 4.70
2 / 2 / 0
Регистрация: 19.07.2011
Сообщений: 70

создание Excel-файла с плавающим именем

19.07.2011, 01:06. Показов 13368. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!

Обчитался helpы VBA - не найду

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

хотел спросить: какой код для того, чтобы Excel, каждый раз создавая файл куда копируются отфильтрованные данные, называл этот файл как раз именем этого самого склада


в яндексе тож не нащел такой темы с "динамически" присваиваемым именем файлу Excel'я

Воот
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.07.2011, 01:06
Ответы с готовыми решениями:

Vba создание .txt файла с пользовательским именем
Есть форма с textbox в который пользователи вводят имя будущего .txt файла. Введенное имя храню в переменной. Нужно создать файл с...

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

Создание файла из листа Excel
Возникла необходимость создавать файлы с разными названиями из шаблонного листа. Знаю как это сделать обычным способом, но немного длинный...

5
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
19.07.2011, 06:46
lllllllll,
напишите фрагмент кода, как вы создаёте новую книгу, и напишите, где находится название склада.
0
2 / 2 / 0
Регистрация: 19.07.2011
Сообщений: 70
19.07.2011, 10:20  [ТС]
Добрый день!!!!!

Вот пример для которого писал код:
т.е. у нас есть 3 столбца: далее я упорядочиваю по 3ему столбцу (названия складов) и нумерую. Далее фильтруем по 4му столбцу и копируем во вновь созданную книгу. Вот только как научить Эксель брать имя склада автоматически для сохранения, не знаю

А еще может подскажите кстати, как дописать (думаю, при помощи цикла With или For?) код, чотбы он также автоматом фильтровал по 4му столбцу до тех пор, пока в нём есть непустые числа (т.е. там будет For each i in Range("A:A") do ... i:=i+1 - просто там ведь в фильтре Criterial пишется как ="1", а не = i, воот)


код продажи склад
1 10 склад1 1
1 10 склад1 1
1 10 склад1 1
1 10 склад1 1
1 10 склад1 1
1 10 склад1 1
2 20 склад2 2
2 20 склад2 2
2 20 склад2 2
2 20 склад2 2
2 20 склад2 2
2 20 склад2 2



А вот сам код:
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 оexample()
'
' оexample Макрос
' Макрос записан 19.07.2011 (1)
'
 
'
    Selection.AutoFilter
    Range("C1").Select
    Range("A1:C13").Sort Key1:=Range("C1"), Order1:=xlAscending, Header:= _
        xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
    Range("D2").Select
    ActiveCell.FormulaR1C1 = "=IF(RC[-1]<>R[-1]C[-1],R[-1]C+1,R[-1]C)"
    Range("D2").Select
    Selection.AutoFill Destination:=Range("D2:D13")
    Range("D2:D13").Select
    Range("A1").Select
    Selection.AutoFilter
    Selection.AutoFilter
    Range("F4").Select
    Selection.AutoFilter Field:=4, Criteria1:="1"
    Cells.Select
    Selection.Copy
    Workbooks.Add
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("A1").Select
    Application.CutCopyMode = False
    ActiveWorkbook.SaveAs Filename:="C:\Users\1\Desktop\склад1.xls", FileFormat _
        :=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:= _
        False, CreateBackup:=False
End Sub
Благодарю!
0
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
19.07.2011, 11:28
Нужно создать переменную i (это буква обычно используется в качестве счётчика) и её подставлять везде, где надо.
Visual Basic
1
2
3
4
5
6
7
Dim i As Long
For i = 1 To 10 Step 1
    Selection.AutoFilter Field:=4, Criteria1:=i
    ActiveWorkbook.SaveAs Filename:="C:\Users\1\Desktop\склад" & i & ".xls", FileFormat _
    :=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:= _
    False, CreateBackup:=False
Next i
2
2 / 2 / 0
Регистрация: 19.07.2011
Сообщений: 70
19.07.2011, 15:34  [ТС]
Благодарю!!!

Классный код!

Красиво и мастерски!


С уважением,

Алексей

Добавлено через 1 час 23 минуты
Цитата Сообщение от Busine2009 Посмотреть сообщение
Нужно создать переменную i (это буква обычно используется в качестве счётчика) и её подставлять везде, где надо.
Visual Basic
1
2
3
4
5
6
7
Dim i As Long
For i = 1 To 10 Step 1
    Selection.AutoFilter Field:=4, Criteria1:=i
    ActiveWorkbook.SaveAs Filename:="C:\Users\1\Desktop\склад" & i & ".xls", FileFormat _
    :=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:= _
    False, CreateBackup:=False
Next i
Извините,

скажите пожалуйста, а что если всё же не склад1, склад2 и т.п., а склады именуются как Москва, Саратов и т.п.? То как сохранять с такими именами? Т.е. чтобы по созданным именам можно было понять, для какого склада где статистика посчитана, воот
0
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
19.07.2011, 15:54
Visual Basic
1
2
3
4
ActiveWorkbook.SaveAs _
    Filename:="C:\Users\1\Desktop\" & ActiveWorkbook.ActiveSheet.Cells(1, 1).Value & ".xls", _
    FileFormat:=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:= _
    False, CreateBackup:=False
где ActiveWorkbook.ActiveSheet.Cells(1, 1).Value - ячейка где указан город, где находится склад.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.07.2011, 15:54
Помогаю со студенческими работами здесь

Защита листа Excel и создание резервной копии файла
Имеется: Книга защищена паролем &quot;123&quot;. На форме входа уже есть две кнопки: &quot;Пользователь&quot; и &quot;Гость&quot;. При входе гостя...

Сохранение Ексель файла с плавающим именем
Открываю шаблон ексель, вношу изменения, сохраняю с другим именем. Private Sub Прайс_Click() Dim app As Object Dim wrk As...

Создание папок в excel с именем ячеек
Здравствуйте. Помогите пожалуйста не грамотному )) Есть 3 листа в одной книге, в каждом порядка 300 строк, каждая строка - объект,...

Создание файла TXT с заданным именем файла
Здравствуйте. Нужна Ваша помощь. Есть сайт, который находится на хостинге без MySQl. Единственное решение для регистрации...

Поиск в каталоге нужного файла и создание при его наличии нового файла с тем же именем, но с другим раширением
Нужно сделелать проверку на наличие файла &quot;Пример.т01&quot; в катологе D:\Temp\ и при условии что они есть создать файл (пустой, в томже...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru