Помогите в неравной борьбе с Excel

Программирование на Visual Basic for Applications
enom
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 29.08.2006 (Вт) 4:20

Помогите в неравной борьбе с Excel

Сообщение enom » 29.08.2006 (Вт) 5:16

Вот у меня такая проблема возникла а точнее 2-е. Дело в том, что мне необходимо чтобы какимто образом выявлялось значение последней заполненной ячейки столбца, в котором количество заполненных ячеек постоянно меняется, и затем значение этой ячейки подставлялось в ячейку на другом листе. Я не имею в виду ячейку которую использовали последней а ячейку которая в очереди последняя

Вторая проблема такая. Для того же документа мне нужно чтобы в диапазон из 31 ячейки вставлялась числа месяца (01.01.06). казалось бы дело простое. Но вот как сделать так чтобы к введенному числу прибавлялся месяц и год? К примеру ввожу я в ячейку 27 а получается 27.01.06.

I10
Начинающий
Начинающий
 
Сообщения: 15
Зарегистрирован: 14.08.2006 (Пн) 10:11

Сообщение I10 » 29.08.2006 (Вт) 9:03

1. Предположим, что твой столбец - это столбец "A",
тогда значение последней заполненной непустой ячейки этого столбца (в английском Excel)
=INDEX(A:A;COUNTA(A:A))

2. Попробуй
YEAR(NOW())
MONTH(NOW())

enom
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 29.08.2006 (Вт) 4:20

Сообщение enom » 29.08.2006 (Вт) 10:11

Если возможно то поподробней пожалуйста. У меня руссифицированный excel. Где нужно вводить эту формулу. Елси в строке формул то она показывает ошику и пишет в ячейке ИМЯ
Тоже самое и с второй формулой :(

I10
Начинающий
Начинающий
 
Сообщения: 15
Зарегистрирован: 14.08.2006 (Пн) 10:11

Сообщение I10 » 29.08.2006 (Вт) 10:41

Это формулы рабочего листа
COUNTA - вычисляет количество непустых ячеек в диапазоне
по русски :) , кажется, СЧЕТА, но не уверен.
INDEX - ищет n-ую ячейку массива.
Попоробуй посмотреть функции работы с массивами.

KL
Microsoft MVP
 
Сообщения: 483
Зарегистрирован: 30.10.2005 (Вс) 0:31
Откуда: Madrid

Сообщение KL » 29.08.2006 (Вт) 10:49

1) Если в столбце значения перемежаются с пустыми ячейками, то...

а. если возможны только текстовые значения

англ.
=LOOKUP(REPT("я",255),A1:A500)
=LOOKUP("яяяяяя",A1:A500)

русск.
=ПРОСМОТР(ПОВТОР("я";255);A1:A500)
=ПРОСМОТР("яяяяяя";A1:A500)

б. если возможны только числовые значения

англ.
=LOOKUP(9e307,A1:A500)
=LOOKUP(9,99999999999999E+307,A1:A500)

русск.
=ПРОСМОТР(9e307;A1:A500)
=ПРОСМОТР(9.99999999999999E+307;A1:A500)

в. если возможны и текстовые и числовые значения

англ.
=INDEX(A1:A500,MAX(IF(ISNUMBER(MATCH({"яяяяяяя",9E+307},A1:A500)),MATCH({"яяяяяяя",9E+307},A1:A500))))

русск.
=ИНДЕКС(A1:A500;МАКС(ЕСЛИ(ЕЧИСЛО(ПОИСКПОЗ({"яяяяяяя"\9E+307};A1:A500));ПОИСКПОЗ({"яяяяяяя"\9E+307};A1:A500))))

г. если надо искать любые значения (текстовые, числовые, логические, ошибки)

Внимание: эта формула матричная и должна вводиться с пом. Ctrl+Shift+Enter. Посравнению с предыдущими эта формула очень меджленная.

англ.
=INDEX(A:A,MAX(IF(NOT(ISBLANK(A1:A500)),ROW(A1:A500))))

русск.
=ИНДЕКС(A:A;МАКС(ЕСЛИ(НЕ(ЕПУСТО(A1:A500));СТРОКА(A1:A500))))

2) Можешь использовать функцию англ. DATE() или русск. ДАТА для построения дат.()
Привет,
KL

KL
Microsoft MVP
 
Сообщения: 483
Зарегистрирован: 30.10.2005 (Вс) 0:31
Откуда: Madrid

Сообщение KL » 29.08.2006 (Вт) 10:53

перевод функций указанных I10:

=ИНДЕКС(A:A;СЧЁТЗ(A:A))
=ГОД(ТДАТА())
=МЕСЯЦ(ТДАТА())
Привет,
KL

enom
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 29.08.2006 (Вт) 4:20

Сообщение enom » 29.08.2006 (Вт) 12:01

Спасибо всем. Это как раз то что нужно. Именно это мне было и нужно.
Кстати а как насчет дат? ;) Пока реализовал другим путем т.е в раздельных ячейках, т.е при вводе числа месяца в соседней ячейке прибавлчется название месяца и год. В принципе и так сойдет. Ж)

KL
Microsoft MVP
 
Сообщения: 483
Зарегистрирован: 30.10.2005 (Вс) 0:31
Откуда: Madrid

Сообщение KL » 29.08.2006 (Вт) 12:29

Во второй части не очень понятно, что требуется. Может выложишь файл с примером?
Привет,
KL


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11

    TopList