1. Наш канал codeby в telegram. Пишем об информационной безопасности, методах защиты информации, о программировании. Не пропускай новости с кодебай, будь в тренде ! Подробнее ...

    Скрыть объявление

Помощь с макросом в Excell

Тема в разделе "Visual Basic", создана пользователем Mad Mike, 16 ноя 2007.

  1. Mad Mike

    Mad Mike Гость

    Репутация:
    0
    Вот после пяти лет учебы понял что то чему учился никому ненужно решил начать заниматься программированием.
    И вот решил себя попробовать в написании такого макроса
    Макрос должен делать следующие

    Сущкствуют 3 листа. первый называется in, второй out, третий stock. нужно чтобы

    1. На листе in значение в ячейке (кол-во товара) должно как-то связываться с его названием которое находится в начале строки и с датой которая находится в начале столбца и переносить их на лист stock.

    2. Тоже самое надо делать и на листе out (можно только к названию).

    3. На листе stock из данных ячеик (кол-во товара) которые были перенесены с листа in должны вычитаться данные ячеик перенесенные с листа out. Но с таким условием чтобы сначала вычитались значения с наименьшей датой, а когда там стане 0 то со следующий по возрастанию. (т.е. есть кол-во товара с датой 01.12.00 (1) и с датой 23.02.01 (2) сначала должно вычитаться из кол-ва товара (1)

    4. На листе stock макрос должен суммировать все значения ячеек для каждого наименования.

    Буду очель благодарен за любые вашы советы!!!

    И еще могли бы Вы мне порекомендовать книги где подробно написано по VBA
     
  2. Octadm

    Octadm Гость

    Репутация:
    0
    Есть отличная книга: А. Гарнаев - Самоучитель VBA, поройся в gugle - он найдет. Там все отлично написано, сам начал обучатся VBA с нее.
     
  3. Jumpy

    Jumpy Гость

    Репутация:
    0
    эм... если чесно не понял поставленную задачу, а именно каким образом и какие данные в ячейках содержатся. но вообще вот работа с ячейками такая:

    dim NAZVANIE as string
    dim stroka as string
    stroka = in.range("A" & 1) 'stroka = тому что у нас в столбце A в первой строке

    NAZVANIE = mid(stroka,1,instr(1,stroka," ",) -1) 'NAZVANIE = начальной части stroka до первого пробела (но пробел не включается)

    'перенос на другую страницу

    out.range("A" & 1) = in.range("A & 1) 'ячейка A1 листа out = ячейке A1 листа in

    'с вычитанием, сам разберешься, думаю :rolleyes:

    'сумма по столбцу
    dim a as integer 'счетчик цикла
    dim START as integer 'номер первой строка с данными
    dim KONEC as integr 'номер последней строки с данными
    dim SUMMA as long

    START = 1
    KONEC = 10 'допустим у нас 10 записей

    a = START
    SUMMA = 0
    do while a <= KONEC 'делать пока не дойдем до последней записи

    SUMMA = SUMMA + stock.range("B" & a) 'допустим складываемые циферки у нас в столбце B
    a = a + 1
    loop

    stock.range("C" & 1) = "Сумма: " & SUMMA 'выведем результат в ячейку С1

    вроде все что те надо рассказал )
     
Загрузка...

Поделиться этой страницей