Страницы: 1
RSS
Макрос копирования даных с базы в бланк.
 
Доброе время суток. Пересмотрел много примеров, но так и не нашел того что мне надо. Ведется база данных в формате Excel, данные берутся с заполненной ячейки последней строки (последняя заполненая) конкретного столбца (не всегда каждая ячейка в столбце будет заполнена (пример F2). Копируется и вставляется на другой лист (бланк) для печети. Написал макрос и заработало.(Книга11_без шапки) Но упс, кода добавил в таблицу "шапку" в которой есть обьедененные ячейки, мой макрос поплыл.(Книга11_с шапкой). Что не так написано. База данных намного больше, по этому сделал пример моей "головной боли". И еще одно, в настоящей базе есть столбец С в котором стоит дата, как делать чтобы при введении данных в столбец Е в даной строке отображалась автоматически дата введения, но чтобы она не менялась так как при формуле ТДАТА(), СЕГОДНЯ() и т.п. Зарание всем спасибо.  
 
Microsoft Office 2003
 
По поводу даты загляните в раздел "Приемы":  http://www.planetaexcel.ru/tip.php?aid=28 <BR>Там вообще много интересного и полезного. И заполнение бланков тоже есть...
 
выложите в ворде, что вы хотите получит с указанием ячеек екселя  
 
----------------  
даже если печать будет в екселе, ворд поможет понять задачу  
--печать текущей строки или группы строк  
--дата заполнения, а не печати  
 
 
от вас документ ворд  
--схема размещения полей, таблиц должна быть реальна  
--постоянные надписи наполовину условны(если секреты) или почти реальны  
--адреса полей екселя(A7)---(Z7)
 
{quote}{login=Юрий М}{date=19.04.2012 10:44}{thema=}{post}По поводу даты загляните в раздел "Приемы.{/post}{/quote}  
Пробовал этот вариант, но чавствительный диапазон у меня в столбце Е, а дата должна быть в столбце С. А вот что прописать в  "With Target(1, 2)" в этом случае, незнаю. С диапазоном розобрался. Буду експерементировать. Спасибо.
 
Под Ваши столбцы:  
Private Sub Worksheet_Change(ByVal Target As Range)  
   If Target.Cells.Count > 1 Then Exit Sub  
       If Not Intersect(Target, Range("E2:E100")) Is Nothing Then  
           With Target.Offset(0, -2)  
               .Value = Now  
               .EntireColumn.AutoFit  
           End With  
       End If  
End Sub
 
Спасибо. С датой пошло, только сменил диапазон Target, Range("E3:E5000")  
Я незнал что именно прописать, хотел поексперементировать, но Вы меня опередили. Спасибо.
 
Урезал файл. Выкладываю что должно быть. С листа "Журнал_відмітки" данные копируются в лист "Заява", что именно выделено желтым на листе "Заява". Строки добавляются с последующим введением данных. Ячейки по столбцах берутся только с последней заполненой строки (или последняя заполненна ячейка в столбце, незнаю как правильно написать).
 
У меня еще есть приблизительно таких 6 разных бланков заявлений, хотелось бы автоматизировать работу что бы сразу при оформлении и вести базу. Если кто поможет разобраться как прописать копирование последней заполненной ячейки в столбце, буду очень признателен. По такому шаблону построю остальные.
 
andrushkiv72, может, вам подойдёт эта программа?  
http://excelvba.ru/programmes/FillDocuments  
 
 
Программа для заполнения документов данными из таблицы Excel (из Excel в Word)  
 
--------------------  
Надстройка предназначена для формирования (подготовки) документов по шаблонам, с заполнением созданных файлов данными из текущей книги Excel.  
 
В качестве шаблонов могут выступать следующие типы файлов:  
документы Word (расширения DOC, DOCX, DOCM)  
шаблоны Word (расширения DOT, DOTX, DOTM)  
книги Excel (расширения XLS, XLSX, XLSM, XLSB)  
шаблоны Excel (расширения XLT, XLTX, XLTM)  
текстовые документы (расширения TXT, DAT, XML и т.д.)  
 
В качестве исходных данных для заполнения, используется открытый в Excel файл (с таблицей, содержащей строку заголовка)  
 
Количество шаблонов документов не ограничено
 
Большое спасибо но, во первых я задал вроде конкретный вопрос, "не получается написать код копирования последней заполненой ячейки в столбце", во вторых это не фирма, а госудаоственное учереждение, а платить за вашу надстройку кто будет? Фидель Кастро?
 
печать ЛЮБОЙ СТРОКИ через копирование выбранной на рабочий лият
 
andrushkiv72, пара моментов:  
1. Что это Вы так агрессивно реагируете на предложенную помощь? Вы считаете, что гос. учреждения ни за что не платят?  
2. Зачем в Ваших сообщениях цитирование - без него в данном случае никак? Избегайте ненужного цитирования.
 
что-то файл не открывается, не пойму
 
не поняла, как все листы книги стали скрытыми  
 
 
еле нашла-----восстановила
 
Спасибо shanemac "WORD V EXCEL" за оригинальное решение. Суть Вашей роботы в копировании последней заполненой строки на другой лист и тогда на листе "Заява" отображаются данные. Оригинально и просто. А я по своему незнанию думал копировать каждую ячейку по отдельности и вставлять данные в лист "Заява" макросом. Конечно файл весил бы немало. Ну на другой раз буду умнее. Попробую сделать другие по этому принципу. Теперь о решению. Запускать макрос двойним кликом по Фамилии немного не практично, так как возможно редактирование даной ячейки. Фактически заявление печатается только с последней заполненой строки. И не пойму для чего нужен "Лист1"?    
P.S.Копирование последней заполненой строки это "Sub copy_tek_str(n1z)"? Еще раз спасибо.
 
Извините за агресию, просто дел навалилось много, а рук нехватает. Цитаты больше не буду ставить, просто видел как другие делают, думал что так принято. А на щет денег в гос.учереждениях очень туго, тут за каждую копейку отчитыватся надо. Вам спасибо за макрос.
 
>И не пойму для чего нужен "Лист1"?  
для отладки--чтобы была видна структура строки, она у вас весьма широка  
всегда через транспорант это делаю, чтобы все видеть без сдвигов  
 
>Фактически заявление печатается только с последней заполненой строки  
увы перепечатки не редкость, а скорее норма нашей жизни
 
Всем хорошего дня. Для моей задачи нужно было "Cells(Rows.Count, 5).End(xlUp).Offset(0).Select" всего то. Но за это время много перечитал и узнал. shanemac "WORD V EXCEL" спасибо за идею, заменил только на листе "Заява" некоторые формулы на логоческие "ЕСЛИ", потому что при отсутствии записей в ячейках выдавало абракадабру(0). Юрию М спасибо за макрос относительно даты, пришлось убрать только ".EntireColumn.AutoFit"(прочитал что отвечает за автоподбор ширины столбца) Когда поставил защиту формул на ячейки А; В; D начал ругаться. А в остальном все супер. Может кому понадобится подобное творение, прикрепляю файл. Надо только вместо MsgBox "Супер-пупер!" написать чтоб распечатало, сохранило и возвратилось на незаполненую ячейку.(Это для таких как я)  
P.S. И еще вопрос. Можно ли сделать что бы "Лист1" не было видно. Когда скрываю "Лист1" на листе "Заява" данные не отображаются. Спасибо всем и удачи.
Страницы: 1
Читают тему
Наверх