Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.11.2011, 12:49   #1
Константин С
Пользователь
 
Регистрация: 10.11.2011
Сообщений: 35
Восклицание Зациклить макрос.

Hello.

Необходимо, чтобы следующие действие повторялись с последующими строками (2к.)
PHP код:
Sub Макрос1()
'
Макрос1 Макрос
'

'
    
Range("J2").Select
    ActiveCell
.FormulaR1C1 _
        
"Вал вторичный 50-110сс мото (36/31/27/24) комплект купить в Одессе, Киеве, Харькове, Львове, Днепропетровске, Черкасах"
    
Range("G9").Select
End Sub 
Благодарю за дельные комментарии.
Константин С вне форума Ответить с цитированием
Старый 10.11.2011, 12:52   #2
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Может так (или я не понял задачу...)
Код:
Sub tt()
[j2:j2002].Value = "Вал вторичный 50-110сс мото (36/31/27/24) комплект купить в Одессе, Киеве, Харькове, Львове, Днепропетровске, Черкасах"
End Sub
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 10.11.2011, 13:27   #3
Константин С
Пользователь
 
Регистрация: 10.11.2011
Сообщений: 35
По умолчанию

Требуется макрос, который вставляет в ячейку (в ячейке текст уже есть, вставка должна идти через пробел) текст из буфера.

Макрос который я привел выполняет нужную мне задачу только для одной ячейки. Нужно, чтобы он повторил это действие в данном столбце со всеми остальными ячейками по вертикали.

Последний раз редактировалось Константин С; 10.11.2011 в 13:50.
Константин С вне форума Ответить с цитированием
Старый 10.11.2011, 13:44   #4
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Код:
Sub CopyFromClip()
    Dim t$
    With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
        .GetFromClipboard
    [j2:j2002].Value = .GetText(1)
    End With
End Sub
Выполнить, когда данные в буфере.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 10.11.2011, 13:49   #5
Константин С
Пользователь
 
Регистрация: 10.11.2011
Сообщений: 35
По умолчанию

Работает! Но, он заменяет текст который уже есть в ячейке, а нужно, чтобы добавил через пробел.
Константин С вне форума Ответить с цитированием
Старый 10.11.2011, 14:02   #6
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Код:
Sub CopyFromClip()
    Dim x
    Application.ScreenUpdating = False

    With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
        .GetFromClipboard
        For Each x In [j2:j2002]
            x.Value = x.Value & " " & .GetText(1)
        Next
    End With

    Application.ScreenUpdating = True
End Sub
Но может быть есть вариант и без цикла...
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 10.11.2011 в 14:09.
Hugo121 вне форума Ответить с цитированием
Старый 10.11.2011, 14:06   #7
Константин С
Пользователь
 
Регистрация: 10.11.2011
Сообщений: 35
По умолчанию

Превосходно!
Hugo121, мои благодарности..
Константин С вне форума Ответить с цитированием
Старый 10.11.2011, 14:22   #8
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Кстати, чуть быстрее будет так:
Код:
Dim t$
    With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
        .GetFromClipboard
        t = .GetText(1)
        For Each x In [j2:j2002]
            x.Value = x.Value & " " & t
        Next
    End With
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 10.11.2011, 14:35   #9
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

> может быть есть вариант и без цикла...
Код:
Sub CopyFromClip1()
    Dim x$
    With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
        .GetFromClipboard
        x = Replace$(.GetText(1), """", """""")
    End With
    With [j2:j2002]
        .Value = Evaluate(.Address & "&"" " & x & """")
    End With
End Sub
exceleved@yandex.ru Яндекс.Деньги: 410011500007619

Последний раз редактировалось Казанский; 10.11.2011 в 14:39.
Казанский вне форума Ответить с цитированием
Старый 10.11.2011, 15:24   #10
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Спасибо.
А я и так крутил, и эдак... До такого недодумался
Так работает
Код:
Public Sub www()
[a1:a200] = [a1:a200&"ttt"]
End Sub
а с переменной никак
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как зациклить макрос? Alexdoc76 Microsoft Office Excel 9 02.07.2011 21:00
Зациклить галерею krotik_06 JavaScript, Ajax 2 24.06.2011 19:55
Зациклить прогу - как? boris-blade Общие вопросы .NET 1 25.03.2010 19:32
Не могу зациклить макрос Frommerrr Microsoft Office Word 2 25.03.2010 10:57
Как зациклить макрос? kapitel_bc@ukr.net Microsoft Office Excel 7 13.02.2010 23:48