Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Как скопировать часть текста в ячейке применив макрос? - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Как скопировать часть текста в ячейке применив макрос? (Макросы/Sub)
Как скопировать часть текста в ячейке применив макрос?
Demon:D Дата: Среда, 06.05.2015, 16:13 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
В ячейках A1:A10 есть дата и время в виде 01.04.2015 00:00 - 01:00 мне нужно скопировать дату и поместить в другие ячейки B1:B10 с помощью макроса можно сделать и как? У меня Excel 2003.


Сообщение отредактировал Demon:D - Среда, 06.05.2015, 16:23
 
Ответить
СообщениеВ ячейках A1:A10 есть дата и время в виде 01.04.2015 00:00 - 01:00 мне нужно скопировать дату и поместить в другие ячейки B1:B10 с помощью макроса можно сделать и как? У меня Excel 2003.

Автор - Demon:D
Дата добавления - 06.05.2015 в 16:13
nilem Дата: Среда, 06.05.2015, 16:29 | Сообщение № 2
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
возможно, типа такого
[vba]
Код
Sub tt()
With Range("B1:B10")
     .FormulaR1C1 = "=LEFT(RC[-1],10)"
     .Value = .Value
End With
End Sub
[/vba]


Яндекс.Деньги 4100159601573
 
Ответить
Сообщениевозможно, типа такого
[vba]
Код
Sub tt()
With Range("B1:B10")
     .FormulaR1C1 = "=LEFT(RC[-1],10)"
     .Value = .Value
End With
End Sub
[/vba]

Автор - nilem
Дата добавления - 06.05.2015 в 16:29
Demon:D Дата: Среда, 06.05.2015, 16:34 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
Спасибо получилось
 
Ответить
СообщениеСпасибо получилось

Автор - Demon:D
Дата добавления - 06.05.2015 в 16:34
МВТ Дата: Среда, 06.05.2015, 22:14 | Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 476
Репутация: 137 ±
Замечаний: 0% ±

Excel 2007
nilem, извините, Вы вероятно описались: по идее [vba]
Код
.Formula = .Value
[/vba]
 
Ответить
Сообщениеnilem, извините, Вы вероятно описались: по идее [vba]
Код
.Formula = .Value
[/vba]

Автор - МВТ
Дата добавления - 06.05.2015 в 22:14
_Boroda_ Дата: Среда, 06.05.2015, 22:36 | Сообщение № 5
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Михаил, а там без разницы - мы же вставляем значения (= .Value). Когда вставляешь значения формулой, то все равно получается значение. Если без Вича (просто для понятности, с Вичем лучше), то можно так (кстати, чтобы дата была датой, добавил еще --, ну и формат еще):
[vba]
Код
    Range("B1:B10").FormulaR1C1 = "=--LEFT(RC[-1],10)"
        Range("B1:B10") = Range("B1:B10").Value
        Range("B1:B10").NumberFormat = "DD.MM.YYYY"
[/vba]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеМихаил, а там без разницы - мы же вставляем значения (= .Value). Когда вставляешь значения формулой, то все равно получается значение. Если без Вича (просто для понятности, с Вичем лучше), то можно так (кстати, чтобы дата была датой, добавил еще --, ну и формат еще):
[vba]
Код
    Range("B1:B10").FormulaR1C1 = "=--LEFT(RC[-1],10)"
        Range("B1:B10") = Range("B1:B10").Value
        Range("B1:B10").NumberFormat = "DD.MM.YYYY"
[/vba]

Автор - _Boroda_
Дата добавления - 06.05.2015 в 22:36
RAN Дата: Среда, 06.05.2015, 22:39 | Сообщение № 6
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
[vba]
Код
With Range("B1:B10")
     .Value = "=LEFT(RC[-1],10)"
End With
[/vba]
:)


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение[vba]
Код
With Range("B1:B10")
     .Value = "=LEFT(RC[-1],10)"
End With
[/vba]
:)

Автор - RAN
Дата добавления - 06.05.2015 в 22:39
_Boroda_ Дата: Среда, 06.05.2015, 22:50 | Сообщение № 7
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
With Range("B1:B10")
.Value = "=LEFT(RC[-1],10)"
End With

Андрей, а зачем тогда Вич, если подвичное выражение только один раз используется? И вообще - так формулы вставит.


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
With Range("B1:B10")
.Value = "=LEFT(RC[-1],10)"
End With

Андрей, а зачем тогда Вич, если подвичное выражение только один раз используется? И вообще - так формулы вставит.

Автор - _Boroda_
Дата добавления - 06.05.2015 в 22:50
Demon:D Дата: Четверг, 07.05.2015, 07:51 | Сообщение № 8
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
Ребят а где в формуле строка что нужно брать именно А1:А10 тыкните пожалуйста!
 
Ответить
СообщениеРебят а где в формуле строка что нужно брать именно А1:А10 тыкните пожалуйста!

Автор - Demon:D
Дата добавления - 07.05.2015 в 07:51
AndreTM Дата: Четверг, 07.05.2015, 08:16 | Сообщение № 9
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 500 ±
Замечаний: 0% ±

2003 & 2010
где в формуле строка что нужно брать именно А1:А10

RC[-1]


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
Сообщение
где в формуле строка что нужно брать именно А1:А10

RC[-1]

Автор - AndreTM
Дата добавления - 07.05.2015 в 08:16
nilem Дата: Четверг, 07.05.2015, 08:19 | Сообщение № 10
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
Относительно столбца В (With Range("B1:B10"))
RC[-1] - означает на 1 столбец левее (C[-1]), т.е. столбец А


Яндекс.Деньги 4100159601573
 
Ответить
СообщениеОтносительно столбца В (With Range("B1:B10"))
RC[-1] - означает на 1 столбец левее (C[-1]), т.е. столбец А

Автор - nilem
Дата добавления - 07.05.2015 в 08:19
Demon:D Дата: Четверг, 07.05.2015, 08:41 | Сообщение № 11
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
А если придется указать А20:А30 тоже самое будет?
 
Ответить
СообщениеА если придется указать А20:А30 тоже самое будет?

Автор - Demon:D
Дата добавления - 07.05.2015 в 08:41
nilem Дата: Четверг, 07.05.2015, 13:51 | Сообщение № 12
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
почти
[vba]
Код
Sub ttt()
With Range("B20:B30")
     .FormulaR1C1 = "=LEFT(RC[-1],10)"
     .Value = .Value
End With
End Sub
[/vba]


Яндекс.Деньги 4100159601573
 
Ответить
Сообщениепочти
[vba]
Код
Sub ttt()
With Range("B20:B30")
     .FormulaR1C1 = "=LEFT(RC[-1],10)"
     .Value = .Value
End With
End Sub
[/vba]

Автор - nilem
Дата добавления - 07.05.2015 в 13:51
Demon:D Дата: Четверг, 07.05.2015, 15:40 | Сообщение № 13
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
Ребят, а если тоже самое только с книги1 лист1 в книгу2 лист1 не могу найти инфу как код примерно будет выглядеть? Ячейку получается скопировать с данными, а чтоб половину с датой не как он мне формулу копирует а не дату.
 
Ответить
СообщениеРебят, а если тоже самое только с книги1 лист1 в книгу2 лист1 не могу найти инфу как код примерно будет выглядеть? Ячейку получается скопировать с данными, а чтоб половину с датой не как он мне формулу копирует а не дату.

Автор - Demon:D
Дата добавления - 07.05.2015 в 15:40
_Boroda_ Дата: Четверг, 07.05.2015, 15:57 | Сообщение № 14
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Код запускается из Книги2 с листа 1. Вставляет в столбец В
Книга 1 должна быть открыта
[vba]
Код
Sub ttt()
With Range("B20:B30")
     .FormulaR1C1 = "=--LEFT([Книга1]Лист1!RC[-1],10)"
     .Value = .Value
     .NumberFormat = "DD.MM.YYYY"
End With
End Sub
[/vba]
Если книга 1 закрыта, то строка с формулой
[vba]
Код
.FormulaR1C1 = "='C:\...\...\[Книга1.xlsx]RC[-1]"
[/vba]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеКод запускается из Книги2 с листа 1. Вставляет в столбец В
Книга 1 должна быть открыта
[vba]
Код
Sub ttt()
With Range("B20:B30")
     .FormulaR1C1 = "=--LEFT([Книга1]Лист1!RC[-1],10)"
     .Value = .Value
     .NumberFormat = "DD.MM.YYYY"
End With
End Sub
[/vba]
Если книга 1 закрыта, то строка с формулой
[vba]
Код
.FormulaR1C1 = "='C:\...\...\[Книга1.xlsx]RC[-1]"
[/vba]

Автор - _Boroda_
Дата добавления - 07.05.2015 в 15:57
Demon:D Дата: Четверг, 07.05.2015, 16:36 | Сообщение № 15
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
Открываю книгу1 лист1 пустой запускаю макрос на открывание книги2 лист1
'Открываем файл с которого нужно скопировать данные
Workbooks.Open Filename:="D:\ книги2.xls"
И как мне в ячейках А1:A2 книги2 лист1 от туда перенести только дату (01.04.2015 00:00 - 01:00)? В книгу1 лист1 в ячейки А1:A2.
'Закрываем книгу откуда мы скопировали данные
Workbooks("книга2.xls").Close False.
С помощью массива можно реализовать или предложите свой вариант.
 
Ответить
СообщениеОткрываю книгу1 лист1 пустой запускаю макрос на открывание книги2 лист1
'Открываем файл с которого нужно скопировать данные
Workbooks.Open Filename:="D:\ книги2.xls"
И как мне в ячейках А1:A2 книги2 лист1 от туда перенести только дату (01.04.2015 00:00 - 01:00)? В книгу1 лист1 в ячейки А1:A2.
'Закрываем книгу откуда мы скопировали данные
Workbooks("книга2.xls").Close False.
С помощью массива можно реализовать или предложите свой вариант.

Автор - Demon:D
Дата добавления - 07.05.2015 в 16:36
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Как скопировать часть текста в ячейке применив макрос? (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!