![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 17.05.2010
Сообщений: 10
|
![]()
Здравствуйте.
Подскажите пожалуйста. Есть папка, в ней создаются файлы, где на первом листе счет-фактура (файлы 1,2) и файл с реестром (реестр). В счет-фактуре для реестра нужны определенные данные ячеек. Как написать макрос, чтобы после создания нового файла с счет-фактурой (счет-фактура создается путем копирования предыдущей) при первом сохранении данные автоматически переносились в реестр, реестр после переноса открывается. Последний раз редактировалось z21231904; 03.06.2010 в 14:57. |
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 17.05.2010
Сообщений: 10
|
![]()
Подумалось.
Ведь в принципе все решается путем нахождения местоположения ячейки, зная которую можно вычислить местоположение ячеек с нужными данными. Подскажите, други, как программно найти ячейку с текстом "ааа" и перейти на ячейку в трех столбцах от неё в этой же строке? |
![]() |
![]() |
![]() |
#3 |
Участник клуба
Регистрация: 17.07.2009
Сообщений: 1,088
|
![]()
Sheets("Лист1").Usedrange.Find("aaa ",,xlvalues,xlWhole).offset(,3).Sel ect
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru |
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 17.05.2010
Сообщений: 10
|
![]() |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 17.05.2010
Сообщений: 10
|
![]()
Добрался до кода
If Sheet.Name Like sSheetName Then Sheet.Activate Select Case iBeginRange.Count Case 1 lLastrow = Cells(1, 1).SpecialCells(xlLastCell).Row iLastColumn = Cells.SpecialCells(xlLastCell).Colu mn iCopyAddress = Range(Cells(iBeginRange.Row, iBeginRange.Column), Cells(lLastrow, iLastColumn)).Address Case Else iCopyAddress = iBeginRange.Address lLastrow = iBeginRange.Rows.Count iLastColumn = iBeginRange.Columns.Count End Select lLastRowMyBook = ThisWorkbook.Sheets(DataSheet).Cell s.SpecialCells(xlLastCell).Row + 1 iRngAddress = Range(Cells(lLastRowMyBook, 1), Cells(lLastRowMyBook + lLastrow, iLastColumn)).Address Sheet.Range(iCopyAddress).Copy Destination:=ThisWorkbook.Sheets(Da taSheet).Range(iRngAddress) End If а он для диапазонов, а как его переделать для ячеек? Помогите. Последний раз редактировалось z21231904; 03.06.2010 в 17:28. |
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 17.05.2010
Сообщений: 10
|
![]()
И так и эдак, не получается
Вот код, где нужно выборку диапазонов заменить на выборку ячейки Sub Consolidated_Range_of_Books_and_She ets() Dim iPivotRange As Range, iDestinationRange As Range, iBeginRange As Range, Sheet Dim iRngAddress As String, oAwb As String, DataSheet As String, _ iCopyAddress As String, sSheetName As String, oFile Dim lLastrow As Long, lLastRowMyBook As Long Dim iLastColumn As Integer Dim Str() As String ThisWorkbook.Sheets.Add After:=Sheets(Sheets.Count) DataSheet = ThisWorkbook.ActiveSheet.Name On Error Resume Next Set iBeginRange = Application.InputBox("Выберите диапазон сбора данных." & vbCrLf & _ "1. При выборе только одной ячейки данные будут собраны со всех листов начиная с этой ячейки. " & _ vbCrLf & "2. При выделении нескольких ячеек данные будут собраны только с указанного диапазона всех листов.", Type:=8) If iBeginRange Is Nothing Then Exit Sub sSheetName = InputBox("Введите имя листа, с которого собирать данные(если не указан, то данные собираются со всех листов)", "Параметр") If sSheetName = "" Then sSheetName = "*" On Error GoTo 0 With Application.FileDialog(msoFileDialo gFilePicker) .AllowMultiSelect = True .InitialFileName = "*.*" .Title = "Выберите файлы" If .Show = False Then Exit Sub For Each oFile In .SelectedItems Workbooks.OpenText Filename:=oFile oAwb = Dir(oFile, vbDirectory) Application.ScreenUpdating = False Workbooks(oAwb).Activate For Each Sheet In Sheets If Sheet.Name Like sSheetName Then Sheet.Activate Select Case iBeginRange.Count Case 1 lLastrow = Cells(1, 1).SpecialCells(xlLastCell).Row iLastColumn = Cells.SpecialCells(xlLastCell).Colu mn iCopyAddress = Range(Cells(iBeginRange.Row, iBeginRange.Column), Cells(lLastrow, iLastColumn)).Address Case Else iCopyAddress = iBeginRange.Address lLastrow = iBeginRange.Rows.Count iLastColumn = iBeginRange.Columns.Count End Select lLastRowMyBook = ThisWorkbook.Sheets(DataSheet).Cell s.SpecialCells(xlLastCell).Row + 1 iRngAddress = Range(Cells(lLastRowMyBook, 1), Cells(lLastRowMyBook + lLastrow, iLastColumn)).Address Sheet.Range(iCopyAddress).Copy Destination:=ThisWorkbook.Sheets(Da taSheet).Range(iRngAddress) End If Next Sheet Workbooks(oAwb).Close False Next oFile End With Application.ScreenUpdating = True End Sub Вопрос как? |
![]() |
![]() |
![]() |
#7 |
Участник клуба
Регистрация: 17.07.2009
Сообщений: 1,088
|
![]()
Понимаете в чем проблема - непонятно, что именно Вам надо скопировать и перенести в Реестр. Я вот файлы примеров посмотрел - а там нет предполагаемого результата...
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru |
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 17.05.2010
Сообщений: 10
|
![]()
Виноват. добавил желаемый результат.
|
![]() |
![]() |
![]() |
#9 |
Участник клуба
Регистрация: 17.07.2009
Сообщений: 1,088
|
![]()
Вот. Смотрите.
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru |
![]() |
![]() |
![]() |
#10 |
Пользователь
Регистрация: 17.05.2010
Сообщений: 10
|
![]()
Да, то что нужно. Хотел отблагодарить "в самый раз", но там от вас счет нужен.
И, простите за наглость, можно как нибудь из "Счет-фактура № 2 от 10 мая 2000г." выделить дату в фомате "дата" и поместить в столбец дата? |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Объединение книг и листов по имени листа | MaxxVer | Microsoft Office Excel | 8 | 14.01.2011 13:09 |
Объединение книг и некоторых листов ? | vovik07 | Microsoft Office Excel | 5 | 20.05.2010 11:52 |
Сбор данных из разных книг | 804040 | Microsoft Office Excel | 2 | 19.04.2010 15:33 |
копирование листов из закрытых книг | mephist | Microsoft Office Excel | 4 | 10.07.2009 17:18 |
Копирование данных из реестра | delphin100 | Общие вопросы Delphi | 5 | 06.05.2008 16:36 |