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

Вход

Регистрация

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

 

= Мир MS Excel/"Подтягивание" значений - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » "Подтягивание" значений (Макросы/Sub)
"Подтягивание" значений
Leojse Дата: Вторник, 19.08.2014, 22:58 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 148
Репутация: 1 ±
Замечаний: 0% ±

2010/2013
Добрый вечер, уважаемые форумчане!
Снова надеюсь на Вашу помощь. В приложенном примере есть столбец1 и столбец2. В них есть данные разных типов. Возможно ли "подтянуть" эти данные в этих же столбцах, чтобы они шли сплошняком, не удаляя при пустые ячейки? Попытался что-то сам наваять, кое что получилось, но не совсем то, что нужно.
К сообщению приложен файл: 3387111.xls (32.0 Kb)
 
Ответить
СообщениеДобрый вечер, уважаемые форумчане!
Снова надеюсь на Вашу помощь. В приложенном примере есть столбец1 и столбец2. В них есть данные разных типов. Возможно ли "подтянуть" эти данные в этих же столбцах, чтобы они шли сплошняком, не удаляя при пустые ячейки? Попытался что-то сам наваять, кое что получилось, но не совсем то, что нужно.

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

2003; 2007; 2010; 2013 RUS
Так нужно?
Код
=ЕСЛИОШИБКА(ИНДЕКС(A$1:A$998;НАИМЕНЬШИЙ(ЕСЛИ(A$2:A$999<>"";СТРОКА(A$2:A$999));СТРОКА(D1)));"")

Ой, не заметил, что макрос нужен. Ну ладно, не выкидывать же.
А если макрос, то не совсем ясна фраза
не удаляя при пустые ячейки
К сообщению приложен файл: 3387111_1.xls (33.5 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеТак нужно?
Код
=ЕСЛИОШИБКА(ИНДЕКС(A$1:A$998;НАИМЕНЬШИЙ(ЕСЛИ(A$2:A$999<>"";СТРОКА(A$2:A$999));СТРОКА(D1)));"")

Ой, не заметил, что макрос нужен. Ну ладно, не выкидывать же.
А если макрос, то не совсем ясна фраза
не удаляя при пустые ячейки

Автор - _Boroda_
Дата добавления - 19.08.2014 в 23:36
tsap Дата: Среда, 20.08.2014, 02:24 | Сообщение № 3
Группа: Проверенные
Ранг: Участник
Сообщений: 60
Репутация: 6 ±
Замечаний: 0% ±

2013
Так, как я понял, у Вас разного рода данные будут в таблице - после обработки все выводится как текст.
Выделяете нужный диапазон - запускаете макрос

[vba]
Код

Option Explicit
Option Base 1

Sub Подтянуть()
'---------------
'For: user Leojse
'Topic: http://www.excelworld.ru/forum/10-12562-1
'Author: tsap
'---------------
Dim h As Long, w As Integer
Dim k As Long, i As Long, j As Long
Dim ar, ar_new() As String

h = Selection.Rows.Count
w = Selection.Columns.Count
ar = Selection.Value

ReDim ar_new(h, w)
For i = 1 To w
     k = 0
     For j = 1 To h
         If Not IsEmpty(ar(j, i)) Then
         k = k + 1
         ar_new(k, i) = ar(j, i)
         End If
     Next
Next
'Заполняем выделенный диапазон и выравниваем по правому краю
Selection = ar_new
Selection.HorizontalAlignment = xlRight
End Sub

[/vba]


 
Ответить
СообщениеТак, как я понял, у Вас разного рода данные будут в таблице - после обработки все выводится как текст.
Выделяете нужный диапазон - запускаете макрос

[vba]
Код

Option Explicit
Option Base 1

Sub Подтянуть()
'---------------
'For: user Leojse
'Topic: http://www.excelworld.ru/forum/10-12562-1
'Author: tsap
'---------------
Dim h As Long, w As Integer
Dim k As Long, i As Long, j As Long
Dim ar, ar_new() As String

h = Selection.Rows.Count
w = Selection.Columns.Count
ar = Selection.Value

ReDim ar_new(h, w)
For i = 1 To w
     k = 0
     For j = 1 To h
         If Not IsEmpty(ar(j, i)) Then
         k = k + 1
         ar_new(k, i) = ar(j, i)
         End If
     Next
Next
'Заполняем выделенный диапазон и выравниваем по правому краю
Selection = ar_new
Selection.HorizontalAlignment = xlRight
End Sub

[/vba]

Автор - tsap
Дата добавления - 20.08.2014 в 02:24
Leojse Дата: Среда, 20.08.2014, 18:00 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 148
Репутация: 1 ±
Замечаний: 0% ±

2010/2013
tsap, большое спасибо!
 
Ответить
Сообщениеtsap, большое спасибо!

Автор - Leojse
Дата добавления - 20.08.2014 в 18:00
Мир MS Excel » Вопросы и решения » Вопросы по VBA » "Подтягивание" значений (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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