Страницы: 1
RSS
Преобразование сложения значений столбца в строку
 
Привет! Есть столбец, в котором различные значения, на выходе нужно получить их сложение (на подобии &) в строку. Проблема в том что таблица динамичная и складываться должны только выбранные значения.

Пример (значения в столбце):
1
2
3
4
5
6

Я выбрал "2", "4", "6" и мне на выходе получил строку "2, 4, 6"

Стандартными функциями не нашел как это сделать, нужно на VBA. Знания VBA поверхностные, но на питоне быстренько написал вот это (нет возможности запустить питон с рабочего компа, по этому работаю с онлайн версией, т.е. копирую значения в буфер и заношу в input на сайте):
Код
a = []
while True:
    try:
        a.append(input())
    except EOFError:
        break

print(', '.join(a))

Как можно это адаптировать под эксель?

Было бы круто если бы я выбирал значения, запускал макрос, он изменял бы значения в строку и копировал в буфер.
Изменено: GertiyMV - 10.06.2020 16:12:48
 
GertiyMV, файл пример в студию с исходными данными и рядом покажите желаемый результат.
Не бойтесь совершенства. Вам его не достичь.
 
выбор более чем одна ячейка в столбе:
Код
MsgBox Join(Application.Transpose(Selection), ", ")
 
Пример добавлен

Цитата
k61 написал:выбор более чем одна ячейка в столбе:
Работает отлично если значения стоят рядом, если выбирать через одно (например через ctrl), то выдает mismatch
 
GertiyMV,
Код
Sub fd()
Dim cell As Range
Dim k As String
For Each cell In Selection
k = k & cell & ", "
Next cell
MsgBox k
End Sub
Не бойтесь совершенства. Вам его не достичь.
 
Mershik, сейчас сюда попытаюсь прикрутить буфер и получится то что нужно. Спасибо!
 
GertiyMV, как то так
Код
Sub GetFormula_For_VBA()
Dim cell As Range
Dim k As String
For Each cell In Selection
k = k & cell & ", "
Next cell
    With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
        .SetText k: .PutInClipboard
    End With
End Sub
Не бойтесь совершенства. Вам его не достичь.
Страницы: 1
Наверх