|
|
|
Как копировать значения, а не формулы?
|
|||
|---|---|---|---|
|
#18+
Копирую макросом ячейки из одной книги в другую - копируются формулы. Как просто копировать значения ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2005, 12:00:09 |
|
||
|
Как копировать значения, а не формулы?
|
|||
|---|---|---|---|
|
#18+
Range("A1").Value = Range("B1").Value Range("A1").PasteSpecial(xlPasteValues) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2005, 12:07:36 |
|
||
|
Как копировать значения, а не формулы?
|
|||
|---|---|---|---|
|
#18+
Из одной книги при необходимости открываем другую, используя Application.FileDialog(msoFileDialogOpen).Show Далее в зависимости от задачи на одном из пяти листов открываемой книги делаем расчетик. Некоторые результаты этого расчета должны отобразиться в исходной книге на разных листах. Вот и все. С открытием книги проблем нет... В открываемой книге к объекту привязал макрос, который копирует нужные ячейки и вставляет их в исходную книгу: Worksheets("Tabelle1").Range("A4").Copy Workbooks("INPUT MASK with macros.xls").Worksheets("INPUT").Activate ActiveWorkbook.Worksheets("INPUT").Range("I3").Select ActiveWorkbook.Worksheets("INPUT").Paste Возникает проблема - копируется из ячейки не значение, а формула. Как копировать значение? А самое главное, как не привязываться к названию исходной книги (INPUT MASK with macros.xls)? Ведь файл в дальнейшем может быть переименован пользователем и тогда нифига работать не будет... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2005, 12:22:14 |
|
||
|
Как копировать значения, а не формулы?
|
|||
|---|---|---|---|
|
#18+
Так же ж ответили уже... Код: plaintext 1. 2. 3. 4. author А самое главное, как не привязываться к названию исходной книги (INPUT MASK with macros.xls)? Ведь файл в дальнейшем может быть переименован пользователем и тогда нифига работать не будет... Так у кода такая логика... Придумай другую - открывать, напр, окошко открытия нужного файла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2005, 12:27:38 |
|
||
|
Как копировать значения, а не формулы?
|
|||
|---|---|---|---|
|
#18+
автороткрывать, напр, окошко открытия нужного файла Извините, не въехал, как это? А можно ли по-другому? Я ведь файл, из которго копирую, открываю тем, в который копирую. Можно ли как то кодом прописать, чтоб они друг друга узнавали? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2005, 12:34:40 |
|
||
|
Как копировать значения, а не формулы?
|
|||
|---|---|---|---|
|
#18+
Попробовал, как вы, NevaMind, сказали. Выдает ошибку в последней строке: Worksheets("Tabelle1").Range("A4").Copy Workbooks("INPUT MASK with macros.xls").Worksheets("INPUT").Activate ActiveWorkbook.Worksheets("INPUT").Range("I3").Select ActiveWorkbook.Worksheets("INPUT").PasteSpecial (xlPasteValues) мол, PasteSpecial Method of Worksheet class failed Что делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2005, 12:41:44 |
|
||
|
Как копировать значения, а не формулы?
|
|||
|---|---|---|---|
|
#18+
Так ты первую проблему решил? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2005, 12:44:08 |
|
||
|
Как копировать значения, а не формулы?
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2005, 12:45:05 |
|
||
|
Как копировать значения, а не формулы?
|
|||
|---|---|---|---|
|
#18+
так попробуй: Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2005, 12:49:34 |
|
||
|
Как копировать значения, а не формулы?
|
|||
|---|---|---|---|
|
#18+
Спасибо, NevaMind, отлично работает!!! Сразу вопрос. А если мне допустим три ячейки нужно скопировать? Под каждую писать такую команду? Если честно, k-nike , не знаю, как то, что вы мне написали, работает, но попробую ;-)) Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2005, 13:03:41 |
|
||
|
Как копировать значения, а не формулы?
|
|||
|---|---|---|---|
|
#18+
Vovik5Спасибо, NevaMind, отлично работает!!! Сразу вопрос. А если мне допустим три ячейки нужно скопировать? Под каждую писать такую команду? Если честно, k-nike , не знаю, как то, что вы мне написали, работает, но попробую ;-)) Спасибо! Never Mind, в смысле пожалуйста! Открою секрет: я просто запустил макрос, открыл редактор, и копипейстил то, что там получилось. Естественно, не надо под каждую. Объект Range может содержать много ячеек. С открытием окна диалога "открыть" попробуйте помучать Application.Dialogs(xlDialogOpen).Show ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2005, 13:13:44 |
|
||
|
Как копировать значения, а не формулы?
|
|||
|---|---|---|---|
|
#18+
авторС открытием окна диалога "открыть" попробуйте помучать Это я давно сделал. Мне теперь надо бы как-то "отвязаться" от имен файлов. То есть получается макрос под конкретный файл "INPUT MASK with macros.xls", а если его переименуют? Я так и не понял, как работает: авторDim fileName as string fileName = ThisWorkbook.Path + "\" + ThisWorkbook.Name Можно немного подробнее, пример какой-нибудь с двумя файлами...? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2005, 13:19:24 |
|
||
|
Как копировать значения, а не формулы?
|
|||
|---|---|---|---|
|
#18+
Сделал так, в первой книге: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. А во второй книге так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Не работает блин. Похоже я чего напортачил с переименовыванием первой книги.... Как исправить???? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2005, 14:06:48 |
|
||
|
Как копировать значения, а не формулы?
|
|||
|---|---|---|---|
|
#18+
Ты для чего код раскидал в 2 книги? Этот код напиши в книге из которой открываешь другие файлы и куда копируешь. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2005, 14:27:27 |
|
||
|
Как копировать значения, а не формулы?
|
|||
|---|---|---|---|
|
#18+
k-nike Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 2 k-nike Если не в лом, пояни, почему 2 Vovik Только нужно будет обработать случай, когда пользователь отменяет открытие файла - ActiveWorkbook.Name выдаст имя текущего файла, из которого код вызывается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2005, 14:46:06 |
|
||
|
Как копировать значения, а не формулы?
|
|||
|---|---|---|---|
|
#18+
k-nike Спасибо, все работает. авторТы для чего код раскидал в 2 книги? Раскидал, потому что в открываемой книге сначала надо расчетик сделать, а уж после того как там все посчиталось, результаты расчета скопировать в первую книгу. Все еще осложняется тем, что в открываемой книге 5 разных листов. В зависимости от вида расчета, пользователь активирует определенный лист, из которого потом и надо скопировать результат. Моя идея была такая: из исходного файла просто макросом открывать вторую книгу (через Application.Dialogs(xlDialogOpen).Show. - потому что эта вторая книга может менять свой адресс). И в открываемой книге на каждом листе сделать объект, на котором висит макрос, копирующий результаты в исходную книгу. Получается, мы этот файл открыли, посчитали в нем, кликнули на объект, результаты скинулись в первую книгу, вторая книга закрывается, предлагая себя сохранить Save as ...и все, шампанского и девочек!!! Можно же так сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2005, 14:57:37 |
|
||
|
Как копировать значения, а не формулы?
|
|||
|---|---|---|---|
|
#18+
NevaMind2 k-nike Если не в лом, пояни, почему Если ты про .Select, то посмотри здесь одну из проблем. Vovik5Моя идея была такая: из исходного файла просто макросом открывать вторую книгу (через Application.Dialogs(xlDialogOpen).Show. - потому что эта вторая книга может менять свой адресс). А почему не открывать файл из меню Файл->Открыть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2005, 15:35:10 |
|
||
|
Как копировать значения, а не формулы?
|
|||
|---|---|---|---|
|
#18+
авторА почему не открывать файл из меню Файл->Открыть? Это не так важно... Просто я думал, что если макросом открывать, то можно эти две книги связать между собой, чтобы потом результаты расчетов из открываемой книги скопировать в ту, из которой открываем..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2005, 15:52:05 |
|
||
|
Как копировать значения, а не формулы?
|
|||
|---|---|---|---|
|
#18+
Vovik5 авторА почему не открывать файл из меню Файл->Открыть? Это не так важно... Просто я думал, что если макросом открывать, то можно эти две книги связать между собой, чтобы потом результаты расчетов из открываемой книги скопировать в ту, из которой открываем..... все можно только продумать надо! допустим в открываемой книге(книга2) есть скрытый лист в который заносится информация - имя книги(книга1) из которой ты открываешь втоторую и др. сделал ты свои расчеты и нажал на кнопку а кнопка делает Код: plaintext 1. чем отличается програмист от обычного человека у человека спросишь: а можно сделать...? человек думает а потом отвечает... у програмиста спросишь: а можно сделать...? програмист отвечает - можно а потом думает как это сделать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2005, 17:20:27 |
|
||
|
Как копировать значения, а не формулы?
|
|||
|---|---|---|---|
|
#18+
vcodorдопустим в открываемой книге(книга2) есть скрытый лист в который заносится информация - имя книги(книга1) из которой ты открываешь втоторую и др. Идея отличная, только я исполнение не очень понимаю... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2005, 17:38:52 |
|
||
|
Как копировать значения, а не формулы?
|
|||
|---|---|---|---|
|
#18+
Vovik5 vcodorдопустим в открываемой книге(книга2) есть скрытый лист в который заносится информация - имя книги(книга1) из которой ты открываешь втоторую и др. Идея отличная, только я исполнение не очень понимаю... в книге2 добавь лист назови "Temp" ячейке "A1" - присвой имя "book1" дальше скрой лист (формат - лист - скрыть ) вместо Application.Dialogs(xlDialogOpen).Show используй Код: plaintext 1. 2. 3. 4. 5. и Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2005, 18:44:36 |
|
||
|
|

start [/forum/topic.php?fid=61&tid=2185610]: |
0ms |
get settings: |
5ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
47ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 193ms |
| total: | 305ms |

| 0 / 0 |
