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

Вход

Регистрация

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

 

= Мир MS Excel/Копирование текста до пробела на другой лист - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Копирование текста до пробела на другой лист (Макросы/Sub)
Копирование текста до пробела на другой лист
Yar4i Дата: Вторник, 06.12.2016, 08:29 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 137
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Доброе утро дамы и господа :D
Есть 2 листа "1" и "3" - они частично заполнены данными.
В столбце B листа "3" встречается буква "к".
Надо эту букву и все символы следующие за ней до первого пробела скопировать на лист "3" в 10-ый столбец в соответствующую строку.
Нумерация строк идет на листе "1" во 2-ом столбце, а на листе "3" в 1-ом столбце.
Т.е. в J2 листа "1" копируем "К=4" из B27 листа "3".
в J3 листа "1" копируем "Кн.1 Кзтр=0,8, Кэм=0,9" из B32 листа "3".
в J4 листа "1" копируем "Кн.1 Кзтр=0,8, Кэм=0,9" из B37 листа "3".
Спасибо.
***
Очень похожа тема на эту "Если ячейкаA листа1=ячейкеB листа2, то скопировать ячейкуC", но копируем не ячейку целиком, а частично текст, в случае его обнаружения.
К сообщению приложен файл: 3-501-57-1.xls (46.5 Kb)


Сообщение отредактировал Yar4i - Вторник, 06.12.2016, 09:25
 
Ответить
СообщениеДоброе утро дамы и господа :D
Есть 2 листа "1" и "3" - они частично заполнены данными.
В столбце B листа "3" встречается буква "к".
Надо эту букву и все символы следующие за ней до первого пробела скопировать на лист "3" в 10-ый столбец в соответствующую строку.
Нумерация строк идет на листе "1" во 2-ом столбце, а на листе "3" в 1-ом столбце.
Т.е. в J2 листа "1" копируем "К=4" из B27 листа "3".
в J3 листа "1" копируем "Кн.1 Кзтр=0,8, Кэм=0,9" из B32 листа "3".
в J4 листа "1" копируем "Кн.1 Кзтр=0,8, Кэм=0,9" из B37 листа "3".
Спасибо.
***
Очень похожа тема на эту "Если ячейкаA листа1=ячейкеB листа2, то скопировать ячейкуC", но копируем не ячейку целиком, а частично текст, в случае его обнаружения.

Автор - Yar4i
Дата добавления - 06.12.2016 в 08:29
nilem Дата: Вторник, 06.12.2016, 10:12 | Сообщение № 2
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
Yar4i, привет
можно попробовать вот такую польз. ф-цию
[vba]
Код
Option Explicit
Option Compare Text

Function WithK(sVal As String, rng As Range) As String
Dim x, i&, j&, sp, s
x = rng.Value

For i = 1 To UBound(x)
    If x(i, 1) = sVal Then
        sp = Split(x(i, 2), "К")
        For j = 1 To UBound(sp)
            s = s & " К" & Split(sp(j))(0)
        Next j
        Exit For
    End If
Next i
If Len(s) > 1 Then WithK = Mid(s, 2)
End Function
[/vba]
например, в яч. J2 листа 1 будет формула:
Код
=WithK(B2;'3'!$A$27:$B$82)


Яндекс.Деньги 4100159601573
 
Ответить
СообщениеYar4i, привет
можно попробовать вот такую польз. ф-цию
[vba]
Код
Option Explicit
Option Compare Text

Function WithK(sVal As String, rng As Range) As String
Dim x, i&, j&, sp, s
x = rng.Value

For i = 1 To UBound(x)
    If x(i, 1) = sVal Then
        sp = Split(x(i, 2), "К")
        For j = 1 To UBound(sp)
            s = s & " К" & Split(sp(j))(0)
        Next j
        Exit For
    End If
Next i
If Len(s) > 1 Then WithK = Mid(s, 2)
End Function
[/vba]
например, в яч. J2 листа 1 будет формула:
Код
=WithK(B2;'3'!$A$27:$B$82)

Автор - nilem
Дата добавления - 06.12.2016 в 10:12
Yar4i Дата: Понедельник, 09.01.2017, 18:39 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 137
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
вот такую польз. ф-цию

1. Создал новый модуль и вставил ваш код.
2. Открыл свой код и вставил:
[vba]
Код
'для всех CD функция WithK МВТ, Manyasha
For Each cell In Range("C1:D" & Cells(Rows.Count, "D").End(xlUp).Row)
cell.Value = WithK(cell.Value)
Next cell
[/vba]
Аналогичный запуск функции с другим названием в большом коде макроса уже есть, мож из-за этого не работает
К сообщению приложен файл: 7284727.jpg (35.9 Kb)


Сообщение отредактировал Yar4i - Вторник, 10.01.2017, 09:55
 
Ответить
Сообщение
вот такую польз. ф-цию

1. Создал новый модуль и вставил ваш код.
2. Открыл свой код и вставил:
[vba]
Код
'для всех CD функция WithK МВТ, Manyasha
For Each cell In Range("C1:D" & Cells(Rows.Count, "D").End(xlUp).Row)
cell.Value = WithK(cell.Value)
Next cell
[/vba]
Аналогичный запуск функции с другим названием в большом коде макроса уже есть, мож из-за этого не работает

Автор - Yar4i
Дата добавления - 09.01.2017 в 18:39
Yar4i Дата: Вторник, 10.01.2017, 10:23 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 137
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Я ссылку на функцию один раз добавлял в тело макроса и по аналогии этого одного раза сделал и запуск данной функции WithK. Система выделяет жёлтым цветом название макроса "Макрос1" и синим фоном выделяет наименование функции "WithK", явно намекая на какую-то ошибку
К сообщению приложен файл: 9524312.jpg (40.6 Kb)
 
Ответить
СообщениеЯ ссылку на функцию один раз добавлял в тело макроса и по аналогии этого одного раза сделал и запуск данной функции WithK. Система выделяет жёлтым цветом название макроса "Макрос1" и синим фоном выделяет наименование функции "WithK", явно намекая на какую-то ошибку

Автор - Yar4i
Дата добавления - 10.01.2017 в 10:23
nilem Дата: Вторник, 10.01.2017, 10:59 | Сообщение № 5
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
Предполагалось, что это будет польз. ф-ция, которую можно использовать в формулах на листе. В файле см. ячейки J2:J12 на листе "1"
К сообщению приложен файл: _3-501-57-1.xls (56.0 Kb)


Яндекс.Деньги 4100159601573
 
Ответить
СообщениеПредполагалось, что это будет польз. ф-ция, которую можно использовать в формулах на листе. В файле см. ячейки J2:J12 на листе "1"

Автор - nilem
Дата добавления - 10.01.2017 в 10:59
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Копирование текста до пробела на другой лист (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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