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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.04.2016, 20:05   #1
mary91847
 
Регистрация: 30.04.2016
Сообщений: 3
По умолчанию Перенос значения ячейки

Здравствуйте! помогите составить макрос, который будет искать в файле определенный текст в ячейке и переносить его в следующий столбец на этой же строчке. Заранее спасибо за любую помощь)
mary91847 вне форума Ответить с цитированием
Старый 30.04.2016, 20:41   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Вариант решения без переноса в соседнюю ячейку пробовали?
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 30.04.2016, 20:58   #3
mary91847
 
Регистрация: 30.04.2016
Сообщений: 3
По умолчанию

не получается(
mary91847 вне форума Ответить с цитированием
Старый 30.04.2016, 22:20   #4
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

как вариант.
Код:
Sub ShowAdrCells()
    Dim TxtForFind As String, RngForFind As Range, FirstAddress As String, i As Integer
    Dim rng() As Variant, sh As String, rg As String
    TxtForFind = "dick" '<====== WE WILL FIND THIS WORD !!!
    ReDim Preserve rng(0)
    For i = 1 To Sheets.Count
        With Sheets(i).UsedRange
            Set RngForFind = .Find(TxtForFind, LookIn:=xlValues, LookAt:=xlPart)
            If Not RngForFind Is Nothing Then
                FirstAddress = RngForFind.Address
                rng(UBound(rng)) = Sheets(i).Name & "!" & RngForFind.Address
                ReDim Preserve rng(UBound(rng) + 1)
                Do
                    Set RngForFind = .FindNext(RngForFind)
                    If RngForFind.Address <> FirstAddress Then
                        rng(UBound(rng)) = Sheets(i).Name & "!" & RngForFind.Address
                        ReDim Preserve rng(UBound(rng) + 1)
                    End If
                Loop While RngForFind.Address <> FirstAddress
            End If
        End With

    Next
    For i = LBound(rng) To UBound(rng) - 1
        sh = Left(rng(i), InStr(rng(i), "!") - 1)
        rg = Right(rng(i), Len(rng(i)) - InStr(rng(i), "!"))
        Sheets(sh).Range(rg).Offset(0, 1) = Sheets(sh).Range(rg)
    Next
End Sub
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 01.05.2016, 01:14   #5
mary91847
 
Регистрация: 30.04.2016
Сообщений: 3
По умолчанию

спасибо большущее!

Последний раз редактировалось mary91847; 01.05.2016 в 02:55.
mary91847 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Редактирование ячейки и перенос значения ячейки через форму на другой лис Susven Microsoft Office Excel 2 11.06.2013 09:18
Перенос текста из ячейки в автофигуру Robespierre Microsoft Office Excel 2 24.02.2011 09:16
перенос внутри ячейки orange_rush Microsoft Office Excel 1 29.12.2010 16:32
Активирование значения ячейки, на основе другой ячейки Mark.ru Microsoft Office Excel 5 13.12.2010 16:23
перенос строки с пустой ячейки HospodySave Microsoft Office Excel 10 24.06.2010 07:16