Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Как сохранить в массив только первые 4 символа ячейки
 
Добрый день.
Есть столбец,в нем записаны тексты. В данном моменте мы записываем в массив таблицу А и Выводим массив в таблицу Сю
Я хочу через макрос VBA сохранить в массив только первые 4 символа.Используя массив
Я не знаю как реализовать.
Прикладываю код и файл.
Код
Sub Макрос1()
'
' Макрос1 Макрос
'
' Сочетание клавиш: Ctrl+й
'
   Columns("A:A").Select
   Dim a As Variant
   a = Range("A:A").Value
   
   Dim i As Long
   For i = 1 To 20
   Cells(i, 3).Value = a(i, 1)
   Next
End Sub

Посоветуйте каким методом можно реализовать эту функцию.
Нужен только макрос. Т,К Этот макрос будет использоваться в других макросах.
Спасибо  
 
Код
Sub MyMacro()
arr = Range("A1:A" & Cells(Rows.Count, "A").End(xlUp).Row).Value
For i = LBound(arr) To UBound(arr)
    arr(i, 1) = Left(arr(i, 1), 4)
Next
Range("C1").Resize(UBound(arr), 1) = arr
End Sub
Согласие есть продукт при полном непротивлении сторон.
 
Sanja, Спасибо ,а как сразу записать в массив 4 символа, Без пост обработки  
 
Код
For i = 1 To 20
   a(i,1) =  Left(Cells(i, 1), 4)
Next
 
Да, можно так, но теряется смысл применения массива.
Если Вы обратили внимание, то в моей версии значения в массив попадают БЕЗ перебора ячеек листа, что на порядки быстрее прямого перебора, которы предлагаете Вы.
Согласие есть продукт при полном непротивлении сторон.
Страницы: 1
Читают тему (гостей: 1)
Наверх