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

Страницы: 1 2 3 4 5 6 7 8 9 10 След.
Пересчет листа по кнопке
 
asesja, спасибо
Пересчет листа по кнопке
 
Добрый день. Помогите с макросом.
В книге два листа.
И везде работает автоматический пересчет листа.

Как отключить автоматический пересчет листа на одном листе - "Sheet2" и выполнять его только по кнопке (расположенной на листе "Sheet1").
Как удалить содержимое ячейки, зная ссылку на нее - в другой ячейке
 
Спасибо за ответы
Как удалить содержимое ячейки, зная ссылку на нее - в другой ячейке
 
Здравствуйте.
Подскажите насчет макроса.

В ячейке I9 записана формула   =лист675!G20  (которая получается просто ведет на другую ячейку.)

Как переделать макрос:
Код
Sub Макрос1()
    Range("I9:I11").Select
    Selection.ClearContents
End Sub

Так чтобы он удалял не содержимое ячейки I9, а содержимое той ячейки на которую данная ячейка ссылается ?

(Видимо макрос должен заглянуть в ячейку I9, понять на какую ячейку там стоит ссылка - и удалить содержимое - той "ссылочной" ячейки.  Сейчас в макросе - указана только целевая ячейка I9 - работать можно только по этому адресу)
Заполнение диапазона на листе - усредненными значениями
 
Здравствуйте.
Подскажите кто знает - как поправить макрос.

Макрос заполняет усредненными значениями ячейки, которые находятся между трех закрашенных ячеек.
Но у меня этих ячеек, не три, а большее количество.
Как поменять макрос, чтобы он заполнял все треугольные области, а не только одну ?

Вот такое решение не подходит:
Код
Sub Пример()
    With ActiveSheet
        TriangleInterpol2 .Cells(13, "D"), .Cells(10, "S"), .Cells(21, "P")
        TriangleInterpol2 .Cells(10, "S"), .Cells(24, "AA"), .Cells(21, "P")
        TriangleInterpol2 .Cells(24, "AA"), .Cells(35, "G"), .Cells(21, "P")
        TriangleInterpol2 .Cells(35, "G"), .Cells(13, "D"), .Cells(21, "P")
    End With
End Sub


Поскольку изначальные ячейки могут стоять где угодно - а не только в Cells(13, "D"), .Cells(10, "S"), .Cells(21, "P") и т.д.
И макрос нужно запустить только один раз, а не несколько.
Как изменить выпадающий список средствами VBA
 
sokol92, нет это не подходит.
При щелчке по ячейке - бегунок куда-то в сторону отпрыгивает и его становится не очень видно и соответственно неудобно пользоваться.
Он не объединяет несколько диапазонов, не растягивается по высоте, не убирает пробелы.

Вот нашел элемент ActiveX, который более менее широкий.
Но как объединить два диапазона для списка, и убрать пробелы в этом списке (без каких-то дополнительных столбцов) и по высоте растянуть  ?
Как изменить выпадающий список средствами VBA
 
Здравствуйте.
Я столкнулся с проблемой. Помогите ее решить.

Есть стандартный выпадающий список (инструмент "Данные->Проверка данных"), на который назначен диапазон (помечен красным шрифтом).
Но в диапазоне есть пустые места - и в выпадающем списке тоже появляются пустые позиции.

Еще в диапазоне вписан местами текст довольно длинный, и этот текст не влезает в список - по ширине.
Также этот список по высоте довольно маленький и очень неудобно его прокручивать.
И как в список включить данные из нескольких диапазонов (существующий - не дает добавить несколько диапазонов, только один).

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

Как макросом - навесить на событие "сохранение книги" - еще дополнительный макрос бэкапирования ?
Который бы сохранял эту книгу - еще и по адресу указанному в ячейке A6 (если такого адреса не существует, то создать такой каталог и бэкапировать там)
Заполнение усредненными числами - области внутри треугольника
 
testuser, спасибо
Заполнение усредненными числами - области внутри треугольника
 
Подскажите, как вот в этом макросе - удалить лишние цифры, выходящие за пределы треугольной области ?
Макрос уже все подсчитал, но лишние ячейки заполнил.
Заполнение усредненными числами - области внутри треугольника
 
doober,  конечная задача - определить числовое значение в произвольной области этого треугольника.
Разве не для этого интерполяцию проводят ?
Заполнение усредненными числами - области внутри треугольника
 
Как же решить - эту непростую задачу ?
Заполнение усредненными числами - области внутри треугольника
 
testuser, так вот же заголовок:
"Заполнение усредненными числами - области внутри треугольника"

Усредненными числами - это и есть интерполяция.
Заполнение усредненными числами - области внутри треугольника
 
Цитата
testuser написал:
назначения данного вида решения

Назначение - это интерполяция по площади.
Насчет треугольника - я в самом начале темы написал, что это треугольник.
Заполнение усредненными числами - области внутри треугольника
 
testuser,  Спасибо. Но у вас не треугольная область, а какая-то многоугольная получается.
То что выходит за пределы треугольной области - считать не надо.
Но если уже подсчитано - то нужно хотя бы удалить лишнее макросом.
Заполнение усредненными числами - области внутри треугольника
 
БМВ, да, если ячейка заполненная один раз, то ее больше не трогают.
Заполнение усредненными числами - области внутри треугольника
 
Тогда вот так:
Пусть к серединам проводятся отрезки только один раз - для получения трех крайних точек, лежащих на гранях треугольника.
Дальнейшие линии из точек отводятся не к серединам отрезков, а ко всем другим точкам.

Так линии распределятся по всему треугольнику ( и не устремятся в его центр)
Заполнение усредненными числами - области внутри треугольника
 
Цитата
БМВ написал:
вы получите бесконечно е количество значений.
Отчего же ?
Ведь рано или поздно ячейки внутри треугольника заполнятся числами.
Тогда и нужно остановить алгоритм.
Цитата
БМВ написал:
На плоскости будет бесконечное количество чисел, которые в результате не будут видны из-за наложения.
Я наверное неправильно объяснил.
Нужно не весь лист заполнить числами, а только область внутри треугольника.
Наложения там никакого не будет, потому что если в рассматриваемой ячейке уже есть какое-то число - то макрос пропускает ее и идет дальше.
Заполнение усредненными числами - области внутри треугольника
 
Помогите мне, пожалуйста решить эту задачу.
Если кто разбирается в программировании.
Заполнение усредненными числами - области внутри треугольника
 
Добрый день. Помогите выполнить алгоритм в экселе с помощью VBA.

Сперва на листе экселя есть только три зеленые точки треугольника - в виде числовых величин (это исходные данные).
Нужно заполнить область внутри этого треугольника - усредненными значениями.
1) Определяются средние арифметические - в серединах сторон треугольника (желтые ячейки)
2) Затем от этих желтых точек проводятся линии к другим известным точкам и определяются усредненные значения уже там (оранжевые ячейки).
3) Аналогичным образом проводимых линий становится все больше и определяются все усредненные значения внутри внутри области треугольника.

Алгоритм примерно такой:
Код
Sub TEST()
    Dim RngA As Range, RngB As Range, RngC As Range
    Dim Ax#, Ay#, Bx#, By#, Cx#, Cy#
    
    Sheets.Add
    Cells.RowHeight = 12.75
    Cells.ColumnWidth = 2.29
    
    Set RngA = Cells(13, 17)
    Set RngB = Cells(10, 32)
    Set RngC = Cells(21, 29)
    RngA.Interior.Color = vbGreen: RngA.Value = 12
    RngB.Interior.Color = vbGreen: RngB.Value = 35
    RngC.Interior.Color = vbGreen: RngC.Value = -8
    
    Ax = (RngA.Left + RngA.Offset(0, 1).Left) / 2
    Ay = (RngA.Top + RngA.Offset(1, 0).Top) / 2
    Bx = (RngB.Left + RngB.Offset(0, 1).Left) / 2
    By = (RngB.Top + RngB.Offset(1, 0).Top) / 2
    Cx = (RngC.Left + RngC.Offset(0, 1).Left) / 2
    Cy = (RngC.Top + RngC.Offset(1, 0).Top) / 2
      
    With ActiveSheet.Shapes
        .AddConnector(msoConnectorStraight, Ax, Ay, Bx, By).Select
        .AddConnector(msoConnectorStraight, Bx, By, Cx, Cy).Select
        .AddConnector(msoConnectorStraight, Cx, Cy, Ax, Ay).Select
    End With
     
    Call CentrOtrezka(Ax, Ay, Bx, By, RngA.Value, RngB.Value)
    Call CentrOtrezka(Bx, By, Cx, Cy, RngB.Value, RngC.Value)
    Call CentrOtrezka(Cx, Cy, Ax, Ay, RngC.Value, RngA.Value)
    
End Sub
 
Sub CentrOtrezka(x1#, y1#, x2#, y2#, v1&, v2&)
    Dim x#, y#
    x = (x1 + x2) / 2
    y = (y1 + y2) / 2
 
    With ActiveSheet.Shapes.AddLine(x, y, x, y)
        .TopLeftCell.Select
        .Delete
    End With
    Selection.Interior.Color = vbYellow
    Selection.Value = CLng((v1 + v2) / 2)
End Sub
Как макросом заполнить пустые ячейки внутри таблицы
 
Ігор Гончаренко,  есть ли какие-нибудь успехи ?
Как макросом заполнить пустые ячейки внутри таблицы
 
Понятно.
Как макросом заполнить пустые ячейки внутри таблицы
 
Кто-нибудь знает как это сделать макросом ?
Как макросом заполнить пустые ячейки внутри таблицы
 
Цитата
Jack Famous написал:
Прогноз. Как заполнить пропуски в данных по неизвестной закономерности при имеющихся соседних данных
Посмотрел ссылку. Но там везде - идет речь о линейной интерполяции.
А у меня - речь идет о поверхности.
Цитата
Jack Famous написал:
по сути, это просто уравнение прямой по 2ум точкам на ней. Зная уравнение можно продолжать прямую в обе стороны и/или находить любые точки на ней.
Нужно чтобы было как на рисунке.
Как мне кажется - для имеющейся таблицы данных - нужно построить отдельные  линии (в количестве по числу рядов таблицы) - как кусочно-линейную интерполяцию (или куб.сплайн).
Потом так же построить отдельные линии (взяв на этот раз уже столбцы таблицы) - тоже как кусочно линейную-интерполяцию (или куб.сплайн).
Таким образом получится две одинаковые таблицы, но с разными числами в ячейках.
Затем нужно просто сделать совмещение этих таблиц - как среднее арифметическое  (ТАБЛИЦА1+ТАБЛИЦА2)/2
Добавил файлы примеры - как для одного ряда сделать интерполяцию кубическим сплайном. Только мне получается - нужно этот кубический сплайн применить для нескольких рядов по строкам и по столбцам таблицы.
Изменено: Dalm - 08.08.2023 02:03:13
Как макросом заполнить пустые ячейки внутри таблицы
 
Я нашел вот такой алгоритм:
https://russianblogs.com/article/1593838408/

Там даже код есть, только я не знаю на каком языке.
Вот как бы это все в vba перенести.
Как макросом заполнить пустые ячейки внутри таблицы
 
Так что же делать ?
Как решить мою задачу ?
Там же в исходных данных - всего 9 исходных точек известно.
Как макросом заполнить пустые ячейки внутри таблицы
 
Цитата
Ігор Гончаренко написал:
да это готовый макрос, который записывает координаты пересечения прямых заданных индексами точек Р1, Р2 и Р3, Р4 массива Р as Point в нулевой элемент этого массива,
Что-то у меня не получается его к кнопке прицепить.
Как макросом заполнить пустые ячейки внутри таблицы
 
Это билинейная интерполяция - в этом макросе ?

https://ru.wikipedia.org/wiki/%D0%91%D0%B8%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0­%B0%D1%8F_%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D0%BF%D0%BE%D0%BB%D­1%8F%D1%86%D0%B8%D1%8F

Или что-то другое ?
Как макросом заполнить пустые ячейки внутри таблицы
 
А вот этот код - это уже готовый макрос ?
Страницы: 1 2 3 4 5 6 7 8 9 10 След.
Наверх