Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Добавка макросом к введенному числу дня - текущие месяц и год
 
Здравствуйте, специалисты по экселю.

Имеется макрос, который по событию ВоркшитЧендж - должен вводить в ячейку дату.
Однако этот макрос - вводит не текущую дату, а ".01.1900"
То есть дату столетней давности.
Код
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Column <> 9 Then Exit Sub
  On Error GoTo 1
  Application.EnableEvents = False
  Target = CDate(Target)
1 Application.EnableEvents = True
End Sub
Как изменить этот макрос - чтобы он к введенному числу - добавлял текущие месяц и год ?
Какой командой останавливается макрос при ошибке
 
Доброе утро,

Подскажите - как остановить макрос при возникновении ошибки?
То есть если возникает ситуация ошибки, то запускается что-то вроде On Error Resume Next, которая вызывает Exit Sub

Только On Error Resume Next - не останавливает макрос, а как бы продолжает его дальше, игнорируя ошибку,
а мне нужно чтобы запускался Exit Sub
Преобразование текста в дату по событию WorksheetsChange
 
Добрый вечер.

Скажите как навесить на столбец I - событие ВоркшитЧендж, так чтобы при вводе в ячейку этого столбца - текста "к 3 Апреля" - макрос преобразовывал бы этот текст в дату 03.04.2019 в этой ячейке ?

При этом формат - останется таким же, то есть будет виден текст "к 3 Апреля".
Можно ли в макросе один раз указать, что он применяется только к определенной книге
 
Доброй ночи друзья.
Появился вопрос теоретического свойства.

В книге - очень-очень много где расставлено указаний на ячейки в стиле [A1], [B1] и т.д.
Я хочу как бы к конкретной книге все это большое количество адресов привязать.

Можно ли как нибудь в макросе - один раз указать, что все эти ссылки - действуют только на одну книгу - "Книга1" ?

Вместо того, чтобы неделю добавлять ссылки по всем макросам в стиле- Application.Workbooks("Книга1.xls").Sheets("Лист3").
Присоединение к команде Application.OnTime - названия рабочей книги
 
Доброго времени суток всем.

Скажите - как привязать к строчке кода
Код
Application.OnTime Now + [E10], "Макрос1"
Название рабочей книги, в которой макрос должен выполняться ?
Дело в том, что на момент работы кода - открыто несколько книг.

Книга называется :
Application.Workbooks("Книга1.xls")

Как присоединить это название рабочей книги - к данной строчке с Application.OnTime ?
Как надежно отключить таймер в макросе
 
Доброго вечера всем.
Помогите решить непростой вопрос.

Вопрос касается операции со временем.
Макрос устанавливает таймер на 7 секунд.
Я делаю следующие операции - жму на кнопку "включить таймер", затем выжидаю пару секунд и жму на кнопку "выключить таймер".
Затем закрываю рабочую книгу.
Но тут происходит следующее:
Через 5 секунд эта закрытая книга - сама собой открывается и макрос в нем - продолжает работать по таймеру.
Такое ощущение, что после нажатия на кнопку отключения и закрытия книги - таймер каким-то образом продолжил свою работу.

Как надежно отключить таймер, чтобы он намертво вырубался и начинал работать только тогда - когда я вновь нажму на кнопку "включить таймер" ?

То есть если запустить таймер, выждать секунду, отключить таймер и закрыть книгу - чтобы эта книга не открывалась бы сама по себе.
Причем не нужно ставить каких-то скриптов на событие "закрытия книги".
Таймер должен надежно отключатся именно кнопкой.

Макрос выглядит так:
Код
Option Explicit

Private boolStop As Boolean

Sub Включить_таймер()
    boolStop = False
    Вставить_данные
End Sub

Private Sub Вставить_данные()
    
    Dim lr As Long
    
    If boolStop = True Then
        Exit Sub
    End If
    
    lr = Cells(Rows.Count, "C").End(xlUp).Row
    If lr = 1 Then
        If Range("C1").Value <> "" Then
            lr = lr + 1
        End If
    Else
        lr = lr + 1
    End If
    
    Cells(lr, "C").Value = Range("A1").Value + (Range("B1").Value * lr - Range("B1").Value)
    
    Application.OnTime Now + TimeValue("00:00:05"), "Вставить_данные"
Макрос7
End Sub

Sub Выключить_таймер()
    boolStop = True
End Sub
Изменено: OlegSmirnov - 16 Мар 2019 00:22:30
Выставка в ячейку - адреса случайной ячейки из диапазона
 
Добрый вечер, уважаемые признанные мастера ВБА.

Подскажите с решением проблемы по - рандомной операции. Как вставить я ячейку случайное число - я знаю. А вот как выбрать случайное нечисловое значение класса Range - непонятно.

Есть на листе диапазон C4:I23
Как в ячейку K4 вставить адрес случайной ячейки из этого диапазона ?
Сведение в ячейку - слов, начинающихся с буквы "А" и заканчивающихся символами "+" или ","
 
Здравствуйте, дорогие друзья.
У меня возник вопрос...

В ячейку C7 вписан абстрактный текст, примерно вот такого содержания:
et344h h34f8734n 8778  A1текст+А4слово, f347fg3478fb83 fb64f 63f 3fb634gf346 fbf34bf6 634fb34bf А2слово, 783bf b4f4fb43f bf34 b3fb347fb A8образец, 3fb3 fb3 f3847fb b3

Как вы можете заметить - в тексте встречается текст с таким отличительным признаком - сперва идет буква "А", потом какое-то число, а потом некое слово.
А по правую сторону каждого подобного слова - стоит либо "+", либо запятая ","

Так вот вопрос - как формулой или макросом сложить числа из однотипного текста и вписать полученный результат - в ячейку C10 ?

Примерно в ячейке C10 должен получится вот такой результат - "A1текст+А6слово+A8образец"
Имитация формулы ОКРУГЛТ() в виде макроса
 
Здравствуйте.

Есть такая формула ОКРУГЛТ - это округление числа - до определенного числа разрядов. Например 1284 - будет округлено до 1200 - данной формулой.
Посоветуйте - как сымитировать вот эту формулу - в виде макроса (там еще формула случайного числа есть)  ?
Код
=ОКРУГЛТ(Y8*СЛЧИС();100)
Удаление определенного текста из списка
 
Утро доброе.
Помогите с решением проблемы.

В столбце C4:C18 записан текст.
В ячейке E20 - указан текст, который содержится в этом списке (в одной из ячеек данного списка).

Как удалить данный текст (что находится в E20) из списка C4:C18, со сдвигом остальных элементов списка вверх (чтобы список оставался неразрывным) ?
Проведение фигуры-стрелки без сбивания начальной координаты.
 
Здравствуйте.
Пытаюсь протянуть фигуру-стрелку между двумя точками.
Что то-не получается.

Стрелка как бы поворачивается и протягивает, но при этом сбивается начальная координата отрисовки.
Как сделать, чтобы начальная координата стрелки - не сбивалась
Выдает сообщение: "Эта книга содержит внедренные объекты. Вероятно приложению Эксель не удастся удалить из них - персональные данные."
 
Здравствуйте.

Эксель написал мне, при сохранении файла:
"Эта книга содержит внедренные объекты. Вероятно приложению Эксель не удастся удалить из них - персональные данные."

Почему появляется это сообщение, в чем причина - и что вообще оно означает ?
Изменено: OlegSmirnov - 19 Янв 2019 23:25:05
Как сделать текст в ячейках невидимым
 
Здравствуйте.
На листе много-много ячеек с разной заливкой.
Как макросом сделать текст (или цифры) в ячейках невидимым ?

Чтобы он был, но не отображался визуально.
Уменьшение шрифта - не помогает - все равно текст остается немного видим (в виде точки).
Макрос выделяет ячейку в процессе работы
 
Вечер добрый.
Простой вроде вопрос.
А сам что-то никак не догадаюсь.

Вот макрос:
Код
Sub Макрос1()
    [F19].Copy
    [F19].PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
End Sub
Он заменяет содержимое ячейки F19 с формулой - на значение (взятое из самой себя - то есть из той же ячейки F19)
Но этот макрос - выделяет ячейку F19, в результате своей работы.

Как сделать так, чтобы макрос - выполнял эти операции, не выделяя эту ячейку ?
(Чтобы курсор оставался бы там где был)
Как заморозить вычисления в одной ячейке на листе.
 
Здравствуйте.
Ответьте - можно ли заморозить одну ячейку с формулой ?

То есть чтобы все формулы реагировали на пересчет листа, а одна ячейка - была бы замороженной.
Конкретно на Листе3 надо заморозить вычисления в ячейке F19.
Как макросом удалить самый первый символ текстовой строки в ячейке - в том случае если он является символом "-" или символом "+"
 
Здравствуйте. Подскажите ответ на такой вопрос:
В ячейке B7 - есть текстовая строка, которая может выглядеть как "-rtdk5-v" или как "+rtdk5-v"

Как макросом удалить самый первый символ этой текстовой строки в ячейке B7 - в том случае если он является символом "-" или символом "+"  ?
Определение положения точки на диаграмме, используя только данные отображенные на самой диаграмме
 
Здравствуйте.
Уже задавал подобный вопрос, но мне сказали что непонятно объясняю. Поэтому пишу - более подробно.
Есть диаграмма. На ней - обычная ломаная линия и точка.

Как макросом определить положение точки на диаграмме - используя для этого только данные, отображенные на самой диаграмме (а не данные в ячейках B4:C14 и E4:F4 по которым эта диаграмма строится) ?
И вывести результат - в ячейку D24 (то есть текст : "ВЫШЕ", "НИЖЕ" или "НАРАВНЕ")

Смысл такой: В моем примере - точка имеет ординату 6, а узел линии по той же абсциссе что и точка - имеет ординату 4.
6 > 4 , значит точка выше линии.

Для решения - можно использовать такой кусок кода:
Код
Set dg = ActiveSheet.ChartObjects("Диаграмма 1")
    Set sc = dg.Chart.SeriesCollection(2)
    yv = sc.Values
    xv = sc.XValues
    y = yv(1)
    x = xv(1)
Определение положения точки на диаграмме, используя только саму диаграмму
 
Добрый день.
Подскажите решение.

Есть диаграмма.
На ней - обычная ломаная линия и точка.

Как макросом определить положение точки на диаграмме - используя для этого только саму диаграмму (а не данные в ячейках B4:C14 и E4:F4 по которым эта диаграмма строится) ?
И вывести результат - в ячейку D24 (то есть текст : ВЫШЕ, НИЖЕ или НАРАВНЕ)

Для решения - можно использовать такой кусок кода:
Код
Set dg = ActiveSheet.ChartObjects("Диаграмма 1")
    Set sc = dg.Chart.SeriesCollection(2)
    yv = sc.Values
    xv = sc.XValues
    y = yv(1)
    x = xv(1)
Поиск по листам экселя - ключевых слов и вывод найденного текста в таблицу
 
Здравствуйте.
Помогите решить проблему.
Вопрос такой:     В файле эксель - несколько листов
На листе "поиск" - в ячейку введены ключевые слова для поиска (введены через пробел)

Как макросом осуществить поиск по остальным листам - текстов с этими несколькими ключевыми словами ?

В столбец B6:B14 - выводится количество совпадений ключевых слов. (например если в тексте есть только одно ключевое слово - то значит совпадений 1,  если встречаются все три слова - значит совпадений 3)
В столбец C6:C14 - выводятся сами найденные тексты.
Единократное срабатывание макроса по пересчету листа
 
Добрый вечер.
У меня есть вопрос.

Имеется три простых макроса.
Первый добавляет в ячейку А1 пятерку, второй добавляет в ячейку E1 - тройку.
Третий макрос - добавляет в ячейку B1 - единицу.
В ячейке A3 - стоит формула Случмежду.

Как при пересчете листа добиться, чтобы сработали эти три макроса - единократно ?

То есть суть такая - при выполнении этих трех макросов - эксель не должен воспринять их как три пересчета листа.
Он должен просто при пересчете - прибавить в А1 - пятерку, в E1 - тройку, в B1 - единицу.... и формула случмежду - должна сработать лишь один раз.
Выпадающий элемент формы "Список" - по двойному щелчку по ячейке.
 
Здравствуйте люди.

Есть макрос - создания выпадающего списка по двойному клику.
По двойному клику - в любой ячейке серого столбца - появляется выпадающий список.


Но сейчас окно этого списка - слишком уж короткое. Если список длинный - это настоящее мучение его прокручивать

Подскажите - как по двойному щелчку - размещать в ячейке серого столбца - элемент формы "Список" (вместо того списка, который выпадает сейчас) ?
(Элемент формы "Список" - это тот, который находится в меню Разработчик ->  "элементы управления формы" )
Теоретический вопрос про Application.ScreenUpdating
 
Приветствую, народ.
Вопрос тут у меня.... теоретического содержания.

Что будет если ввести  Application.ScreenUpdating = False   но не вернуть в конце кода Application.ScreenUpdating = True  ??   Что произойдет, какие будут неполадки ?
Промежуточные координаты крайних фигур (у множества фигур)
 
Вечер добрый, экселевских дел мастера.
Помогите решить непростой вопрос.

Есть макрос, который для множества автофигур на листе - определяет координаты крайних - верхней,нижней,правой и левой фигуры.

Как заставить этот макрос - определить координаты крайних фигур по направлениям - право-верх, право-низ, лево-низ, лево-верх?
(Эти направления - я называю неортогональными, поскольку они направлены - по диагонали)
Цвет под линией - заливается лишь частично - при малом угле наклона
 
Добрый день, господа программисты.
Помогите решить вопрос.

На листе располагается линия.
При щелчке на кнопку макроса - все ячейки под линией закрашиваются желтым цветом.
Однако данный макрос - способен залить ячейки лишь при условии большого угла наклона этой линии - к горизонтали.
Если же наклон линии к горизонтали небольшой (то есть линия - почти близка к горизонтальной) - ячейки под линией закрашиваются лишь частично.
А если линия - горизонтальная, то ячейки и вовсе не закрашиваются.

Как макросом - заливать все ячейки ячейки при малом наклоне линии или горизонтали - не частично (как в примере) - а без пропусков ?
Плавное увеличение картинки, одновременно с плавным увеличением числа в ячейке
 
Добрый вечер, форумчане. Помогите решить непростой технический вопрос.

У меня есть макрос плавного увеличения-уменьшения картинок при наведении на них курсора мышки.
Также этот макрос при наведении курсора на картинку - запускает плавное увеличение числа в зеленой ячейке "F3" - от 0 до 100.
Если убрать курсор с картинки - то картинка плавно уменьшается одновременно с плавным уменьшением числа в зеленой ячейке "F3".

Но проблема в том, что увеличение картинки и числа в ячейке "F3" - идет несинхронно, рывками.
Как заставить макрос при наведении курсора - плавно увеличить картинку одновременно с плавным увеличением числа в ячейке "F3" от 0 до 100 ?
 
Вставка картинки из файла в автофигуру - с сохранением пропорций
 
Доброе утро, форумчане. Помогите разобраться с проблемой.

В папке есть файл jpg.
На листе располагается автофигура (Прямоугольник).
В ячейке I4 - находится адрес файла jpg.
Если вставлять рисунок - как заливку автофигуры, то автофигура норовит растянуть ее под свой размер.

Подскажите, как макросом заставить рисунок - вставиться в автофигуру как заливка - с сохранением пропорций?
(То есть автофигура - должна растягиваться только по большей стороне и с сохранением пропорций.)
Как макросом покрасить все ячейки, находящиеся под линией?
 
Добрый день, гуру экселя.
Помогите решить вопрос.

На листе нарисована прямая линия.
Как заставить макрос -  найти все ячейки, пересекаемые - нарисованной на листе линией (линия имеет две общие точки с прямоугольником ячейки), и залить их цветом (например желтым) ?
Изменено: OlegSmirnov - 11 Авг 2017 14:11:13
Извлечение макросом не только цифр, но и текста - из ячеек, соседних с целевыми.
 
Доброе утро, уважаемые программисты.
Помогите решить вопрос с макросом.

У меня есть макрос поиска содержимого соседних ячеек по целевому слову (которое записано в ячейке F7, листа4)
Данные слова - находятся в целевых желтых,красных,синих ячейках - по всей книге.
Поиск идет - по тем зеленым ячейкам, которые соседствуют (находятся в непосредственной близости) с целевыми ячейками.
Сейчас макрос вытаскивает из ячеек с целевым словом - только цифры, но не текст. (в данном случае - целевое слово "Один", а ячейки эти помечены желтым)
Подскажите - как заставить макрос - извлекать не только числа, но еще и текст ?
(то есть если в зеленой ячейке, находящейся по соседству с желтой - стоит не число, а текст - то он тоже будет занесен в столбец F8:F30)
Как запретить на некоторых листах изменение масштаба.
 
Здравствуйте, форумчане.
Помогите разобраться.

Хочу запретить на одном листе рабочей книги - изменение масштаба.
Речь идет именно о запрете изменения масштаба.
У меня был макрос, который при переходе на этот лист - выставляет размер 100%. Однако находясь на самом листе - масштаб по-прежнему можно менять... так что этот вариант не подошел.

Как запретить на одном листе изменение масштаба ?
Страницы: 1
Наверх