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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.01.2011, 14:37   #1
Vladimir17M
 
Регистрация: 05.02.2010
Сообщений: 9
По умолчанию Из столбца в строчку с условием!

Здравствуйте! Помогите с макрос чтобы он переносил значения из 1 столбца 1 листа в 1 строчку 2 листа, но при этом миновал пустые ячейки.
Пример:
A
1 100
2 0
3 0
4 400
Лист 1

Результат:

А B C D
1 100 400
Лист 2

Где-то так)))
Vladimir17M вне форума Ответить с цитированием
Старый 19.01.2011, 14:55   #2
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Код:
Sub tt()
For Each cc In [a2:a100]
If cc.Value > 0 Then
i = i + 1
Cells(1, i) = cc.Value
End If
Next
End Sub
Данные с А2.
Количество не отслеживается!
Листы тоже

С листами так (данные с А1):
Код:
Sub tt()
For Each cc In Sheets(1).[a1:a100]
If cc.Value > 0 Then
i = i + 1
Sheets(2).Cells(1, i) = cc.Value
End If
Next
End Sub
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 19.01.2011 в 14:57.
Hugo121 вне форума Ответить с цитированием
Старый 19.01.2011, 15:36   #3
Vladimir17M
 
Регистрация: 05.02.2010
Сообщений: 9
По умолчанию

Все здорово только есть еще условия про которое я забыл за что извиняюсь.
Условие такое не должно быть повторных значений в ячейках в горизонтальном столбце.
Vladimir17M вне форума Ответить с цитированием
Старый 19.01.2011, 16:09   #4
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Тогда сперва в словарь, потом его на лист.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 19.01.2011, 16:16   #5
Vladimir17M
 
Регистрация: 05.02.2010
Сообщений: 9
По умолчанию

Не понял я сейчас, в какой словарь?
Vladimir17M вне форума Ответить с цитированием
Старый 19.01.2011, 16:20   #6
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Поищите по "Dictionary" или "Collection" - это коллекция, тоже можно...
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 19.01.2011, 16:37   #7
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Добил, с выгрузкой застрял:
Код:
Option Explicit
Sub otbor()

    Dim a(), oDict As Object, i As Long, Temp As String

    a = Sheets(1).Range("A1:A" & Sheets(1).Range("A" & Rows.Count).End(xlUp).Row).Value
    Set oDict = CreateObject("Scripting.Dictionary")
    For i = 1 To UBound(a)
        Temp = Trim(a(i, 1))
        If Temp <> "0" Then
        If Not oDict.Exists(Temp) Then oDict.Add Temp, CStr(1)
        End If
    Next

    With ThisWorkbook.Worksheets(2)
        .Range("A1").Resize(, oDict.Count).Value = oDict.keys
    End With

End Sub
Только тут нет проверки на количество столбцов - если данных наберётся больше, будет ошибка!
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 19.01.2011 в 16:43.
Hugo121 вне форума Ответить с цитированием
Старый 24.01.2011, 12:36   #8
Vladimir17M
 
Регистрация: 05.02.2010
Сообщений: 9
По умолчанию

Спасибо Hugo121 Все работает отлично!
Vladimir17M вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление строк столбца совпадающих со строками другого столбца ShamanGood Microsoft Office Excel 23 18.09.2010 09:26
Транспортировка (из столбца в строчку) данных по цвету ячеек 1018663 Microsoft Office Excel 2 28.06.2010 17:44
слои в строчку 1div HTML и CSS 7 19.12.2008 16:36
В прямоугольной матрице переставить столбцы так, чтобы сумма элементов столбца росла от первого столбца Aleo13 Помощь студентам 5 15.10.2008 18:34
Как с поиощью hiew вставить в файл строчку, "раздвинуть" файл и вставить туда строчку? barand Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 28.06.2008 10:58