|
|
|
Перенос в другую книгу
|
|||
|---|---|---|---|
|
#18+
Private Sub CommandButton1_Click() Workbooks.Open Filename:="C:\Мои документы\Test save\pere4en.xls" Windows("akt.xls").Activate Range("C4").Select Selection.Copy Windows("pere4en.xls").Activate Range("A2").Select ' ЗДЕСЬ ДАЕТ ОШИБКУ ActiveSheet.Paste Application.CutCopyMode = False End Sub Макрос на ЛИСТ1 в файле akt.xls Пробовал переместить в модуль, но кнопка не хочет туда обращатся. В чем дело? Подскажите пожайлуста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2005, 00:45:01 |
|
||
|
Перенос в другую книгу
|
|||
|---|---|---|---|
|
#18+
1) Всегда указывай кому принадлежит объект Range. 2) Никогда не пользуйся командой Selection. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2005, 01:59:12 |
|
||
|
Перенос в другую книгу
|
|||
|---|---|---|---|
|
#18+
Private Sub CommandButton1_Click() dim wbPere4en as Workbook set wbPere4en = Workbooks.Open("C:\Мои документы\Test save\pere4en.xls") ThisWorkbook.WorkSheets("ЛИСТ1").Range("C4").Copy wbPere4en.Worksheets("ЛИСТ1").Range("A2").Paste ' Теперь здесь ОШИБКА ThisWorkbook.Activate End Sub Может что то в настройках EXCEL не так ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2005, 08:45:19 |
|
||
|
Перенос в другую книгу
|
|||
|---|---|---|---|
|
#18+
Private Sub CommandButton1_Click() Dim wbPere4en As Workbook Set wbPere4en = Workbooks.Open("C:\Мои документы\Test save\pere4en.xls") ThisWorkbook.Worksheets("ЛИСТ1").Range("C4").Copy wbPere4en.Worksheets("ЛИСТ1").Activate wbPere4en.Worksheets("ЛИСТ1").Range("A2").Paste ОШИБКУ ДАЕТ ThisWorkbook.Activate End Sub Уперся гад. Может что то в настройках? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2005, 09:00:53 |
|
||
|
Перенос в другую книгу
|
|||
|---|---|---|---|
|
#18+
Paste - это метод объекта Worksheet. Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2005, 09:03:47 |
|
||
|
Перенос в другую книгу
|
|||
|---|---|---|---|
|
#18+
Наконец ActiveSheet.Paste Destination:=wbPere4en.Worksheets("Лист1").Range("A1") Это ЗАРАБОТАЛО !!! Спасибо ВСЕМ ЗА ПОМОЩЬ !!! Тема закрыта ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2005, 09:14:01 |
|
||
|
Перенос в другую книгу
|
|||
|---|---|---|---|
|
#18+
Пользователь2Paste - это метод объекта Worksheet. Код: plaintext 1. 2. 3. 4. 5. Чтоб не запоминать такие мудренные длинные фразы оказывается можно еще так: per=ThisWorkbook.Worksheets("ЛИСТ1").Range("C4") ActiveSheet.range("A1")=per т.е. передать данные через переменную. Проверено. Работает ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2005, 17:15:12 |
|
||
|
Перенос в другую книгу
|
|||
|---|---|---|---|
|
#18+
talgatт.е. передать данные через переменную. Проверено. Работает ! неплохо потом обнулить per ,а то помню глюки были. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2005, 17:33:34 |
|
||
|
Перенос в другую книгу
|
|||
|---|---|---|---|
|
#18+
Пользователь2Paste - это метод объекта Worksheet. Действительно, забыл :) talgat Чтоб не запоминать такие мудренные длинные фразы оказывается можно еще так: per=ThisWorkbook.Worksheets("ЛИСТ1").Range("C4") ActiveSheet.range("A1")=per т.е. передать данные через переменную. Проверено. Работает ! Да, работает, но это все таки не совсем правильно. Во первых, присвоение в переменную можно делать только одной единственной ячейки. При этом, если не указано что-то другое, от ячейки будет взята проперть Value. То есть в реальности твоя первая команда работает так: per=ThisWorkbook.Worksheets("ЛИСТ1").Range("C4").Value Тоже самое (Value) подставляется при записи значения в ячейку: ActiveSheet.Range("A1").Value=per Во вторых, намного проще в данном случае обойтись вообще без переменной: ActiveSheet.Range("A1").Value = ThisWorkbook.Worksheets("ЛИСТ1").Range("C4").Value А когда понадобиться копировать несколько ячеек разом - тогда и будешь пользоваться Copy/Paste ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2005, 18:33:33 |
|
||
|
Перенос в другую книгу
|
|||
|---|---|---|---|
|
#18+
White OwlВо вторых, намного проще в данном случае обойтись вообще без переменной: ActiveSheet.Range("A1").Value = ThisWorkbook.Worksheets("ЛИСТ1").Range("C4").Value Я тоже об этом хотел еще вчера написать, что можно напрямую, без переменных. Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2005, 08:40:46 |
|
||
|
|

start [/forum/topic.php?fid=61&msg=33172560&tid=2185908]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
29ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 195ms |
| total: | 302ms |

| 0 / 0 |
