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

Вход

Регистрация

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

 

= Мир MS Excel/Внесение изменений Offset.Mid - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Внесение изменений Offset.Mid
thrasher Дата: Суббота, 27.07.2013, 20:02 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 63
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Доброго времени суток.
Возникла проблема, прошу помочь.
Суть в том что в столбце D нужно обрезать данные. Дойдя до последней строки - остановка программы.
В итоге перебор офсетом после обнаружения последней строки идет, но данные не обрабатываются.

[vba]
Код
Sub www()
Sheets("1").Select

Dim r As Variant
Dim cell As Range: On Error Resume Next

r = Range("D" & Rows.Count).End(xlUp).Select
Do Until Selection.Value = "ТТ"
                    With ActiveCell.Mid(cell.Text, 2, 5)
                     Selection.Offset(-1, 0).Select
                    End With
                    Loop
End Sub
[/vba]
К сообщению приложен файл: 9847076.xlsm (23.9 Kb)
 
Ответить
СообщениеДоброго времени суток.
Возникла проблема, прошу помочь.
Суть в том что в столбце D нужно обрезать данные. Дойдя до последней строки - остановка программы.
В итоге перебор офсетом после обнаружения последней строки идет, но данные не обрабатываются.

[vba]
Код
Sub www()
Sheets("1").Select

Dim r As Variant
Dim cell As Range: On Error Resume Next

r = Range("D" & Rows.Count).End(xlUp).Select
Do Until Selection.Value = "ТТ"
                    With ActiveCell.Mid(cell.Text, 2, 5)
                     Selection.Offset(-1, 0).Select
                    End With
                    Loop
End Sub
[/vba]

Автор - thrasher
Дата добавления - 27.07.2013 в 20:02
_Boroda_ Дата: Суббота, 27.07.2013, 20:27 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 17006
Репутация: 6667 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Попробуйте так
[vba]
Код
Sub Макрос1()
With Лист2
      r_ = .Range("D" & Rows.Count).End(xlUp).Row
      .Range("D4:D" & r_).Replace What:=" *", Replacement:=""
      .Range("D4:D" & r_).Replace What:=".", Replacement:="'"
End With
End Sub
[/vba]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеПопробуйте так
[vba]
Код
Sub Макрос1()
With Лист2
      r_ = .Range("D" & Rows.Count).End(xlUp).Row
      .Range("D4:D" & r_).Replace What:=" *", Replacement:=""
      .Range("D4:D" & r_).Replace What:=".", Replacement:="'"
End With
End Sub
[/vba]

Автор - _Boroda_
Дата добавления - 27.07.2013 в 20:27
Michael_S Дата: Суббота, 27.07.2013, 20:40 | Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 2012
Репутация: 373 ±
Замечаний: 0% ±

Excel2016
With Лист2

А что так можно? без Sheets?
 
Ответить
Сообщение
With Лист2

А что так можно? без Sheets?

Автор - Michael_S
Дата добавления - 27.07.2013 в 20:40
thrasher Дата: Суббота, 27.07.2013, 21:00 | Сообщение № 4
Группа: Пользователи
Ранг: Участник
Сообщений: 63
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Спасибо за ответ, код работает, единственная проблема в том, что должно остаться пятизначное число, но при обработке ноли удаляются и остается только 4 знака.
 
Ответить
СообщениеСпасибо за ответ, код работает, единственная проблема в том, что должно остаться пятизначное число, но при обработке ноли удаляются и остается только 4 знака.

Автор - thrasher
Дата добавления - 27.07.2013 в 21:00
thrasher Дата: Суббота, 27.07.2013, 21:25 | Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 63
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Может быть немного невнятно выразился, если в 5 значном коде точки, который должен остаться, в конце стоит ноль - ноль удаляется и вместо необходимых 5 знаков, остается 4.
К сообщению приложен файл: 0201130.xlsm (22.7 Kb)


Сообщение отредактировал thrasher - Суббота, 27.07.2013, 21:26
 
Ответить
СообщениеМожет быть немного невнятно выразился, если в 5 значном коде точки, который должен остаться, в конце стоит ноль - ноль удаляется и вместо необходимых 5 знаков, остается 4.

Автор - thrasher
Дата добавления - 27.07.2013 в 21:25
_Boroda_ Дата: Суббота, 27.07.2013, 21:30 | Сообщение № 6
Группа: Админы
Ранг: Местный житель
Сообщений: 17006
Репутация: 6667 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Поменял код в своем первом сообщении.
Кстати, если Вас волнуют только нули в конце, то достаточно просто поменять местами 2 строки
[vba]
Код
    Range("D4:D" & r_).Replace What:=".", Replacement:=""
     Range("D4:D" & r_).Replace What:=" *", Replacement:=""
[/vba]
А вот с нулями в начале (.00611 Tele2) это не прокатывает.
А вот если [vba]
Код
What:=".", Replacement:="'"
[/vba]
сделать замену точки на апостроф, тогда все нормально


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеПоменял код в своем первом сообщении.
Кстати, если Вас волнуют только нули в конце, то достаточно просто поменять местами 2 строки
[vba]
Код
    Range("D4:D" & r_).Replace What:=".", Replacement:=""
     Range("D4:D" & r_).Replace What:=" *", Replacement:=""
[/vba]
А вот с нулями в начале (.00611 Tele2) это не прокатывает.
А вот если [vba]
Код
What:=".", Replacement:="'"
[/vba]
сделать замену точки на апостроф, тогда все нормально

Автор - _Boroda_
Дата добавления - 27.07.2013 в 21:30
thrasher Дата: Суббота, 27.07.2013, 21:40 | Сообщение № 7
Группа: Пользователи
Ранг: Участник
Сообщений: 63
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
_Boroda_ большое спасибо, поменял местами строки - все работает как надо,критичны были только ноли в конце.


Сообщение отредактировал thrasher - Суббота, 27.07.2013, 21:48
 
Ответить
Сообщение_Boroda_ большое спасибо, поменял местами строки - все работает как надо,критичны были только ноли в конце.

Автор - thrasher
Дата добавления - 27.07.2013 в 21:40
werty456 Дата: Вторник, 27.03.2018, 10:03 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Доброго времени суток уважаемые форумчане!!!
Так как с VBA не силен прошу Вашей помощи:
Есть набор данных в колонке "D" от 4 до 104 ячейки
в них вносятся 10-значения и 11-значения, из этих значений нужно удалить 4 первых символа.
Например введено: 2052147852, а должно остаться - 147852.
первых 4 символа динамичные, меняются при каждом вводе
Прошу Вашей помощи.
Заранее благодарен))))
 
Ответить
СообщениеДоброго времени суток уважаемые форумчане!!!
Так как с VBA не силен прошу Вашей помощи:
Есть набор данных в колонке "D" от 4 до 104 ячейки
в них вносятся 10-значения и 11-значения, из этих значений нужно удалить 4 первых символа.
Например введено: 2052147852, а должно остаться - 147852.
первых 4 символа динамичные, меняются при каждом вводе
Прошу Вашей помощи.
Заранее благодарен))))

Автор - werty456
Дата добавления - 27.03.2018 в 10:03
Pelena Дата: Вторник, 27.03.2018, 10:10 | Сообщение № 9
Группа: Админы
Ранг: Местный житель
Сообщений: 19603
Репутация: 4660 ±
Замечаний: ±

Excel 365 & Mac Excel
werty456, Прочитайте Правила форума, создайте свою тему и приложите файл с примером. Эта тема закрыта


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
Сообщениеwerty456, Прочитайте Правила форума, создайте свою тему и приложите файл с примером. Эта тема закрыта

Автор - Pelena
Дата добавления - 27.03.2018 в 10:10
  • Страница 1 из 1
  • 1
Поиск:

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