Страницы: 1
RSS
Описание одномерного массива
 
Здравствуйте!  
Подскажите, пжл, как правильно описать одномерный массив длинной равной количеству заполненных ячеек в столбце A (пустые строки среди заполненных исключены)?  
Читал по этому вопросу много литературы, но, простите, не понял. Пытался найти ответы на форуме, но не нашёл. М.б. смотрел не так?  
Насколько я понимаю, массив не является динамическим. Или я неправ?  
Помогите, пожалуйста.  
Спасибо!
 
Так наверно проще:  
 
________________________  
khafizovtt@gmail.com
Учимся сами и помогаем другим...
 
Простите!  
Поторопился.  
3-я строчка в VBA  
 
Dim Massiv(1 To y) As String,  
 
а не как у меня написано.  
Но это тоже не работает.  
Как всё-таки правильно?  
 
Ещё раз спасибо.
 
2 ber$erk  
Спасибо!  
Интересно, а то что хотел я, никак не катит?
 
Мож еще проще:  
Dim a  
a = [a1].CurrentRegion.Columns(1)
?
Я сам - дурнее всякого примера! ...
 
2 KukLP  
И Вам спасибо.  
Скажите, а знак вопроса туда попал случайно или он нужен?
 
{quote}{login=iba2004}{date=11.09.2012 08:31}{thema=}{post}2 ber$erk  
Спасибо!  
Интересно, а то что хотел я, никак не катит?{/post}{/quote}  
 
вроде как нет  
Почитайте про динамические массивы (ReDim)  
http://on-line-teaching.com/vba/lsn0120.html  
________________________  
khafizovtt@gmail.com
Учимся сами и помогаем другим...
 
2 ber$erk  
 
Значит массив всё-таки динамический?  
Я пытался описать его Dim Massiv () as ...  
А затем ReDim’ом обозначить его размеры.  
У меня не получилось.  
Спасибо за ссылку. Почитаю, м.б. разберусь, где ошибался.
 
{quote}{login=iba2004}{date=11.09.2012 08:42}{thema=}{post}  
Скажите, а знак вопроса туда попал случайно или он нужен?{/post}{/quote}В коде он не нужен. Но это был мой вопрос Вам.:-) Если Вы имели ввиду считывание в массив с листа, то приведенный мной способ наиболее простой и эффективный.
Я сам - дурнее всякого примера! ...
 
2 KukLP  
Да! Там порядок действий таков:  
Есть два массива, в одном из которых каждый элемент нужно обрезать действиями Left, Right, Mid. А затем два массива сравнить между собой.  
Чтобы при сравнивании каждого элемента массива1 с каждым элементом массива2 не пришлось всякий раз использовать процедуру вырезания, я хочу один раз отрезать всё лишнее, поместить в виртуальный массив и сравнивать с ним. Поэтому и длина виртуального массива равна количеству заполненных ячеек.  
Вы, как специалист, считаете, что для данной процедуры наиболее правильно использовать Ваш метод описания?  
Спасибо!
 
Я как специалист считаю, что для сравнения массивов вообще лучше использовать словарь(примеров мы на форуме выкладывали сотни). И при этом приведенный мной способ считывания очень эффективен. Лучше видеть Ваш пример. Что есть и что хочу.
Я сам - дурнее всякого примера! ...
 
Конечно нужно использовать словарь! Но сперва массив :)  
Данные в массив, их перебором обрезаем и кладём в словарь.  
Затем при переборе второго массива смотрим, есть ли такое в словаре.  
Итого всего ДВА прохода по массивам (поиск в словаре вещь в себе, быстрая).  
И примеров на форуме сотни, думаю на каждой странице форума можно найти (вчера точно использовал, в теме    
http://www.planetaexcel.ru/forum.php?thread_id=35183  
но там конечно всё не просто, Вам нужно что-то попроще найти по Scripting.Dictionary...)
 
2 KukLP  
2 Hugo  
 
Спасибо, ребят!
Страницы: 1
Читают тему
Наверх