[Dominant]
Среда, 17 Января 2007, 11:26
Общий привет.
Может кто подскажет по такому вопросу:
Нужно из одного листа Экселя организовать запись значений определенных ячеек в другой файл экселя.Принцип:
Человек заполняет ячейки в исходном файле, давит на батон... Данные помещаются в другой файл ДОБАВЛЯЯСЬ новой строчкой к уже существующим там данным.Во.
shura51
Среда, 17 Января 2007, 11:53
Через встроенный VB(alt+F11)... Макрос написать
Просто и элементарно...
Или нужно конкретный код написать????
[Dominant]
Среда, 17 Января 2007, 12:03
Ну конечно-же код нужен!!!
Не обязательно весь, можно просто направить по курсу, показать методы, какими это делается.
Скажем как:
1. взять значения
2. записать в другое файло
3. определить в другом файло координаты пустой строки
Добавлено:Скажем так: с ВБА я немного знаком.
shura51
Среда, 17 Января 2007, 12:33
Ну если совсем в лоб...
Два файла Sor.xls и Targ.xls
Targ.xls изначально закрыт закрыт
Ha первом листе Sor.xls вводятся данные в ячейки A1 и B1...
В Targ.xls данные записываются на первый лист в ячейки Ai и Bi с каждым разом о первую пустую строчку под существующими данными...
После чего Targ.xls сохраняется и закрывается...
На первом листе Sor.xls нарисовать кнопку и на кнопке написать такой код
Private Sub CommandButton1_Click()
Workbooks.Open Filename:="D:\Мои документы\Targ.xls"
Workbooks("Targ.xls").Activate
'Определение последней пустой строки при условии хотя бы одной заполненной ячейке в диапазоне.
i = 1
While Workbooks("Targ.xls").Sheets(1).Cells(i, 1).Value <> "" Or Workbooks("Targ.xls").Sheets(1).Cells(i, 2).Value <> ""
i = i + 1
Wend
'Запись данных из одного файла в другой
Workbooks("Targ.xls").Sheets(1).Cells(i, 1) = Workbooks("Sor.xls").Sheets(1).Cells(1, 1)
Workbooks("Targ.xls").Sheets(1).Cells(i, 2) = Workbooks("Sor.xls").Sheets(1).Cells(1, 2)
Workbooks("Targ.xls").Save
Workbooks("Targ.xls").Close
End Sub
Ну я понимаю, что это коряво, но рыть нужно в этом направлении...
Лучше в Targ.xls на отдельном листе организовать счётчик строк, который будет увеличиваться на единицу при внесении очередной порции данных, а то с каждой новой строкой время выполнения будет увеличиваться...
dvo2000
Среда, 17 Января 2007, 15:12
2
shura51:
Класс! Век живи, век учись!
Офффффф топ: тему надо переименовать в - "Excel for Domi"
[Dominant]
Среда, 17 Января 2007, 15:39
2
shura51:
О!!!! Спасибище, реальное!!!
Попробую!
Добавлено:Хе хе хе... Пока читал код как раз пришла мысль на подобии: "Лучше в Targ.xls на отдельном листе организовать счётчик строк,"
видимо еще не все потеряно...
Спасибо еще раз.
[Dominant]
Среда, 17 Января 2007, 16:16
2
dvo2000:
QUOTE(dvo2000 @ там)
"Excel for Domi"
сЦукооо!!!
5 баллов!!!
Valky
Среда, 17 Января 2007, 19:45
QUOTE([Dominant)
,Среда, 17 Января 2007, 16:16]
2
dvo2000:
сЦукооо!!!
5 баллов!!!
Ну тут, чувстуется, уже недалеко и до серии учебных пособий, типа "Visual Basic для Domi", "C++ для Domi", "Linux для Domi", "Free BSD для Domi"...
dvo2000
Среда, 17 Января 2007, 20:24
2
Valky:
А когда он Фсё, Фсё выучит, то сам начнёт писать книги-пособия, типа "Domi for ..."
shura51
Среда, 17 Января 2007, 20:40
Лучше типа "Business @ the Speed of Thought Just for Fun"
Так дороже...
janeway
Среда, 17 Января 2007, 20:47
QUOTE(dvo2000 @ там)
А когда он Фсё, Фсё выучит, то сам начнёт писать книги-пособия, типа "Domi for ..."
лучше это будет так "... from Domi"
[Dominant]
Среда, 17 Января 2007, 20:56
У меня есть старые наброски книги, но она вам не понравится...

))
http://users.livejournal.com/_dominant_/62684.html
dvo2000
Среда, 17 Января 2007, 22:16
QUOTE([Dominant] @ Среда, 17 Января 2007, 20:56)
У меня есть старые наброски книги, но она вам не понравится...
Ну почему-же не понравиться?!
Подход очень даже интересный!
А продолжение будет?(Я к тому, сколько места на полке освобождать. Ведь я так понимаю, что если уж ты начнёшь писать, то тебя не остановить)
janeway
Среда, 17 Января 2007, 23:13
2
[Dominant]:
аватар у тебя там стрёмный =)))
[Dominant]
Среда, 17 Января 2007, 23:42
Bubble-Gum
Четверг, 18 Января 2007, 1:35
еще можно поиграться с такими вещами как
GetObject (если второй файл открыт)
CreateObject (если второй файл закрыт)
в данном случае у тебя доступ к объекту и всем его свойствам и функциям - мутить можно больше, чем в вышеописанном примере.
KuHO
Среда, 24 Января 2007, 19:58
2
[Dominant]:
А мне твоя книга про козлов очень понравилась.
Жму F1
chiudak
Воскресенье, 28 Января 2007, 13:06
есть знакомый редактор... не нужен?