Добрый день. Помогите пожалуйста составить макрос, который решит несложную задачу. На листе есть диапазон А1:А100 ячейка может быть пустой или с текстовыми данными. Задача: значение каждой не пустой ячейки взять в кавычки. т.е. было в А1 - вариант текста 1, а после обработки станет "вариант текста 1" и так пройтись по всем ячейкам диапазона. т.е. надо добавить кавычки в начало и в конец каждой не пустой ячейки. Если ячейка пустая, тогда туда добавлять ничего не надо. Спасибо [moder]Вообще-то, несмотря на то, что все понятно, примерчик все равно нужен. Кстати, а текст не может начинаться или заканчиваться на кавычку?
Добрый день. Помогите пожалуйста составить макрос, который решит несложную задачу. На листе есть диапазон А1:А100 ячейка может быть пустой или с текстовыми данными. Задача: значение каждой не пустой ячейки взять в кавычки. т.е. было в А1 - вариант текста 1, а после обработки станет "вариант текста 1" и так пройтись по всем ячейкам диапазона. т.е. надо добавить кавычки в начало и в конец каждой не пустой ячейки. Если ячейка пустая, тогда туда добавлять ничего не надо. Спасибо [moder]Вообще-то, несмотря на то, что все понятно, примерчик все равно нужен. Кстати, а текст не может начинаться или заканчиваться на кавычку?scaels1
1)ставим в клетку В1 кавчку. 2)в клетке С1 пишем =B1&A1&B1 получается клетка а1 в кавчках. 3) протягиваем эту формулу до низу. копируем и вставляем весь получившийся столбик как значение вместо столбика А(копировать как, галочка как значение) , затем удаляем все кроме столика А. 4) выделяем весь столбик А. жмем сонтр+Н. делаем в верхней строке пишем "" в нижней ничего. жмем "заменить все" 5) профит)
1)ставим в клетку В1 кавчку. 2)в клетке С1 пишем =B1&A1&B1 получается клетка а1 в кавчках. 3) протягиваем эту формулу до низу. копируем и вставляем весь получившийся столбик как значение вместо столбика А(копировать как, галочка как значение) , затем удаляем все кроме столика А. 4) выделяем весь столбик А. жмем сонтр+Н. делаем в верхней строке пишем "" в нижней ничего. жмем "заменить все" 5) профит)Goblinax
Это позволит ставить кавычку только в первой ячейке и не убирать кавычки через Ctrl-H. Можно вообще не задействовать третий столбец:
Код
=ЕСЛИ(A1="";"";""""&A1&"""")
. Но если вы настаиваете именно на макросе, вот он[vba]
Код
Sub QQ() For I = 1 To Cells(Rows.Count, 1).End(xlUp).Row With Cells(I, 1) If .Value <> "" And Left(.Value, 1) <> """" And Right(.Value, 1) <> """" Then .Value = """" & .Value & """" End With Next I End Sub
[/vba] UPD Подправил макрос с учетом замечания уважаемого Nic70y
Небольшое изменение в формуле:
Код
=ЕСЛИ(A1="";"";$B$1&B1&$B$1)
Это позволит ставить кавычку только в первой ячейке и не убирать кавычки через Ctrl-H. Можно вообще не задействовать третий столбец:
Код
=ЕСЛИ(A1="";"";""""&A1&"""")
. Но если вы настаиваете именно на макросе, вот он[vba]
Код
Sub QQ() For I = 1 To Cells(Rows.Count, 1).End(xlUp).Row With Cells(I, 1) If .Value <> "" And Left(.Value, 1) <> """" And Right(.Value, 1) <> """" Then .Value = """" & .Value & """" End With Next I End Sub
[/vba] UPD Подправил макрос с учетом замечания уважаемого Nic70yМВТ
Сообщение отредактировал МВТ - Вторник, 31.03.2015, 07:39
Nic70y, простите великодушно не доглядел. Вначале сделал формулу, потом макрос, потом подправил макрос с учетом вашего комментария, а формулу - запамятовал. Спешу исправить оплошность:
Nic70y, простите великодушно не доглядел. Вначале сделал формулу, потом макрос, потом подправил макрос с учетом вашего комментария, а формулу - запамятовал. Спешу исправить оплошность:
Sub uuu() Dim Cel As Range For Each Cel In Range("A1:A" & Cells(Rows.Count, 1).End(xlUp).Row) If Cel <> "" Then Cel.Value = Chr(34) & Cel.Value & Chr(34) Next End Sub
[/vba]
[vba]
Код
Sub uuu() Dim Cel As Range For Each Cel In Range("A1:A" & Cells(Rows.Count, 1).End(xlUp).Row) If Cel <> "" Then Cel.Value = Chr(34) & Cel.Value & Chr(34) Next End Sub