Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1 2 След.
RSS
Макрос замены (относительные ссылки), ошибка в коде
 
Есть код
Код
ActiveCell.Select
    Application.Goto Reference:="'egy-438003'!R[44]C[-6]"
    ActiveCell.Range("A1:A1").Select
    Selection.Replace What:=".", Replacement:="", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
    Application.Run "'test contract_UPDATED 1504 trial.xlsb'!sheet1"
    ActiveCell.Offset(1, 0).Range("A1").Select
End Sub
ПС: Нужна относительность ссылок в макросе! что бы так было сделано с любой ячейкой в которую я стану.

Макрос: Провалиается в ссылку той ячейки которая сейчас выделена.
В новом листе в той ячейке куда провалился Выделяет эту же ячейку и меняет там "." на пустое место, попросту удаляет точки.
Потом просто выполнение другого макроса

Макрос вроде ходит по листам, проваливается, но замену (удаление) точек не делает.

Помогите плиз!!!
 
Может быть так?
Код
Range("A1:" & ActiveCell.Address).Select

 
Не хочет
пробовал так же вот так (см ниже). тоже никак. Может там ошибка в коде поиска и замены? или проваливания по ссылке...
Код
(ActiveCell,ActiveCell)
 
Странный код:
Код
ActiveCell.Select
Вы выделяете ячейку, которая и так активна. Опишите саму задачу.
 
Мне нужно провалиться в ту ячейку, которая активна.
Понял, что эта часть кода неверная, как исправить не знаю
 
Если отталкиваться от этого:
Цитата
shake22 написал: что бы так было сделано с любой ячейкой в которую я стану.
То, может быть так?
Код
Sub TestReplace()
    ActiveCell = Replace(ActiveCell, ".", ",")
End Sub
 
У Вас есть activecell.address - используете его и имя нужного листа. Вроде больше ничего не нужно... offset уже ниже вижу освоен.
А задачу тоже не понял, поэтому всё.
 
Цитата
shake22 написал: Мне нужно провалиться в ту ячейку, которая активна
Объясните значение глагола "провалиться" Вашей версии. Пройти по гиперссылке, которая имеется в активной ячейке? Или что?
Согласие есть продукт при полном непротивлении сторон.
 
Цитата
shake22 написал: провалиться в ту ячейку
это как? :)
 
Игорь, войти в режим редактирования ))
 
Простите, если мой вопрос офф, но зачем так сложно? Почему нельзя делать замену сразу в нужной книге и во всех ячейках?
 
Цитата
Объясните значение глагола "провалиться" Вашей версии. Пройти по гиперссылке, которая имеется в активной ячейке?
Да, именно так!
Нужна по идее формула написанная выше
Код
Sub TestReplace()
    ActiveCell = Replace(ActiveCell, ".", ",")
End Sub
Но для начала нужно "Пройти по гиперссылке, которая имеется в активной ячейке"
а потом уже в следующей активной ячейке сделать замену
 
Гадаем дальше...   Не угадал
Изменено: Sanja - 16 Апр 2015 12:04:47
Согласие есть продукт при полном непротивлении сторон.
 
Цитата
МВТ написал: Почему нельзя делать замену сразу в нужной книге и во всех ячейках?
Нужно делать замену, только в определенной ячейке  
 
Sanja,я тоже. И так и не получил ответ на свой вопрос про "Зачем так сложно" ;)
 
Цитата
shake22 написал: Но для начала нужно "Пройти по гиперссылке, которая имеется в активной ячейке"
Адрес похода известен? Зачем переходить и активировать? Сразу применяйте к нужном листу и нужной ячейке:
Код
Sub TestReplace()
    With Sheets("Лист3")
        .Cells(1, 1) = Replace(.Cells(1, 1), ".", ",")
    End With
End Sub
 
Код
Range(Selection.Hyperlinks(1).Name).Replace What:=".", Replacement:="", LookAt:=xlPart

 
Код
Sub Макрос1()
    ActiveCell.Hyperlinks(1).Follow
    ActiveCell.Replace What:=".", Replacement:=""
End Sub
Согласие есть продукт при полном непротивлении сторон.
 
Sanja, да зачем активировать, если конечная задача ЗАМЕНА? ))
 
Листов много
Есть 1 общий лист, со всеми проектами. и ссылки на другие листы (каждому проекту соответствует один лист)

1 проект    ссылка на лист "1 прект" в определнную ячейку например с его стоимостью
2 проект    ссылка на лист "2 прект"
3 проект    ссылка на лист "3 прект"

нужно что бы ссылки сохранились в общем листе , а стоимость исправилась в самих листах проектов.
Т.е. макрос идет в нужный лист ( например "1 проект"), там исправляет цифру в нужной ячейке
 
Цитата
shake22 написал: Т.е. макрос идет в нужный лист...
Правильно - "идёт, но это не значит, что нужно обязательно активировать исправляемую ячейку - у неё ведь есть конкретный адрес? Вот и перебирайте эти листы/ячейки без активации.
 
Цитата
ОФФ Юрий М написал: Sanja, да зачем...?
Ну, допустим, ТС не ищет легких путей. Я стараюсь отвечать "буквально" - кто его точно знает "да, зачем..". "Моральную", то бишь оптимальную сторону вопроса не всегда рассматриваю :)
Согласие есть продукт при полном непротивлении сторон.
 
Цитата
Юрий М написал: зачем активировать, если конечная задача  ЗАМЕНА ? ))
нужная цифра находится в разных ячейках,
то есть на листе 1, она находится в ячейке А1, а на листе 2 она находится в ячейке В17
ссылки на против каждого проекта стоят в нужную ячейку. кажется так будет легче - пройти по ссылке
в Cells я не смогу вбить все варианты
 
shake22, ну вроде мой макрос делает то, что Вы просите (пост #18). Попробуйте в "боевых" условиях
Согласие есть продукт при полном непротивлении сторон.
 
Уговорили - активируйте )) Примеры Вам показали.
А вариант из #17 не подходит?
 
Мой делает без активации. Но его никто кроме Юрия не заметил :(
Изменено: Hugo - 16 Апр 2015 12:30:17
 
Это должна быть единственная строка в макросе?
че-то не получается. Что нужно вставлять вместо "(1)" и "Name"?

Цитата
Sanja написал: ...мой макрос делает то, что Вы просите
По виду да, похож
Не получается(
 
Игорь, но автору ВСЁ РАВНО нужна активация. Вот что тут поделать? :-)
 
Не все-равно)))
просто я не смогу проставить везде разные адреса ячеек, для Cells :)
 
Hugo, здорово. И можно в цикле перебрать все гиперссылки на листе, а не вызывать макрос для каждой в отдельности
Страницы: 1 2 След.
Читают тему (гостей: 1)