Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Макрос на замену порядка слов
 
Добрый день всем!  
 
Уже давно этот форум радует меня всевозможными ответами по использованию excel, спасибо вам, что вы есть! Но вот подошла необходимость и самому поучаствовать в обсуждениях, буду рад помощи)    
 
У меня есть таблица с огромным количеством (несколько тысяч) названий, в которых местами перепутаны слова. Я хотел бы написать макрос, который бы менял слова местами. Посколько макросы никогда не писал, столкнулся с проблемой: для одной ячейки написать было несложно, но вот сделать так, чтобы макрос применялся к любой другой ячейке, на которую я покажу - не получается.  
 
Что я делаю в макросе - применяю "текст по столбцам" для необходимой ячейки, а потом просто в нужном порядке копирую слова из получившихся ячеек в изначальную.  
Я бы хотел, чтобы макрос не был привязан к конкретным ячейкам. Я бы хотел, чтобы он работал, исходя из того, какая ячейка выбрана Сейчас.  
Я так понимаю, здесь "Destination:=Range("D366")" нужно как-то написать "текущая ячейка", а также потом когда произошла разбивка на ячейки, не привязывать макрос к конкретным ссылкам...  
 
 
 
Sub ThreeWords()  
'  
' ThreeWords Макрос  
' замена порядка слов  
'  
' Сочетания клавиш: Ctrl+q  
'  
   Selection.TextToColumns Destination:=Range("D366"), DataType:=xlDelimited, _  
       TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=False, _  
       Semicolon:=False, Comma:=False, Space:=True, Other:=False, FieldInfo _  
       :=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1)), TrailingMinusNumbers:= _  
       True  
   Range("F366").Select  
   ActiveCell.FormulaR1C1 = "Andrea"  
   Range("D366").Select  
   ActiveCell.FormulaR1C1 = "Via Andrea"  
   Range("E366").Select  
   ActiveCell.FormulaR1C1 = "Brustolon"  
   Range("D366").Select  
   ActiveCell.FormulaR1C1 = "Via Andrea Brustolon "  
   Range("G366").Select  
   ActiveCell.FormulaR1C1 = "(Padova)"  
   Range("D366").Select  
   ActiveCell.FormulaR1C1 = "Via Andrea Brustolon (Padova)"  
   Range("E366:G366").Select  
   Selection.ClearContents  
End Sub  
 
 
Помогите, пожалуйста!    
Большое заранее спасибо)
Страницы: 1
Наверх