Russt
Дата: Суббота, 07.04.2018, 08:00 |
Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Здравствуйте! Как можно добавить слово только в ячейки, в которых его нет?
Здравствуйте! Как можно добавить слово только в ячейки, в которых его нет? Russt
Ответить
Сообщение Здравствуйте! Как можно добавить слово только в ячейки, в которых его нет? Автор - Russt Дата добавления - 07.04.2018 в 08:00
Pelena
Дата: Суббота, 07.04.2018, 08:18 |
Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19517
Репутация:
4632
±
Замечаний:
±
Excel 365 & Mac Excel
Здравствуйте.
=ЕСЛИ(ЕЧИСЛО(ПОИСК("киви";A3 ));A3 ;A3 &" киви")
Здравствуйте.
=ЕСЛИ(ЕЧИСЛО(ПОИСК("киви";A3 ));A3 ;A3 &" киви")
Pelena
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816
Ответить
Сообщение Здравствуйте.
=ЕСЛИ(ЕЧИСЛО(ПОИСК("киви";A3 ));A3 ;A3 &" киви")
Автор - Pelena Дата добавления - 07.04.2018 в 08:18
Karataev
Дата: Суббота, 07.04.2018, 08:52 |
Сообщение № 3
Группа: Проверенные
Ранг: Старожил
Сообщений: 1336
Репутация:
533
±
Замечаний:
0% ±
Excel
Вариант макросом. Предполагается, что данные начинаются со строки 2. Приложил файл, в котором работает этот макрос. В самом файле макроса нет.
Вариант макросом. Предполагается, что данные начинаются со строки 2. Приложил файл, в котором работает этот макрос. В самом файле макроса нет. Karataev
Ответить
Сообщение Вариант макросом. Предполагается, что данные начинаются со строки 2. Приложил файл, в котором работает этот макрос. В самом файле макроса нет.
[vba]
Sub Добавить_киви() Dim arr(); boolFound As Boolean Dim var ; lr As Long ; i As Long ; ii As Long lr = Cells(Rows.Count ; "A").End(xlUp ).Row arr() = Range("A2:A" & lr ).Value For i = 1 To UBound(arr ) boolFound = False var = Split(WorksheetFunction.Trim(arr(i ; 1)); " - ") For ii = 0 To UBound(var ) If var(ii ) = "киви" Then boolFound = Тrue Exit For End If Next ii If boolFound = False Then arr(i ; 1) = arr(i ; 1) & " - киви" End If Next i Range("A2:A" & lr ).Value = arr()End Sub
[/vba]
Автор - Karataev Дата добавления - 07.04.2018 в 08:52
InExSu
Дата: Среда, 11.04.2018, 02:14 |
Сообщение № 4
Группа: Друзья
Ранг: Ветеран
Сообщений: 650
Репутация:
96
±
Замечаний:
0% ±
Excel 2010, 365
Привет!
Option Explicit
Sub ДОбав()
Application.ScreenUpdating = False
Dim rng As Range: Set rng = ActiveSheet.UsedRange
Dim cel As Range
Dim str As String : str = " киви"
For Each cel In rng.Cells
With cel
If Len (.Value) <> 0 And _
InStr (.Value, str) = 0 Then
.Value = .Value & str
End If
End With
Next cel
Application.ScreenUpdating = True
End Sub
Привет!
Option Explicit
Sub ДОбав()
Application.ScreenUpdating = False
Dim rng As Range: Set rng = ActiveSheet.UsedRange
Dim cel As Range
Dim str As String : str = " киви"
For Each cel In rng.Cells
With cel
If Len (.Value) <> 0 And _
InStr (.Value, str) = 0 Then
.Value = .Value & str
End If
End With
Next cel
Application.ScreenUpdating = True
End Sub
InExSu
Разработчик Битрикс24 php, Google Apps Script, VBA Excel Windows/Mac
Сообщение отредактировал InExSu - Среда, 11.04.2018, 02:15
Ответить
Сообщение Привет! [vba]
Option ExplicitSub ДОбав() Application.ScreenUpdating = False Dim rng As Range : Set rng = ActiveSheet.UsedRange Dim cel As Range Dim str As String : str = " киви" For Each cel In rng.Cells With cel If Len(.Value ) <> 0 And _ InStr(.Value ; str ) = 0 Then .Value = .Value & str End If End With Next cel Application.ScreenUpdating = ТrueEnd Sub
[/vba] Автор - InExSu Дата добавления - 11.04.2018 в 02:14
Russt
Дата: Понедельник, 16.04.2018, 13:22 |
Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Спасибо всем! Все работает!
Спасибо всем! Все работает! Russt
Ответить
Сообщение Спасибо всем! Все работает! Автор - Russt Дата добавления - 16.04.2018 в 13:22
sv2014
Дата: Вторник, 17.04.2018, 20:31 |
Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 226
Репутация:
61
±
Замечаний:
0% ±
Excel 2013
Russt , еще вариант макроса,для демонстрации переменной $&,кнопки test и повтор
Sub test()
Dim i&, t$
With CreateObject ("VBScript.RegExp" )
For i = 3 To Range("A3" ).End(xlDown).Row: t = Range("A" & i): .Pattern = "киви"
If .test(t) = False Then
.Pattern = ".+" : Range("A" & i) = .Replace(t, "$& киви" )
End If
Next
End With
End Sub
Russt , еще вариант макроса,для демонстрации переменной $&,кнопки test и повтор
Sub test()
Dim i&, t$
With CreateObject ("VBScript.RegExp" )
For i = 3 To Range("A3" ).End(xlDown).Row: t = Range("A" & i): .Pattern = "киви"
If .test(t) = False Then
.Pattern = ".+" : Range("A" & i) = .Replace(t, "$& киви" )
End If
Next
End With
End Sub
sv2014
Ответить
Сообщение Russt , еще вариант макроса,для демонстрации переменной $&,кнопки test и повтор [vba]
Sub test() Dim i &, t $With CreateObject("VBScript.RegExp") For i = 3 To Range("A3").End(xlDown ).Row : t = Range("A" & i ): .Pattern = "киви" If .test(t ) = False Then .Pattern = ".+": Range("A" & i ) = .Replace(t , "$& киви") End If Next End WithEnd Sub
[/vba]Автор - sv2014 Дата добавления - 17.04.2018 в 20:31