Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Как собрать словосочетания из 2 столбцов - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Как собрать словосочетания из 2 столбцов (Макросы/Sub)
Как собрать словосочетания из 2 столбцов
panfilov Дата: Среда, 02.03.2016, 15:57 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Привет всем, давно уже не прикасался к таблицам, но пришла мысль, что именно в них можно найти решение проблемы.
У меня есть два столбца по 15 строк в каждом (слова) и мне нужно собрать словосочетания из них и выдать их результаты в определенный столбец построчно. Как это сделать я примерно понимаю, но не знаю как это написать в VBA. может кто поможет, подскажет решение?
Спасибо огромное!
 
Ответить
СообщениеПривет всем, давно уже не прикасался к таблицам, но пришла мысль, что именно в них можно найти решение проблемы.
У меня есть два столбца по 15 строк в каждом (слова) и мне нужно собрать словосочетания из них и выдать их результаты в определенный столбец построчно. Как это сделать я примерно понимаю, но не знаю как это написать в VBA. может кто поможет, подскажет решение?
Спасибо огромное!

Автор - panfilov
Дата добавления - 02.03.2016 в 15:57
Терминатор Дата: Среда, 02.03.2016, 16:03 | Сообщение № 2
Группа: Заблокированные
Ранг: Новичок
Сообщений: 28
Репутация: 0 ±
Замечаний: 60% ±

2003
Как прикажете узнать какие словосочетания у Вас в столбцах?
 
Ответить
СообщениеКак прикажете узнать какие словосочетания у Вас в столбцах?

Автор - Терминатор
Дата добавления - 02.03.2016 в 16:03
panfilov Дата: Среда, 02.03.2016, 16:22 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Вот пример. И вот нужно в столбец результатов построчно выдать все возможные словосочетания из данных столбцов и строк где указаны Имя, Действие и Место
К сообщению приложен файл: 29.02--.xlsm (15.8 Kb)
 
Ответить
СообщениеВот пример. И вот нужно в столбец результатов построчно выдать все возможные словосочетания из данных столбцов и строк где указаны Имя, Действие и Место

Автор - panfilov
Дата добавления - 02.03.2016 в 16:22
Manyasha Дата: Среда, 02.03.2016, 17:38 | Сообщение № 4
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 898 ±
Замечаний: 0% ±

Excel 2010, 2016
panfilov, взяла макрос MCH из этой темы
К сообщению приложен файл: 20160302_panfil.xlsm (18.9 Kb)


ЯД: 410013299366744 WM: R193491431804
 
Ответить
Сообщениеpanfilov, взяла макрос MCH из этой темы

Автор - Manyasha
Дата добавления - 02.03.2016 в 17:38
panfilov Дата: Среда, 02.03.2016, 18:40 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
К сообщению приложен файл: 20160302_panfil.xlsm(19Kb)

Спасибо огромное, а подскажите какую строку изменить чтоб он считывал строки из столбцов A по F. А то я постоянно ошибку получаю
 
Ответить
Сообщение
К сообщению приложен файл: 20160302_panfil.xlsm(19Kb)

Спасибо огромное, а подскажите какую строку изменить чтоб он считывал строки из столбцов A по F. А то я постоянно ошибку получаю

Автор - panfilov
Дата добавления - 02.03.2016 в 18:40
panfilov Дата: Среда, 02.03.2016, 19:07 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Или проще на 6 столбцов такое же решение? у меня постоянно ошибку выдает
 
Ответить
СообщениеИли проще на 6 столбцов такое же решение? у меня постоянно ошибку выдает

Автор - panfilov
Дата добавления - 02.03.2016 в 19:07
Manyasha Дата: Четверг, 03.03.2016, 10:47 | Сообщение № 7
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 898 ±
Замечаний: 0% ±

Excel 2010, 2016
panfilov, почему сразу не написали нужное количество столбцов?
Поправила код. Переменная m отвечает за количество столбцов
[vba]
Код
Sub www()
    Dim i&, j&, n&, data
    data = Range("A2", Range("f2").End(xlDown)).Value
    n = UBound(data)
    m = 6
    ReDim out(1 To n ^ m, 1 To 1)
    
    For i = 1 To n ^ m
        For j = 1 To m
            out(i, 1) = out(i, 1) & IIf(j = 1, "", " ") & data(i \ n ^ (m - j) Mod n + 1, j)
    Next j, i
    Range("h2", Range("h2").End(xlDown)).ClearContents
    Range("h2").Resize(n ^ m, 1) = out
End Sub
[/vba]
К сообщению приложен файл: 20160303_panfil.xlsm (69.6 Kb)


ЯД: 410013299366744 WM: R193491431804
 
Ответить
Сообщениеpanfilov, почему сразу не написали нужное количество столбцов?
Поправила код. Переменная m отвечает за количество столбцов
[vba]
Код
Sub www()
    Dim i&, j&, n&, data
    data = Range("A2", Range("f2").End(xlDown)).Value
    n = UBound(data)
    m = 6
    ReDim out(1 To n ^ m, 1 To 1)
    
    For i = 1 To n ^ m
        For j = 1 To m
            out(i, 1) = out(i, 1) & IIf(j = 1, "", " ") & data(i \ n ^ (m - j) Mod n + 1, j)
    Next j, i
    Range("h2", Range("h2").End(xlDown)).ClearContents
    Range("h2").Resize(n ^ m, 1) = out
End Sub
[/vba]

Автор - Manyasha
Дата добавления - 03.03.2016 в 10:47
panfilov Дата: Пятница, 04.03.2016, 16:43 | Сообщение № 8
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Спасибо Вам большущее)

Спасибо Вам большущее) честно говоря стыдно было, думал сам разберусь)
С 8 марта Вас!!! Счастья, добра и тепла!
 
Ответить
Сообщение
Спасибо Вам большущее)

Спасибо Вам большущее) честно говоря стыдно было, думал сам разберусь)
С 8 марта Вас!!! Счастья, добра и тепла!

Автор - panfilov
Дата добавления - 04.03.2016 в 16:43
StoTisteg Дата: Суббота, 05.03.2016, 20:26 | Сообщение № 9
Группа: Авторы
Ранг: Старожил
Сообщений: 1161
Репутация: 103 ±
Замечаний: 0% ±

Excel 2010
Чисто приколу для и упражнения ради — с формулами и произвольным числом столбцов:
[vba]
Код
Sub tt()

    Dim Прав, Рез, Ниж As Integer
    Dim Формула As String
    
    Прав = Rows(1).Find(what:="", LookAt:=xlWhole).Column - 1
    Ниж = Cells(Rows.Count, 1).End(xlUp).Row
    Рез = Range(Cells(1, Прав + 2), Cells(1, Columns.Count)).Find(what:="", LookAt:=xlWhole).Column
    If Рез = Прав + 2 Then Cells(1, Рез).Value = "Результат"
    Формула = "="
    For i = 1 To Прав
        Формула = Формула & "RC[-" & Прав + 2 - i & "]&"" ""&"
    Next i
    Формула = Left(Формула, Len(Формула) - 1)
    With Range(Cells(2, Прав + 2), Cells(Ниж, Прав + 2))
        .FormulaR1C1 = Формула
        .Copy
        .PasteSpecial xlPasteValues
    End With

End Sub
[/vba]
Любопытно было бы сотворить то же самое для таблицы, про которую только известно, что она где-то на листе :D


Интуитивно понятный код - это когда интуитивно понятно, что это код.
 
Ответить
СообщениеЧисто приколу для и упражнения ради — с формулами и произвольным числом столбцов:
[vba]
Код
Sub tt()

    Dim Прав, Рез, Ниж As Integer
    Dim Формула As String
    
    Прав = Rows(1).Find(what:="", LookAt:=xlWhole).Column - 1
    Ниж = Cells(Rows.Count, 1).End(xlUp).Row
    Рез = Range(Cells(1, Прав + 2), Cells(1, Columns.Count)).Find(what:="", LookAt:=xlWhole).Column
    If Рез = Прав + 2 Then Cells(1, Рез).Value = "Результат"
    Формула = "="
    For i = 1 To Прав
        Формула = Формула & "RC[-" & Прав + 2 - i & "]&"" ""&"
    Next i
    Формула = Left(Формула, Len(Формула) - 1)
    With Range(Cells(2, Прав + 2), Cells(Ниж, Прав + 2))
        .FormulaR1C1 = Формула
        .Copy
        .PasteSpecial xlPasteValues
    End With

End Sub
[/vba]
Любопытно было бы сотворить то же самое для таблицы, про которую только известно, что она где-то на листе :D

Автор - StoTisteg
Дата добавления - 05.03.2016 в 20:26
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Как собрать словосочетания из 2 столбцов (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!