Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.04.2011, 19:31   #11
niydiyin
 
Регистрация: 20.04.2011
Сообщений: 8
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
нифига не понял.
пример сложно было сделать?
простите, вроде прикреплял.
Вложения
Тип файла: rar post_2187101withformula.rar (11.7 Кб, 6 просмотров)
niydiyin вне форума Ответить с цитированием
Старый 20.04.2011, 19:42   #12
niydiyin
 
Регистрация: 20.04.2011
Сообщений: 8
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
Зачем первой строкой макроса затирать ВСЁ содержимое листа2 ???
Вручную пропишите формулы и всё такое, а Лист2.UsedRange.Clear уберите, - и макрос будет заполнять на втором листе только 11-ю строку
не знаю, я просто такой скрипт увидел и модифицировал его, а там было вот это затирание. я честно говоря не знаю, зачем и обновление экрана отключать

еще такой вопрос, iv1 - это просто столбец и строка, то есть правее iv формула работать не будет?

Последний раз редактировалось niydiyin; 20.04.2011 в 19:49.
niydiyin вне форума Ответить с цитированием
Старый 25.04.2011, 15:07   #13
niydiyin
 
Регистрация: 20.04.2011
Сообщений: 8
По умолчанию

уважаемый, educatedfool, очень надеюсь на вашу помощь
в общем вот код
Код:
Sub forum()
Dim LastCol, diffCol, i, j As Integer, sum As Integer
    LastCol = Cells.Find("*", [A1], , , xlByColumns, xlPrevious).Column
    ActiveCell.Resize(1, LastCol - Selection.Column + 1).Copy
    Sheets.Add After:=Sheets(Sheets.Count)
    Sheets(Sheets.Count).Range("c11").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=True, Transpose:=False
    sum = 0
    Sheets(Sheets.Count).Range("c10").Select
    For i = 3 To LastCol
    sum = i
    Sheets(Sheets.Count).Cells(10, i) = sum
    Next i
    Sheets(Sheets.Count).Range("c12").Select
    For j = 3 To LastCol
    Sheets(Sheets.Count).Cells(12, j).FormulaLocal = "=ЕСЛИ(ВПР($A12;Лист1!$A$1:$O$15;C$10;ЛОЖЬ)<>"";ВПР($A12;Лист1!$A$1:$O$15;C$10;ЛОЖЬ);ЛОЖЬ())"
    Next j
End Sub
я пример прикрепил.
что мне нужно: этот код постоянно создает новый лист, а мне надо чтобы он всю инофрмацию копировал на второй лист, где уже в клеточках будет какая-то информация.
а второй вопрос с формулой. я знаю только один способ вписывать формулу, как я написал выше. но проблема в том, что параметры в этой формуле должны меняться. во-первых диапазон поиска постоянно разный, во вторых меняется параметр поиска в зависимости от столбика. то есть та формула, которая у меня в коде это для столбика С, а в следующей ячейке должна быть для D:
=ЕСЛИ(ВПР($A12;Sheet1!$A$1:$CX$123; D$10;ЛОЖЬ)<>"";ВПР($A12;Sheet1!$A$1 :$CX$123;D$10;ЛОЖЬ);ЛОЖЬ())
то есть должен быть какой-то цикл, но как это реализовать не знаю.

подскажите, пожалуйста
Вложения
Тип файла: rar aaa.rar (7.5 Кб, 6 просмотров)
niydiyin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как вытащить из таблицы одного листа нужные строки на др лист? alexabv Microsoft Office Excel 3 30.04.2010 12:08
Удаление активой строки с одного листа на другой MilanAC Помощь студентам 0 28.04.2010 22:08
скопировать дублирующие строки с одного листа на другие листы mars56 Microsoft Office Excel 22 17.02.2010 19:58
Перенести данные с одного листа на другой. albih Microsoft Office Excel 2 02.05.2009 12:55
как перенести данные с листа excel в текстовой фаил? sergey34 Microsoft Office Excel 6 02.12.2007 22:59