Страницы: 1
RSS
макрос для удаления формул
 
Доброе всем время суток!  
 
Необходима помощь: требуется макрос для удаления ТОЛЬКО ФОРМУЛ (значения должны остаться).  
Есть строка, в которой есть и формулы и значения - необходимо удалить все формулы левее выделенной ячейки. Пример: строка S16-BW16, выделена ячейка Z16, необходимо удалить только формулы из диапазона S16-Y16
 
{quote}{login=The_Prist}{date=26.02.2010 06:08}{thema=Re: макрос для удаления формул}{post}{quote}{login=poll69}{date=26.02.2010 06:05}{thema=макрос для удаления формул}{post}Пример: строка S16-BW16, выделена ячейка Z16, необходимо удалить только формулы из диапазона S16-Y16{/post}{/quote}Здрасьте. Ну и примерчик!  
строка S16-BW16  
выделена Z16  
удалить S16-Y16  
 
На фиг тогда нам знать про BW16?  
В любом случае, вот код, который удалить все формулы, не затрагивая константы, в выделенном диапазоне.  
 
Selection.Specialcells(xlFormulas).ClearContents{/post}{/quote}  
 
До указанного диапазона (т.е. A16-R16) и после выделенной ячейки (в примере это Z16 и соответственно диапазон AA16-BW16) ничего удалять не надо! Извиняюсь, что не внятно выразился :), ну вот еще и пример:
 
Выделяем ЯЧЕЙКИ, в которых нужно удалить формулы... А Вы только одну выделяете.
 
{quote}{login=Юрий М}{date=26.02.2010 08:18}{thema=}{post}Выделяем ЯЧЕЙКИ, в которых нужно удалить формулы... А Вы только одну выделяете.{/post}{/quote}  
 
В единичном случае - да, но таблицы большие и работа эта постоянная, да и операторы ПК... Очевидно по моим условиям решения нет, будем искать обходные пути. Умный в гору не пойдет - умный гору обойдет :) Спасибо всем!
 
{quote}{login=poll69}{date=27.02.2010 06:27}{thema=Re:}{post}{quote}{login=Юрий М}{date=26.02.2010 08:18}{thema=}{post}Выделяем ЯЧЕЙКИ, в которых нужно удалить формулы... А Вы только одну выделяете.{/post}{/quote}  
 
В единичном случае - да, но таблицы большие и работа эта постоянная, да и операторы ПК... Очевидно по моим условиям решения нет, будем искать обходные пути. Умный в гору не пойдет - умный гору обойдет :) Спасибо всем!{/post}{/quote}  
 
Про обходные пути -    
Записал такой макрос:  
Sub ()  
   Selection.Copy  
   Sheets("подсобка").Select  
   Range("B2").Select  
   ActiveSheet.Paste  
   Sheets("L4_310").Select  
End Sub  
Копирует содержимое выделенной ячейки и вставляет в определенную ячейку на другой лист.  
Но не могу сообразить как  этим же макросом из пересечения строки "4" и этого же столбика (где выделена ячейка)скопировать значения в ячейку "А2" листа "подсобка"
 
{quote}{login=poll69}{date=27.02.2010 07:27}{thema=Re: Re:}{post}{quote}{login=poll69}{date=27.02.2010 06:27}{thema=Re:}{post}{quote}{login=Юрий М}{date=26.02.2010 08:18}{thema=}{post}Выделяем ЯЧЕЙКИ, в которых нужно удалить формулы... А Вы только одну выделяете.{/post}{/quote}  
 
В единичном случае - да, но таблицы большие и работа эта постоянная, да и операторы ПК... Очевидно по моим условиям решения нет, будем искать обходные пути. Умный в гору не пойдет - умный гору обойдет :) Спасибо всем!{/post}{/quote}  
 
Про обходные пути -    
Записал такой макрос:  
Sub ()  
   Selection.Copy  
   Sheets("подсобка").Select  
   Range("B2").Select  
   ActiveSheet.Paste  
   Sheets("L4_310").Select  
End Sub  
Копирует содержимое выделенной ячейки и вставляет в определенную ячейку на другой лист.  
Но не могу сообразить как  этим же макросом из пересечения строки "4" и этого же столбика (где выделена ячейка)скопировать значения в ячейку "А2" листа "подсобка"{/post}{/quote}  
 
Ура! получилось, может кому пригодится:  
Sub перенос_значений()  
  Application.ScreenUpdating = False  
         
   Selection.Copy  
   Sheets("Лист2").Select  
   Range("B2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _  
       :=False, Transpose:=False  
Sheets("Лист1").Select  
ActiveCell.Offset(-10, 0).Select  
Selection.Copy  
Sheets("Лист1").Select  
Range("A2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _  
       :=False, Transpose:=False  
Sheets("Лист1").Select  
         
Application.ScreenUpdating = True  
End Sub  
 
На листе выделена ячейка. Макрос копирует ЗНАЧЕНИЕ из этой ячейки в ячейку В2 и значение из ячейки выше выделенной на 10 строк и вставляет в А2. Все вставляется на другой лист.
 
Дим, опять проблема с формулировкой - как выяснилось из файла,- автору требовалось заменить результаты на значения :-)
 
Уважаемые Юрий М и The_Prist!  
 
По порядку:  
Есть некая таблица "А" (строки - это недели в году)в каждой ячейки которой - формула. Эти формулы берут и обрабатывают значения (в соответствии заданному УСЛОВИЮ) из таблицы "В". Работает замечательно, но при ручной коррекции значений в ячейках таблицы "А" меняются соответствующие параметры таблицы "В" (так и задумано - дальше, т.е. на следующие недели года нужны данные с учетом коррекции )и все значения в строке до этой ячейки (текущей недели)тоже меняются. Вот и надо было из всех ячеек заданного общего диапазона до текущей коррекции удалять только формулы, а что введено в ручную - оставлять.    
   Пока писал сам почти запутался.  
Дальше про обходной путь: раз так не получилось - допер, что правильнее менять УСЛОВИЕ в соответствии с новыми данными и тогда формулы их обработать уже не будут (ВПР ИСТИНА их почуять не сможет), поэтому и возникла необходимость в одновременном (одним макросом) копировании из двух ячеек в таблицу, в к-ой формируются УСЛОВИЯ.  
    Сам запутался и Людей запутал.  
 
В общем, все мои обращения на сей уважаемый форум (еще с января)направлены на выполнение одного замечательного и большого проекта. Благодаря Вам задача эта стала для меня вполне решаемой. Спасибо! Искренне надеюсь на продолжение общения.
Страницы: 1
Читают тему
Наверх