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

Страницы: 1 2 След.
Как с помощью VBA скопировать данные из одной книги в другую , вставляя только значения.
 
Hugo, Спасибо большое! Работает!
Как с помощью VBA скопировать данные из одной книги в другую , вставляя только значения.
 
Hugo, Доброго и продуктивного Вам дня!
что мне нужно поменять, что бы второй раз он брал не масив а лишь адрес ячейки?
В лист ПЗП за раз вносится несколько строк но номера поручений дублируются, так и надо, и мне надо что бы данный номер поручения копировался на лист ПЭ (На ПЭ все тянется формулами)
Цитата
Sub CopyPaste()
Dim a, wb As Workbook

a = Range(Range("B1")).Value
       
  Set wb = Workbooks.Open("G:\Документы подразделений\Упр-е логистики\Отдел организации перевозок\проекты 2024\Cвод 2024-2025.xlsb", Password:="789", WriteResPassword:="789")
 
  With wb.Worksheets("ПЗП")
  .Range(.Range("B1")).Resize(UBound(a, 1), UBound(a, 2)) = a
  End With
 
  With wb.Worksheets("ПЗП")
  a = .Range(.Range("A1")).Value ' взяли в массив(НУЖЕН НЕ МАССИВ) с листа "ПЗП" (так понимаю, что-то тут в это стройке нужно изменить)
  End With
 
  With wb.Worksheets("ПЭ")
  .Range(.Range("A1")).Resize(UBound(a, 1), UBound(a, 2)) = a
  End With
 
wb.Close True

End Sub
Как с помощью VBA скопировать данные из одной книги в другую , вставляя только значения.
 
Hugo, я бы с радостью так и сделал. Но не силен от слова совсем в этом. Формулами если и умею баловаться. Макросами нет (
Как с помощью VBA скопировать данные из одной книги в другую , вставляя только значения.
 
Hugo, у меня рабочий день закончился. Дома ПК нет. Я Понедельник опишу.
а в кратце. Последние действия что сегодня делали там не массив уже а ячейка. Но она меняется как вы поняли.  
Как с помощью VBA скопировать данные из одной книги в другую , вставляя только значения.
 
Hugo, аааааа, так не работает? там да, нужно только ячейку :)
А как ячейку взять то ?
Как с помощью VBA скопировать данные из одной книги в другую , вставляя только значения.
 
Hugo, готово
Как с помощью VBA скопировать данные из одной книги в другую , вставляя только значения.
 
Hugo, хорошо, тогда я подготовлю его. т.к. придется конф.данные стереть. Иначе меня порвут.
Как с помощью VBA скопировать данные из одной книги в другую , вставляя только значения.
 
Hugo, ошибка type mismatch
Код
Sub CopyPaste()
Dim a, wb As Workbook

a = Range(Range("B1")).Value
        
   Set wb = Workbooks.Open("G:\Документы подразделений\Упр-е логистики\Отдел организации перевозок\проекты 2024\Cвод 2024-2025.xlsb", Password:="789", WriteResPassword:="789")
   
   With wb.Worksheets("ПЗП")
   .Range(.Range("B1")).Resize(UBound(a, 1), UBound(a, 2)) = a
   End With
   
   With wb.Worksheets("ПЗП")
   a = .Range(.Range("A1")).Value ' взяли в массив с листа "ПЗП"
   End With
   
   With wb.Worksheets("ПЭ")
   .Range(.Range("A1")).Resize(UBound(a, 1), UBound(a, 2)) = a
   End With
   
wb.Close True

End Sub
данные вносятся влист ПЗП а дальше ноль, на этом выдает ошибку
Как с помощью VBA скопировать данные из одной книги в другую , вставляя только значения.
 
Hugo,
Код
Sub CopyPaste()
Dim a, wb As Workbook

a = Range(Range("B1")).Value
        
   Set wb = Workbooks.Open("G:\Документы подразделений\Упр-е логистики\Отдел организации перевозок\проекты 2024\TEST\Cвод 2024-2025.xlsb")
   
   With wb.Worksheets("ПЗП")
   .Range(.Range("B1")).Resize(UBound(a, 1), UBound(a, 2)) = a
   End With

   Следующий шаг в этой же книге (Cвод 2024-2025.xlsb) в этом же листе ("ПЗП") с ячейки A1 (в которой указан диапазон который нужно скопировать)
копируем и вставить нужно в эту же книгу (Cвод 2024-2025.xlsb) на лист ("ПЭ") в ячейку, адрес которой указан в ячейке А1

wb.Close True

End Sub
Посчитать количество строк по месяцу
 
Hugo, Спасибо!
А вы мне ответите в той теме ? :)
Что неделю назад мне помогли ?
Посчитать количество строк по месяцу
 
Формучане, а есть что-то вместо
Цитата
=СУММПРОИЗВ(--(ТЕКСТ(ПЭ!F:F;"МММ.ГГ")=ТЕКСТ(AU25;"МММ.ГГ")))
Она какая то тяжелая. а таблица не маленькая.
Подтупливать стала табличка
Изменено: zhlobus - 12.07.2024 13:15:04
Как с помощью VBA скопировать данные из одной книги в другую , вставляя только значения.
 
Hugo, Лист называется ПЗП
Как с помощью VBA скопировать данные из одной книги в другую , вставляя только значения.
 
Hugo, Думал дальше смогу по аналогии добавить что нужно, но и тут ни как :(
нужно что бы после того как проделана та часть( №17 сообщение) макрос взял с ячейки B2 адрес нужной ячейки, которую скопировать  (это все уже в той книге, в которую уже вставили значения ) и вставить в соседний лист этой же книги в ячейку которая указана в ячейке A1 листа куда вставить.
И вроде это будет пик моего счастья.
Изменено: zhlobus - 05.07.2024 15:42:38
Как с помощью VBA скопировать данные из одной книги в другую , вставляя только значения.
 
Hugo, Спасибо вам за все.
Для вас подобное минута с вашими знаниями, а я мучался 2 недели и то, только с вашего ГОТОВОГО варианта получилось
В знак благодарности, могу вам копеечку на счет закинуть. Не много, но на пивко или сок хватит точно :)
Как с помощью VBA скопировать данные из одной книги в другую , вставляя только значения.
 
Hugo, это в настройках самого экселя?
Как с помощью VBA скопировать данные из одной книги в другую , вставляя только значения.
 
Hugo, Какую то ошибку выдает (400)

Простите я тупой, не ту ячейку указывал. Работает как часики.
Только если файл Свод открыт спрашивает открыть ли еще раз.
Почему то не понимает что разницы нет, раз открыт, занеси молча и все данные :)
Изменено: zhlobus - 05.07.2024 14:13:42
Как с помощью VBA скопировать данные из одной книги в другую , вставляя только значения.
 
Hugo, Вы супер, работает как надо
НО, задача что бы в файле Cвод 2024-2025.xlsb в лист "ПЭ" брал так же из ячейки A4 значение адрес первой пустой ячейки в столбце.
A4 формула ="$B$"&(СЧЁТЗ(C:C)+1)

Вы меня правда простите, но это мне очень сильно поможет и решит много проблем по работе.
Изменено: zhlobus - 05.07.2024 13:41:47
Как с помощью VBA скопировать данные из одной книги в другую , вставляя только значения.
 
Hugo,  Я готов застрелиться :(
Код
Sub CopyPaste()
   
Dim a
a = Range(Range("P2")).Value.Copy
        
    Dim wb As Workbook
    Set wb = Workbooks.Open("G:\Документы подразделений\Упр-е логистики\Отдел организации перевозок\проекты 2024\TEST\Cвод 2024-2025.xlsb")
    Worksheets("ПЭ").Range("B89").Resize(UBound(a, 1), UBound(a, 2)) = a


wb.Close True

End Sub

Как с помощью VBA скопировать данные из одной книги в другую , вставляя только значения.
 
Hugo, Спасибо конечно, но сложно мне разобрать, ведь как я говорил у меня 0 познаний :(
Что не так?
Код
Sub CopyPaste()

Dim a
a = Range(Range("P2")).Value

'Открываем файл с которого нужно скопировать данные
Workbooks.Open Filename:="G:\Документы подразделений\Упр-е логистики\Отдел организации перевозок\проекты 2024\TEST\Cвод 2024-2025.xlsb"
'Активируем нужную нам книгу
Workbooks("Cвод 2024-2025.xlsb").Activate
'Выделяем и вставляем скопированные данные в ячейку
ActiveWorkbook.Worksheets("ПЭ").Range("B89").Select
ActiveSheet.Paste
'Закрываем книгу откуда мы скопировали данные
WB.Save
WB.Close

End Sub
Как с помощью VBA скопировать данные из одной книги в другую , вставляя только значения.
 
Sanja, Пытаюсь собрать кусочками, тут надеюсь вырвать вариант с копированием и вставкой, а там продолжим полный ход действий уже с проверкой занятости файла.
Или так нельзя ? :(
Как с помощью VBA скопировать данные из одной книги в другую , вставляя только значения.
 
Уважаемые форумчане. Прошу помощи
есть книга1 лист1 в я чейке AS3 стоит формула ="$A$2:$F$"&(СЧЁТЗ(C:C)+1), другими словами она текстово показывает мне нужный диапазон
в книге2 лист2 в ячейке F6 стоит формула ="$A$"&(СЧЁТЗ(C:C)+1) которая показывает первую свободную ячейку в стобце.
как макросом реализовать что бы он брал диапазон ячеек с книга1 лист1 согласно ячейке AS3, копировал
и в книге2 лист2 выделял ячейку которая указана в ячейке F6 и вставлял скопированные данные значением.

Сам я далекий в этих делах иногда получается собрать косками коды. В этот раз что то ни как..
Изменено: zhlobus - 05.07.2024 10:55:05
Макрос. Копирование строк из одного листа одной книги в конец определенного листа другой книги
 
Цитата
написал:
Вот ссылка на программу: https://www.dropbox.com/scl/fi/ax2z73ue6oh0lnjt56oa2/TXT-XLS-1-80b.exe?rlkey=lwssvjdm140dbt8nilaqlxx....
К сожалению, рабочий фаервол некоторые адреса блокирует :(
Ко всему прочему, это экзешник. Мне то макрос нужен :(
Изменено: zhlobus - 05.07.2024 10:26:23
Макрос. Копирование строк из одного листа одной книги в конец определенного листа другой книги
 
Цитата
добавлять в конец заполняемого листа (давно думал о такой возможности, но по моим практическим задачам это не нужно было).
Тут я думаю можно схитрить к примеру формулы которые возвращают адреса ячеек. или еще проще ="$A$2:$F$"&(СЧЁТЗ(C:C)+1)
ими задать правила к примеру у нас A2:F45 имеются записи в книге1 лист1 формула подсчитывает строки не пустые и в итоге выдает нам нужное A2:F45

В книге2 лист2 подобная формула которая говорит что начиная с ячейки A102 начинаются пустые строки.

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

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

Что скажете? такое облегчит работу.
Главное что бы макрос с начало выполнял проверку, занят ли тот файл конечный кем то другим

Моя проблема в том, что я совсем не шарю в этом, и кусочками нарезать сложно. много работы у меня получилось нарезать. но тут как вы и сказали специфика :(

А работа монотонная, убивает. Не та ЗП но и выбора нет :(
Изменено: zhlobus - 05.07.2024 09:18:34
Макрос. Копирование строк из одного листа одной книги в конец определенного листа другой книги
 
andypetr,
Касаемо
Цитата
обрабатывать книги с паролем - нужно обговорить подробнее, с примером.
Возможно следующий код поможет, ибо по нему у меня проходит фоновое обновление данных
Код
Set WB = Application.Workbooks.Open("путь к файлу", Password:="123", WriteResPassword:="456")
Создать папку с именем ячейки, в эту папку сохранить открытую книгу
 
andypetr, Вам в любом случае большое спасибо. Вроде более менее.
Если есть возможность, то помогите еще с одним данный вопрос нужен был для следующего (часть решена)

Макрос. Копирование строк из одного листа одной книги в конец определенного листа другой книги
Создать папку с именем ячейки, в эту папку сохранить открытую книгу
 
andypetr, Сама папка создается без проблем. Файл не сохраняется.
Создать папку с именем ячейки, в эту папку сохранить открытую книгу
 
andypetr, Вы правы

C:\test\25-КВ_ГТН_СД -Жлоба\ПЭ 25-КВ_ГТН_СД.xlsb         50
G:\путь\25-КВ_ГТН_СД -Жлоба\ПЭ 25-КВ_ГТН_СД.xlsb   50

Но проблема в том, что нужно сохранять в общей папке.
Диск G: как бы и есть сетевая папка, НО как правило у некоторых почему то все равно путь отображается часто как \\s-dat-03\ без буквы диска

Быть может лучше что бы и путь самому не нужно было выбирать а сделать еще одну ячейку с условием ?
Там как бы у нас 3 пабки в которых нужно доп.создать папку и в ней сохранить файл.
Создать папку с именем ячейки, в эту папку сохранить открытую книгу
 
andypetr, Может разница в версии офиса? у меня 2013
а что касаемо "If ThisWorkbook.FileFormat = 53" у меня даже 1 раз не сохраняет. вверху окна видно что название с книги1 сменилось на имя что указано в ячейке О9 но папка пуста.
Создать папку с именем ячейки, в эту папку сохранить открытую книгу
 
andypetr,

\\s-dat-03\personal$\azhloba\Desktop\25-КВ_ГТН_СД -Жлоба\ПЭ 25-КВ_ГТН_СД.xlsb       \\s-dat-03\personal$\azhloba\Desktop\                  

O4 формулами по условию указывает название паки которую нужно создать
O9 формулами по условию указывает название файла под которым нужно сохранить
Создать папку с именем ячейки, в эту папку сохранить открытую книгу
 
andypetr, один фиг что то не хватает. при выполнении макроса, ссылается на
Код
ThisWorkbook.SaveAs Filename:=filePath, FileFormat:=xlExcel12 (пробовал и FileFormat:=50)
Выделяет почему то именно FileFormat:
пробовал даже
Код
Sub Save()
    Dim folderPath As String, filePath As String, oCell As Range
        
    With Application.FileDialog(msoFileDialogFolderPicker)
        .AllowMultiSelect = False
        .ButtonName = "Выбрать эту папку"
        If .Show = -1 Then
            folderPath = .SelectedItems(1) & "\"
        Else
            Exit Sub
        End If
    End With
    For Each oCell In Range([O4], [O9].End(xlUp))
        If Not IsEmpty(oCell) Then
        
        If Dir(folderPath & oCell, vbDirectory) = "" Then
            MkDir folderPath & oCell
        End If
        'имя файла
        filePath = folderPath & [O4].Value & "\" & [O9].Value & ".xlsb"
        If ThisWorkbook.FileFormat = 53 Then
        ThisWorkbook.SaveAs Filename:=filePath, FileFormat:=50
        End If
    End If
    Next oCell
End Sub
В таком случае, ошибок не выдает, папка создается, но сам файл не сохранился ни где.
Страницы: 1 2 След.
Наверх