Сначала задали сделать задание в excel, используя обычные текстовые функции excel, а потом задали сделать это же задание в vba, используя строковые функции.
Собственно само задание: После каждой буквы добавить «да».
C2=ЗАМЕНИТЬ(ЗАМЕНИТЬ(ЗАМЕНИТЬ(ЗАМЕНИТЬ(ЗАМЕНИТЬ(A2;2;0;A4);5;0;A4);8;0;A4);11;0;A4);14;0;A4)
В excel я сразу разобрался, а вот с vba меня ждали проблемы. Жду умного совета от вас, ребята.
[вложение удалено администратором]
sergey, в коде ниже используется другой инструмент, чем Вы использовали в Excel. В VBA есть аналог excel-функции "ЗАМЕНИТЬ" - это оператор Mid (в VBA есть и функция и оператор Mid, поэтому не путайте оператор с функцией). Но с помощью Mid нельзя сделать так же, как Вы сделали. С помощью оператора Mid можно только заменять буквы, а вставить между буквами нельзя.
Код:
Sub p1()
' Создание в оперативной памяти компьютера поименованной области - переменной "str".
' Переменную можно сравнить с обычным файлом, но файл находится на жёстком диске компьютера,
' а переменная в оперативной памяти.
' Переменные используются, чтобы в них что-то класть для каких-нибудь целей.
' String означает, что в переменной данные будут восприниматься компьютером, как текст.
' Ещё данные могут восприниматься, например, как число.
Dim str As String, strRes As String
' Long означает, что в переменной может быть только число. И число это может быть только целое
' (бывают ещё дробные числа).
Dim i As Long
' Копирование данных из ячейки A2 в переменную.
' Это упростит написание кода, т.к. удобнее писать str, чем "range("A2").Value".
str = Range("A2").Value
' For .. To ... Step ... Next - называется циклом.
' Цикл используется, чтобы делать одну и ту же команду несколько раз.
' Len(str) - даёт кол-во символов. В случае со словом "кошка" это даст 5.
For i = 1 To Len(str) Step 1
' Изменяться текст будет не прямо в переменной str, т.к. это сложно сделать,
' а будет формироваться новый текст в переменной strRes.
' В переменную strRes помещаем текст из самой же переменной.
' Символ & используется, чтобы соединить фрагменты текста в одну строку.
' Присоединяем букву из исходного слова. Mid(str, i, 1) даёт букву.
' И в конце присоединяем "да".
strRes = strRes & Mid(str, i, 1) & "да"
Next i
' Выводим результат в Excel.
Range("C2").Value = strRes
End Sub