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

Страницы: 1 2 След.
После макроса не изменяется формат ячейки, После макроса не изменяется формат ячейки
 
Спасибо большое всем
После макроса не изменяется формат ячейки, После макроса не изменяется формат ячейки
 
капец, я вообще не понимаю как это сделать(  я понял что Cells это тип данных Variant вроди а дальше непонимаю((
После макроса не изменяется формат ячейки, После макроса не изменяется формат ячейки
 
а можно как сделать чтоб округление после запятой оставалось как было, а не до сотых например было 49,5445456 (124%), стало 49,5445456, пытаюсь найти как но не получается(((
После макроса не изменяется формат ячейки, После макроса не изменяется формат ячейки
 
Спасибо, только если в числе после запятой больше двух знаков например "49,5445456 (124%)" , после нажатия кнопки становится вот так "495445456"
После макроса не изменяется формат ячейки, После макроса не изменяется формат ячейки
 
Здравствуйте. Создал макрос с помощью записи макроса, который заменяет текст типа "49,54 (124%)" на число "49,54", но при нажатии макроса формат ячейки не меняется.
Код
Sub Макрос10()
'
' Макрос10 Макрос
'

'
    Cells.Replace What:="(*%)", Replacement:=" ", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
End Sub
Помогите как сделать чтобы после нажатия макроса формат ячейки становился числом
Сумма произведений из одного столбца по условиям
 
спасибо, а без дополнительных столбцов никак не получится сделать? мне нужно эту формулу вправо протянуть, это для каждого следующего столбца создавать еще дополнительный столбец нужно(
Сумма произведений из одного столбца по условиям
 
Здравствуйте, есть таблица где нужно посчитать сумму произведений по условиям. Данные находятся в одном столбце. Количество суммированных произведений может быть разное. Математический вид формулы имеет вид А1*А2+б1*б2+в1*в2+г1*г2+…..n1*n2. Вручную понятно как прописать формулу. при удалении ненужных строк формула вида (J7*J27+J10*J28+J16*J29+J21*J30) ломается. А вот сделать так чтобы она работала при разном количестве произведений не могу понять.
Ошибка при выборе диапазона аргументом функции
 
Спасибо большое, помогли
Ошибка при выборе диапазона аргументом функции
 

Здравствуйте, подскажите в чем ошибка в данной функции. При выборе диапазона аргументом "diap" появляется ошибка, если аргументом "diap" выбирать просто ячейку считает норм.

Код
Function Kt(Ki As Double, tk As Double, diap As Range) As Double


If Application.Count(diap = 1) Then
   Kt = Ki + tk

ElseIf Application.Count(diap = 2) Then
   Kt = (Ki + tk) * 2
ElseIf Application.Count(diap = 3) Then
   Kt = (Ki + tk) * 3
ElseIf Application.Count(diap = 4) Then
   Kt = (Ki + tk) * 4
End If


End Function
Изменено: vinaxel - 15.11.2021 18:40:53
[ Закрыто] Проблема с функцией, Проблема с функцией
 

Здравствуйте, подскажите в чем ошибка в данной функции. При выборе диапазона аргументом "diap" появляется ошибка, если аргументом "diap" выбирать просто ячейку считает норм.

Код
Function Kt(Ki As Double, tk As Double, diap As Range) As Double


If Application.Count(diap = 1) Then
    Kt = Ki + tk

ElseIf Application.Count(diap = 2) Then
    Kt = (Ki + tk) * 2
ElseIf Application.Count(diap = 3) Then
    Kt = (Ki + tk) * 3
ElseIf Application.Count(diap = 4) Then
    Kt = (Ki + tk) * 4
End If


End Function
Автоматическое нахождение точки пересечения графиков
 
У меня есть 4 графика постоянных, и 1 график который меняется в зависимости от расчетов (У=а*х2). Есть еще рабочая точка которая лежит на этом графике. В зависимости от "а"  график (У=а*х2) изменяется и соответственно рабочая точка меняет свое положение. Так вот надо найти точку (координаты х,у) пересечения графика (У=а*х2) с графиком находящимся выше рабочей точки. Графики нелинейные.
Автоматическое нахождение точки пересечения графиков
 
Доброе утро.
Помогите с графиками.

Нужно чтобы автоматически искалась точка пересечения динамического графика с графиком находящимся выше рабочей точки, и координаты записывались в ячейки.
Одна кнопка для скрыть/отобразить строки
 
vikttur, нет, отобразить то что скрыто этим же макросом. Просто неохота вторую кнопку делать на отобразить.
Одна кнопка для скрыть/отобразить строки
 
vikttur, я хочу что бы макрос не только скрывал строки, но еще и отображал их, если строки уже скрыты
Одна кнопка для скрыть/отобразить строки
 
Помогите пожалуйста дописать макрос. Чтобы он отображал строки если они уже скрыты, хочу сделать кнопку нажал один раз скрыл, второй раз - отобразил, и так далее
Код
Sub HideByConditionalFormattingColor()
    Dim cell As Range
    Application.ScreenUpdating = False
    For Each cell In ActiveSheet.UsedRange.Columns(1).Cells
        If cell.DisplayFormat.Interior.Color = Range("G2").DisplayFormat.Interior.Color Then cell.EntireRow.Hidden = True
    Next
    Application.ScreenUpdating = True
End Sub

Макрос удаления строк со словом "УДАЛИТЬ"
 
Mershik, после тестирований, я понял чем больше нужно удалить, тем макрос быстрее работает, (как я понял количество разных диапазонов меньше, и макрос не виснет), а вот если диапазонов очень много, то ексель виснет. это по макросу из #15
Изменено: vinaxel - 10.05.2020 14:06:04
Макрос удаления строк со словом "УДАЛИТЬ"
 
то что excel при работе макроса "не отвечает", это норм?
Макрос удаления строк со словом "УДАЛИТЬ"
 
Цитата
Mershik написал:
я же понимаю в никогда не писали макросы?
Правильно понимаете)
Макрос удаления строк со словом "УДАЛИТЬ"
 
Mershik, Что то типа такого должно быть?)
Код
Sub Макрос1()
Dim i As Long
Dim g As String
Dim rdel As Range, rdel2 As Range
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
ActiveSheet.DisplayPageBreaks = False
Application.DisplayAlerts = False
LR = Worksheets("Календарь добычи").Cells(Rows.Count, 4).End(xlUp).Row
    For i = LR To 7 Step -1
    If Worksheets("Календарь добычи").Cells(i, 4) = "УДАЛИТЬ" _
    Or Worksheets("Календарь добычи").Cells(i, 3) = "УДАЛИТЬ" _
    Or Worksheets("Календарь добычи").Cells(i, 2) = "УДАЛИТЬ" _
    Or Worksheets("Календарь добычи").Cells(i, 1) = "УДАЛИТЬ" Then
    If rdel Is Nothing Then
        Set rdel = Worksheets("Календарь добычи").Cells(i, 1)
    Else
        Set rdel = Union(rdel, Worksheets("Календарь добычи").Cells(i, 1))
    End If
        If rdel2 Is Nothing Then
        Set rdel2 = Worksheets("auto").Cells(i, 1)
    Else
        Set rdel2 = Union(rdel2, Worksheets("auto").Cells(i, 1))
    End If
     
    If Worksheets("Календарь добычи").Cells(i, 1) = "УДАЛИТЬ" Then
    If rdel Is Nothing Then
        Set rdel = Worksheets("Календарь добычи").Cells(i, 1)
    Else
        Set rdel = Union(rdel, Worksheets("Календарь добычи").Cells(i, 1))
    End If
        If rdel2 Is Nothing Then
        Set rdel2 = Worksheets("auto").Cells(i, 1)
    Else
        Set rdel2 = Union(rdel2, Worksheets("auto").Cells(i, 1))
    End If
    
    If Worksheets("Календарь добычи").Cells(i, 2) = "УДАЛИТЬ" Then
    If rdel Is Nothing Then
        Set rdel = Worksheets("Календарь добычи").Cells(i, 1)
    Else
        Set rdel = Union(rdel, Worksheets("Календарь добычи").Cells(i, 1))
    End If
        If rdel2 Is Nothing Then
        Set rdel2 = Worksheets("auto").Cells(i, 1)
    Else
        Set rdel2 = Union(rdel2, Worksheets("auto").Cells(i, 1))
    End If

    If Worksheets("Календарь добычи").Cells(i, 3) = "УДАЛИТЬ" Then
    If rdel Is Nothing Then
        Set rdel = Worksheets("Календарь добычи").Cells(i, 1)
    Else
        Set rdel = Union(rdel, Worksheets("Календарь добычи").Cells(i, 1))
    End If
        If rdel2 Is Nothing Then
        Set rdel2 = Worksheets("auto").Cells(i, 1)
    Else
        Set rdel2 = Union(rdel2, Worksheets("auto").Cells(i, 1))
    End If

    If Worksheets("Календарь добычи").Cells(i, 4) = "УДАЛИТЬ" Then
    If rdel Is Nothing Then
        Set rdel = Worksheets("Календарь добычи").Cells(i, 1)
    Else
        Set rdel = Union(rdel, Worksheets("Календарь добычи").Cells(i, 1))
    End If
        If rdel2 Is Nothing Then
        Set rdel2 = Worksheets("auto").Cells(i, 1)
    Else
        Set rdel2 = Union(rdel2, Worksheets("auto").Cells(i, 1))
    End If

    End If
    Next i
    If Worksheets("Календарь добычи").Range("D12") = "" Then
        Worksheets("Календарь добычи").Range("J:J").Delete
    End If
    If Worksheets("Календарь добычи").Range("D5") = "" Then
        Worksheets("Календарь добычи").Range("K:K").Delete
    End If
     
    If Not rdel Is Nothing Then rdel.EntireRow.Delete
    If Not rdel2 Is Nothing Then rdel2.EntireRow.Delete
     
    Worksheets("Календарь добычи").Range("A:D").Delete
    Application.ScreenUpdating = True
    Application.Calculation = xlCalculationAutomatic
    Application.EnableEvents = True
    Application.EnableEvents = True
    ActiveSheet.DisplayPageBreaks = True
End Sub
Макрос удаления строк со словом "УДАЛИТЬ"
 
Mershik, все таки лучше сделать я думаю последовательно сначала со столбца А, потом B, С, D.
Я думаю это ускорит макрос.
у меня в столбце А находится 10 пластов, в каждом пласте по 3 системы разработки (B), в каждой по две лицензии ©, и в каждой по 5 марок(D).
Вот если мы удалим хотя бы 1 пласт то это  упростит выполнение следующих столбцов.
если удалим 8 пластов (то это сразу удалятся 10000 строк) из всего 15000 строк.

Может быть и ошибаюсь, как макросы работают я незнаю(
Изменено: vinaxel - 10.05.2020 11:38:49
Макрос удаления строк со словом "УДАЛИТЬ"
 
Mershik, сейчас макрос сначала удаляет строки по столбцу А, потом B, С, D. Или сразу в 4 столбцах ищет?
Макрос удаления строк со словом "УДАЛИТЬ"
 
Столбец А, удаляет сразу все условия для столбцов B, C, D. то есть. столбец A сразу 70% ненужного удаляет.
Типа
В столбце А находятся данные из столбцов B, C, D.
В столбце B находятся данные из столбцов C, D.
В столбце C находятся данные из столба  D.
Макрос удаления строк со словом "УДАЛИТЬ"
 
Mershik, Я как  как понимаю макрос находит в данных столбцах нижнюю строчку с надписью "Удалить" удаляет ее, потом следующую и удаляет ее, и.т.д (то есть удаляет по 1 строке). У меня макрос уже 4 часа считает ))).
а можно удалять сразу диапазон строк если "удалить" идет непрерывно в каждой строчке (например макрос находит диапазон строк с надписью "Удалить"  с последней строки до тех пор пока эта надпись не поменяется на другую(или пустую ячейку) и удаляет диапазон строк, далее опять ищет и удаляет диапазоны

и еще сначала со столбца А удалял, потом с B, C, D.)
У меня таблица с 15000 строк, и каждая строка как я понимаю секунд по 10 удаляется)
Изменено: vinaxel - 10.05.2020 08:44:49
Макрос удаления строк со словом "УДАЛИТЬ"
 
Mershik,
If Worksheets("Календарь добычи").Cells(i, 4) = "УДАЛИТЬ" _    
Or Worksheets("Календарь добычи").Cells(i, 3) = "УДАЛИТЬ" _
   Or Worksheets("Календарь добычи").Cells(i, 2) = "УДАЛИТЬ" _
   Or Worksheets("Календарь добычи").Cells(i, 1) = "УДАЛИТЬ" Then
А это в каком порядке удаляются строки (сначала по условию 4 столбца или 1?
Макрос удаления строк со словом "УДАЛИТЬ"
 
Если на листе "Исходные данные" ячейка D12 пустая, то нужно удалить на листе "Календарь добычи" столбец "J".
Да удалить мне он просто ненужен становится, так же и со вторым
Макрос удаления строк со словом "УДАЛИТЬ"
 
Mershik, только  4 пункт выполняется(
Изменено: vinaxel - 09.05.2020 16:39:06
Макрос удаления строк со словом "УДАЛИТЬ"
 
Mershik,ну да как будто вручную нажимаю CTRL+(-)
Макрос удаления строк со словом "УДАЛИТЬ"
 
Здравствуйте, помогите написать макрос на удаление строк по нескольким условиям.
Нужно
Находясь на листе "Исходные данные" нажать кнопку", (запустить макрос)
Макрос такой
1. На листе "Календарь добычи"  удалить все строки с надписью "УДАЛИТЬ" в столбце "A", а также удалить такие же строки на листе "auto";
2. На листе "Календарь добычи"  удалить все строки с надписью "УДАЛИТЬ" в столбце "B", а также удалить такие же строки на листе "auto";
3. На листе "Календарь добычи"  удалить все строки с надписью "УДАЛИТЬ" в столбце "C", а также удалить такие же строки на листе "auto";
4. На листе "Календарь добычи"  удалить все строки с надписью "УДАЛИТЬ" в столбце "D", а также удалить такие же строки на листе "auto";
5. Если на листе "Исходные данные" ячейка D12 пустая, то удалить на листе "Календарь добычи" столбец "J";
6. Если на листе "Исходные данные" ячейка D5 пустая, то удалить на листе "Календарь добычи" столбец "K" (который был до удаления столбца "J", столбец "L")";
7. На листе "Календарь добычи" удалить столбцы A, B, C, D.
Расчет средневзвешенного значения
 
evgeniygeo, Mershik, обе формулы работают, спасибо
Расчет средневзвешенного значения
 
Mershik, я мог бы вручную написать формулу (=(I9*K9+I27*K27+I45*K45+I63*K63+I81*K81+I99*K99+I117*K117+I135*K135+I153*K153+I171*K171+I189*K189+I207*K207+I225*K225+I243*K243+I261*K261+I279*K279+I297*K297+I315*K315+I333*K333+I351*K351)/I369)
но строчки которые будут не нужны будут удаляться, и формула ломаться будет
Страницы: 1 2 След.
Loading...