Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 След.
сохранение файла в папку левее папки с макросом
 
спасибо!) все получилось!)
сохранение файла в папку левее папки с макросом
 
да на уровень выше
сохранение файла в папку левее папки с макросом
 
здравствуйте! Для вас наверное этот вопрос легок, но  мне он давно не дает покоя. Суть вопроса такая:
сейчас я для сохранения файла использую папку которая находится там же, где и файл с макросом. Это выглядит так:
Код
Sub сохранение_новый()

Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:=Application.ThisWorkbook.Path & "\" & CStr(Range("A4")) & "\" & CStr(Range("B4")) & "\" & Range("AC3") & ".xlsx", FileFormat:=51
 
Application.DisplayAlerts = True

End Sub
(файл с макросом в папке "приложения") и файл сохраняется по пути "D:\программа\работа\приложения\2017\3\"наименование файла"

а как сделать так, чтобы он сохранялся в папку левее, т.е. из папки "приложения" в папке "работа"?
"D:\программа\работа\2017\3\"наименование файла"

Это нужно для того, чтобы спрятать кучу шаблонов в папке"приложения", а сами файлы сохранялись бы уже в рабочую папку с программой. Подскажите плизз.)
архивация в определенную папку
 
я читаю Ваши ответы, но я не спец в макросах, и обучаюсь им в процессе создания одного или другого. Я поняла что после создания архива его нужно переместить, а как правильно указать путь к этому архиву, если он только создан, и в имени я выставила и время кроме даты.? Т.е. имя архива каждый раз будет новое.
и после перемещения его нужно будет удалить с временной папки..
Код
Option Explicit
Const sWinRarAppPath As String = "C:\Program Files\WinRAR\WinRAR.exe"

 
Function FolderToRAR(sPath As String)
    Dim sArhiveName As String
    Dim sWinRarApp As String
    sWinRarApp = sWinRarAppPath & " A -ep -ag[DD.MM.YYYY.HH.MM] "
    sArhiveName = sPath & ".rar"
    FolderToRAR = Shell(sWinRarApp & " """ & sArhiveName & """ """ & sPath & """ ", vbHide)
    
End Function
Sub архивация()
 If FolderToRAR(ThisWorkbook.Path & "\приложения") Then
    End If
  Dim FSO As Object
 Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.CopyFile "ThisWorkbook.Path & " * " & .rar", "ThisWorkbook.Path & архив", 0
FSO.DeleteFile "ThisWorkbook.Path & " * " & .rar", 0
MsgBox "Папка успешно заархивирована!"
End Sub
Изменено: ALANA - 25.03.2017 00:34:52
архивация в определенную папку
 
код теперь срабатывает, и кидает архив рядом с файлом макросом, как Вы и говорили... А как сделать чтобы он не рядом кидал, а в определенную папку?
например вот в эту - Папка куда сохранить -" ThisWorkbook.Path\архив".. эта папка рядом с файлом с макросом.
т.е. рядом с файлом-макросом 2 папки. одну архивируем, а во вторую сохраняем.
архивируем -
ThisWorkbook.Path & "\приложения"
а сохраняем в ThisWorkbook.Path\архив.
как в макросе указать путь, куда конкретно нужно сохранить архив?
Код
Option Explicit
Const sWinRarAppPath As String = "C:\Program Files\WinRAR\WinRAR.exe"
 
Function FolderToRAR(sPath As String)
    Dim sArhiveName As String
    Dim sWinRarApp As String
    sWinRarApp = sWinRarAppPath & " A -ep -ag[DD.MM.YYYY] "
    sArhiveName = sPath & ".rar"
    
    'добавляем двойные кавычки, что позволит нам работать с именем файла и путём, которые содержат пробелы.
    'без кавычек пробелы недопустимы
    FolderToRAR = Shell(sWinRarApp & " """ & sArhiveName & """ """ & sPath & """ ", vbHide)
End Function
Sub архивация()
 If FolderToRAR(ThisWorkbook.Path & "\приложения") Then
        MsgBox "Папка успешно заархивирована!"
    End If
End Sub
архивация в определенную папку
 
Папка Для Архивации = "ThisWorkbook.Path"
Папка куда сохранить -" ThisWorkbook.Path\приложения\архивы"
название архива -  "архив & Format(Now, DD-MM-YYYY)"

честное слово, голова уже кругом... уже какие только варианты не пробовала...

если нельзя сохранить ту же папку в которой файл с макросом, то другой вариант -
Папка Для Архивации = "ThisWorkbook.Path\приложения"
Папка куда сохранить -" ThisWorkbook.Path\архив"
название архива -  "архив & Format(Now, DD-MM-YYYY)"
Изменено: ALANA - 23.03.2017 20:55:33
архивация в определенную папку
 
так оно пишет что заархивировано, а открываю папку - нет ничего.. никакого архива
архивация в определенную папку
 
Все легко и понятно, только не понятно как и куда вставить папку сохранения архива -" ThisWorkbook.Path\приложения\архивы"  :( исправила код, сохраняя  не Thisworkbook, теперь не ругается а сохраняет, но что сохраняет... куда сохраняет.. где искать... я понятия не имею.. и как теперь запихнуть в тот же архив файл с макросом архивации.... :(

вот на это теперь не ругается, но куда сохраняю - не знаю
Код
Option Explicit
Const sWinRarAppPath As String = "C:\Program Files\WinRAR\WinRAR.exe"
 
Function FolderToRAR(sPath As String)
    Dim sArhiveName As String
    Dim sWinRarApp As String
    sWinRarApp = sWinRarAppPath & " A -ep "
    sArhiveName = sPath & Format(Now, "DD - MM - YYYY") & ".rar"
    'добавляем двойные кавычки, что позволит нам работать с именем файла и путём, которые содержат пробелы.
    'без кавычек пробелы недопустимы
    FolderToRAR = Shell(sWinRarApp & " """ & sArhiveName & """ """ & sPath & "\приложения\" & "\архивы\", vbHide)
End Function 

Sub архивация()
 If FolderToRAR(ThisWorkbook.Path & "\приложения") Then
        MsgBox "Папка успешно заархивирована!"
    End If
End Sub
Изменено: ALANA - 23.03.2017 19:18:36
архивация в определенную папку
 
Здравствуйте! пересмотрела, перепробовала кучу информации , но никак не получается решить проблему.
Нужно создать макрос архивации папки, и соответственно потом розархивации с последующей заменой существующих файлов.
ПапкаДляАрхивации = "ThisWorkbook.Path"
Папкасохранения архива -" ThisWorkbook.Path\приложения\архивы"
название архива -  "ThisWorkbook.Path & Format(Now, DD-MM-YYYY)"
Помогите пожалуйста!
Вот этот код, который я пыталась применить,  не работает
Код
Option Explicit
Const sWinRarAppPath As String = "C:\Program Files\WinRAR\WinRAR.exe"

Sub архивация()
 If FolderToRAR("ThisWorkbook.Path") Then
        MsgBox "Папка успешно заархивирована!"
    End If
End Sub 

Function FolderToRAR(sPath As String)
    Dim sArhiveName As String
    Dim sWinRarApp As String
    sPath = ThisWorkbook.Path
    sWinRarApp = sWinRarAppPath & " A -ep "
    sArhiveName = sPath & Format(Now, "DD - MM - YYYY") & ".rar"
    FolderToRAR = Shell(sWinRarApp & " """ & sArhiveName & """ """ & sPath \ приложения \ архивы & """ ", vbHide)
End Function
копирование выборочных динамических отфильтрованных столбцов
 
спасибо большое!)
копирование выборочных динамических отфильтрованных столбцов
 
Здравствуйте! Не получается скопировать столбцы в таблицу на другой лист.
Есть таблица на листе"буфер".Количество строк изменяемое. Она фильтруется, а затем выборочные столбцы копируются в таблицу на лист "отчет"
Как должна выглядеть строчка копирования?
Код
t = Sheets("буфер").Cells(Rows.Count, 3).End(xlUp).Row
Sheets("буфер").Range(("A2:D" & t), ("F2:G" & t), ("J2:J" & t), ("L2:L" & t)).SpecialCells(xlCellTypeVisible).Copy
Sheets("отчет").Select
Sheets("отчет").Cells(3, 1).PasteSpecial Paste:=xlPasteValues

Вот эта моя проба выдает ошибку
Событие на изменение в ячейке: при совпадении названий отнять количество
 
спасибо большое!)  :)
Событие на изменение в ячейке: при совпадении названий отнять количество
 
формулой не получится, т.к. если изменяется значение на Лист2, то на Лист1 возвращается к исходным данным
Событие на изменение в ячейке: при совпадении названий отнять количество
 
Здравствуйте) Не могу правильно назначить событие, помогите пожалуйста.
Суть такая:
на Листе 1 табличка: Наименование и Количество
на Листе 2 строчка - Наименование и Количество
Нужно чтобы при изменении строчки на Листе 2 на Листе1 выполнилось действие - если совпадают наименования то от количества на Листе1 отнять количество на Листе2
Или накопление сделать в третьем столбце  - при совпадении названий суммировать на Листе1 количество, которое находится на Листе 2.. короче не знаю как лучше.
Пробовала и формулы и событие в листе.. и так и эдак.. но не получается самой сделать это.
вставка в UserForm данных с отфильтрованной таблицы
 
спасибо большое, буду разбираться)
вставка в UserForm данных с отфильтрованной таблицы
 
а вообще, это мои первые формы) я никогда не делала ничего подобного раньше, поэтому наверное они в чем то кривоватые) Да и про то что в эксель можно сделать такое я даже не догадывалась еще год назад) :)
вставка в UserForm данных с отфильтрованной таблицы
 
я пыталась его вставить в строки - Me.ListBox1.List(t, 0) = Sheets("расход").myCells(r, 2).Value
но в таком случае вообще никакой вставки не происходило в  листбокс.. а открытый файл расход у Вас потому что код не до конца выполняется..когда все нормально срабатывает, то вы его вообще не увидите тот лист расход.
вставка в UserForm данных с отфильтрованной таблицы
 
на главной странице - кнопка "Прайс"(это для примера  кроме кнопки на странице нет ничего, и для уменьшения размера) . При нажатии на кнопку появляется форма с названиями изделий, (то что в наличии на данное число). При клике на наименование в прайсе появляется вторая форма. В ней описано движение изделия(когда и от кого поступило, куда и кем расходовалось.(берется из таблицы расход) Это в принципе то, что я хотела бы увидеть.. Но споткнулась на этой фильтрации. Саму фильтрацию делает правильно код, я пошагово проверяла код. но вот в форму вставляет почему то и скрытые строки тоже, при чем только те, что выше выбранной позиции
Изменено: ALANA - 04.03.2017 01:30:16
вставка в UserForm данных с отфильтрованной таблицы
 
Я еще подработала код, он стал понятней, но фильтрация все равно проходит не правильно. Как и писала в прошлом посте - при автофильтре добавляет в форму кроме выбранной позиции и те, что расположены выше. Что не так с фильтрацией? подскажите плиззззз
Код
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
Me.ListBox1.Clear
Dim Wb As Workbook
Set Wb = Workbooks.Open(ThisWorkbook.Path & "\расход.xlsb")
With Sheets("расход")
    .Cells(2, 5).AutoFilter Field:=5, Criteria1:=Me.TextBox1
    .Select
End With
stRow = Sheets("расход").Cells(Rows.Count, 5).End(xlUp).Row
Set myCells = Cells.SpecialCells(xlCellTypeVisible)
 t = 0
    For r = 3 To stRow
    Me.ListBox1.AddItem ""
    Me.ListBox1.List(t, 0) = Sheets("расход").Cells(r, 2).Value
    Me.ListBox1.List(t, 1) = Sheets("расход").Cells(r, 8).Value
    Me.ListBox1.List(t, 2) = Sheets("расход").Cells(r, 9).Value
    Me.ListBox1.List(t, 3) = Sheets("расход").Cells(r, 10).Value
    Me.ListBox1.List(t, 4) = Sheets("расход").Cells(r, 11).Value
    Me.ListBox1.List(t, 5) = Sheets("расход").Cells(r, 15).Value
    Me.ListBox1.List(t, 6) = Sheets("расход").Cells(r, 16).Value
    Me.ListBox1.List(t, 7) = Sheets("расход").Cells(r, 17).Value
     t = t + 1
Next

Windows("расход").Close False
ListBox1.ColumnWidths = "65;125;65;65;65;65;65;65"
Application.ScreenUpdating = True
End Sub
вставка в UserForm данных с отфильтрованной таблицы
 
Все получилось, теперь вставляет в форму  при нажатии кнопки"добавить", но теперь новая проблема -  при автофильтре в форму добавляет все нужные и ненужные данные... т.е. подхватывает с таблицы  все ячейки что выше выбранной позиции.  
В примере я удалила с книг все, оставив только то, что нужно - кнопка в первой книге, и 2 таблицы во второй, из которой формы берут данные.
В примере это можно проверить выбрав "датчик ПРП..."
Помогите мне пожалуйста со второй формой .
Код
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
Me.ListBox1.Clear
Dim Wb As Workbook
Set Wb = Workbooks.Open(ThisWorkbook.Path & "\расход.xlsb")
With Wb.Sheets("расход")

    .Cells(2, 5).AutoFilter Field:=5, Criteria1:=Me.TextBox1
    .Select
End With
stRow = Wb.Sheets("расход").Cells(Rows.Count, 5).End(xlUp).Row
Set myCells = Cells.SpecialCells(xlCellTypeVisible)

 t = 0
    For r = 3 To stRow
    Me.ListBox1.AddItem ""
    Me.ListBox1.List(t, 0) = Wb.Sheets("расход").Cells(r, 2).Value
    Me.ListBox1.List(t, 1) = Wb.Sheets("расход").Cells(r, 8).Value
    Me.ListBox1.List(t, 2) = Wb.Sheets("расход").Cells(r, 9).Value
    Me.ListBox1.List(t, 3) = Wb.Sheets("расход").Cells(r, 10).Value
    Me.ListBox1.List(t, 4) = Wb.Sheets("расход").Cells(r, 11).Value
    Me.ListBox1.List(t, 5) = Wb.Sheets("расход").Cells(r, 15).Value
    Me.ListBox1.List(t, 6) = Wb.Sheets("расход").Cells(r, 16).Value
    Me.ListBox1.List(t, 7) = Wb.Sheets("расход").Cells(r, 17).Value
     t = t + 1
Next
With Wb.Sheets("прайс")
    .Cells(2, 5).AutoFilter Field:=5, Criteria1:=Me.TextBox1
    .Select
End With
stRow = Wb.Sheets("прайс").Cells(Rows.Count, 5).End(xlUp).Row
Set myCells = Cells.SpecialCells(xlCellTypeVisible)
 myCells.Select
 For r = 3 To stRow
Me.TextBox2.Text = Wb.Sheets("прайс").Cells(r, 2).Value
Me.TextBox3.Text = Wb.Sheets("прайс").Cells(r, 7).Value
Next
Windows("расход").Close False
ListBox1.ColumnWidths = "65;125;65;65;65;65;65;65"
Application.ScreenUpdating = True
End Sub
Изменено: ALANA - 03.03.2017 16:09:20
вставка в UserForm данных с отфильтрованной таблицы
 
Sanja, спасибо Вам большое за помощь) проблеск уже есть, уже открывает и сортирует ту таблицу, теперь заминка на вставке, но это уже завтра буду разбираться)
вставка в UserForm данных с отфильтрованной таблицы
 
Cells = SpecialCells(xlVisible) вот на эту строку  выдает - "sub or function not defined"
вставка в UserForm данных с отфильтрованной таблицы
 
а вопрос в том, что вторая форма не работает( не заполняется :(
вставка в UserForm данных с отфильтрованной таблицы
 
есть две формы. В одной - прайс лист, при двойном клике на названии в первой форме - появляется вторая форма, в которой указано движение детали..(приход, расход, кем, когда, сколько)

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

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

но я добавляла при инициализации строку - Me.UserForm2.TextBox1 = Workbooks("программа").Sheets("главная").Cells(1, 23)
не помогло, в итоге сейчас в свойствах самого текстбокса выставлена конкретная ячейка из которой он и берет название
Изменено: ALANA - 03.03.2017 00:32:25
вставка в UserForm данных с отфильтрованной таблицы
 
я ошиблась немного в коде
LastRow = Wbb.Sheets("движение").Cells(Rows.Count, 5).End(xlUp).Row

но исправив ошибку не помогает все равно
вставка в UserForm данных с отфильтрованной таблицы
 
Здравствуйте! Я снова к вам за советом.
Есть UserForm с текстбоксами и листбоксом. И есть таблица, в которой нужно  отфильтровать диапазон на основании текстбокса1 UserForm, и затем вставить полученные значения в листбокс.

Подскажите, что не так с моим макросом?
Код
Private Sub UserForm2_Initialize()

Application.ScreenUpdating = False
Dim stRow As Long
Dim strName As String
Dim t As Integer
Dim Wbb As Workbook
strName = ThisWorkbook.Path & "\приложения\база\движение.xlsb"
Set Wbb = Workbooks.Open(strName)
Me.ListBox1.Clear
stRow = Wbb.Sheets("движение").Cells(Rows.Count, 5).End(xlUp).Row
With Wbb.Sheets("движение")
    .Cells(2, 5).AutoFilter Field:=5, Criteria1:=Me.UserForm2.TextBox1
    .Select
End With
Cells = SpecialCells(xlVisible)
 t = 0
    For r = 2 To stRow
    Me.UserForm2.ListBox1.AddItem ""
    Me.UserForm2.ListBox1.List(t, 0) = Wbb.Sheets("движение").Cells(r, 2).Value
    Me.UserForm2.ListBox1.List(t, 1) = Wbb.Sheets("движение").Cells(r, 8).Value
    Me.UserForm2.ListBox1.List(t, 2) = Wbb.Sheets("движение").Cells(r, 9).Value
    Me.UserForm2.ListBox1.List(t, 3) = Wbb.Sheets("движение").Cells(r, 10).Value
    Me.UserForm2.ListBox1.List(t, 4) = Wbb.Sheets("движение").Cells(r, 11).Value
    Me.UserForm2.ListBox1.List(t, 5) = Wbb.Sheets("движение").Cells(r, 15).Value
    Me.UserForm2.ListBox1.List(t, 6) = Wbb.Sheets("движение").Cells(r, 16).Value
    Me.UserForm2.ListBox1.List(t, 7) = Wbb.Sheets("движение").Cells(r, 17).Value
    
     t = t + 1
    Next
    Windows("движение").Close False
    Application.ScreenUpdating = True
End Sub
Изменено: ALANA - 03.03.2017 00:05:50
Не получается сохранить листы в файл
 
спасибо большое)) каждый раз, что то делая с макросами узнаю что то новое) Вы просто умничка, помогая таким как я лузерам)
Изменено: ALANA - 01.03.2017 18:31:27
Не получается сохранить листы в файл
 
да, так было задумано) в последнем варианте я просто не исправила название листа ЛИСТ1 на свой лист) все хорошо  сейчас!) Вы избавили меня от головной боли))
Не получается сохранить листы в файл
 
все хорошо! все получилось!)) большое Вам спасибо!!)
Изменено: ALANA - 01.03.2017 18:07:06
Не получается сохранить листы в файл
 
в ячейках адрес к папке.. диск д -работа - 2017 -и т. д.... но этот адрес находится только в книге, там где макрос... в новой книге  этих ячеек нет.. поэтому этот адрес нужно указать из основной книги.. а как это сделать не знаю..
и как раз макрос я запускаю с того листа где и этот адрес... в ячейках
Изменено: ALANA - 01.03.2017 18:01:55
Страницы: 1 2 След.
Наверх