0 / 0 / 0
Регистрация: 04.04.2015
Сообщений: 5
|
|
1 | |
Нужно, чтобы во вторую ячейку записывался тот же текст из первой ячейки, но без первого слова09.04.2015, 13:52. Показов 738. Ответов 10
Метки нет Все метки)
(
Привет всем! Т.к. я в VBA еще "витаю около", слезно прошу помочь мне с шаблоном кода:
В одной строке есть 2 ячейки, в первой есть текст, напр, с 2-мя словами.Мне нужно, чтобы во вторую ячейку записывался тот же текст из первой ячейки, но без первого слова. Задача элементарно решается формулой,НО! использовать я ее не хочу,т.к. юзер может элементарно удалить данные в строке, т.к. это база данных и формула исчезнет, мало того, документ весь пронизан макросами с завязками других листов, защищать лист тож не получится. И есть еще самый главный нюанс - в эту БД добавляются данные со строкой ниже,т.е. все ячейки относительные. Нашелся маленький шаблон кода, который я отредактировала под себя и работает как мне надо, но засада вся в том, что он написан для абсолютных ячеек: Sub nn() [a2] = Split([b2], "ФОП ")(1) End Sub `( ФОП-это слово,которое удаляется) А у меня в макросе относительная ячейка типа "[a2]" имеет такой вид - .Cells(qLastRow + 1, 1).Value = И вот ломаю мозги что дальше записать после равенства, чтобы суть формулы = Split([b2], "ФОП ")(1) работала для относительных ячеек. После всяких "извращений" с моей стороны подставлять после = свои варианты, в ответ - одни ошибки ![]() ![]()
0
|
|
09.04.2015, 13:52 | |
Ответы с готовыми решениями:
10
Переписать текст из Мемо в StringGrid так, чтобы в каждую ячейку таблицы записывался отдельный символ
StringGrid. Нужно чтобы из первой таблицы брались цифры и вносились во вторую и к каждому числу прибавлялось 5 |
4130 / 2234 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
|
|||||||||||
09.04.2015, 14:26 | 2 | ||||||||||
Без Split() , просто синтаксис
0
|
3823 / 2250 / 751
Регистрация: 02.11.2012
Сообщений: 5,907
|
||||||
09.04.2015, 14:36 | 3 | |||||
так пробовали?
0
|
0 / 0 / 0
Регистрация: 04.04.2015
Сообщений: 5
|
|
09.04.2015, 15:20 [ТС] | 4 |
Пока не получается, ковыряюсь... Вариант Cells(qLastRow + 1, 1).Value = Split(.Cells(qLastRow + 1, 1).Offset(0, 1).Value, "ФОП ")(1) выдает ошибку, а первый вариант ваще ниче дает, это ж получается просто ссылка на другую ячейку без расчехления на слова
0
|
3823 / 2250 / 751
Регистрация: 02.11.2012
Сообщений: 5,907
|
|
09.04.2015, 15:38 | 5 |
файл покажите. в файле пару решений вручную пропишите.
0
|
0 / 0 / 0
Регистрация: 04.04.2015
Сообщений: 5
|
|
09.04.2015, 15:41 [ТС] | 6 |
может тогда стоит не играться с этим split, а попробовать перевести формулу =ПСТР(A1;ПОИСК(" ";A1;1)+1;100) в vba, только опять же для меня это будет непосильно, я представляю, как она будет страшно выглядеть в коде, тут со сплитом замучалась, а с mid я ваще помру
![]() Добавлено через 1 минуту ок, щас немного подкорректирую, поуменьшаю бешенный размер)
0
|
4130 / 2234 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
|
||||||
09.04.2015, 16:20 | 7 | |||||
0
|
0 / 0 / 0
Регистрация: 04.04.2015
Сообщений: 5
|
|
09.04.2015, 17:01 [ТС] | 8 |
Кидаю файл, слава богу удалось почти все удалить с 4мб до 100 кб, осталось только нужное. Активные листы Лист1 и Лист3. На Листе1 давим кнопку Добавить в базу, на листе3 создается база. В столбце Q появляется ФИО. Задача эту ячейку скопировать/перенести (неважно) в столбец Н с удалением первого слова в тексте ст.Q, т.е. в данном случае без "ФОП". То, что было написано в предыдущем примере, то было условно, щас уже в настоящем файле оставила правильную нумерацию столбцов.
0
|
466 / 123 / 61
Регистрация: 04.03.2015
Сообщений: 325
|
||||||
09.04.2015, 20:25 | 9 | |||||
Переносит без любого первого слова.
1
|
0 / 0 / 0
Регистрация: 04.04.2015
Сообщений: 5
|
|
09.04.2015, 20:46 [ТС] | 10 |
Не сработало( В результате показывает пустую ячейку
![]() Добавлено через 7 минут О, сработало! Я кой-чего поменяла .Cells(qLastRow + 1, 8).Value = Replace(.Cells(qLastRow + 1, 17).Value, Split(.Cells(qLastRow + 1, 17).Value)(0) & " ", "", 1, 1) Спасибки большое!!! ![]()
0
|
466 / 123 / 61
Регистрация: 04.03.2015
Сообщений: 325
|
|
09.04.2015, 23:28 | 11 |
0
|
09.04.2015, 23:28 | |
Помогаю со студенческими работами здесь
11
Нужно чтобы остаток от деления записывался в массив Дан текст. Удалить лишние пробелы, если последняя буква первого слова совпадает с первой буквой последнего Нужно, чтобы при открытии первой страницы в RichEdit загружался свой текст Напечатать слова текста в таком порядке, чтобы последняя буква каждого слова совпадала с первой буквойпоследующего слова Напечатать слова предложения в таком порядке, чтобы последняя буква каждого слова совпадала с первой буквой следующего слова Исключить из первой строки слова, входящие во вторую строку Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |