Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/форма для нахождения максимального и минимального значения - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » форма для нахождения максимального и минимального значения (Макросы/Sub)
форма для нахождения максимального и минимального значения
klokov__ Дата: Понедельник, 15.03.2021, 09:56 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Доброго времени суток уважаемые форумчане!
Прошу компетентных людей помочь в выполнении задания:

Разработать подпрограмму или пользовательскую форму для нахождения максимального и минимального значения выделенного диапазона рабочей таблицы и замены их нулевым значением.

Форма более-ли-менее разработана для Excel:
[vba]
Код
Option Explicit

Private Sub UserForm_Initialize()
   Me.Caption = "Статистика"
   CommandButton1.Caption = "OK"
End Sub

Private Sub CommandButton1_Click()
   Dim r As String
   Dim min As Double
   Dim max As Double
   Dim s As Double
   r = RefEdit1.Value
   Dim rgn As Range
   Set rgn = Range(r)
   min = WorksheetFunction.min(rgn)
   max = WorksheetFunction.max(rgn)
   s = WorksheetFunction.Sum(rgn)
   MsgBox RefEdit1.Value & vbCr & _
          "min=" & min & vbCr & _
          "max=" & max & vbCr & _
          "s=" & s
End Sub
[/vba]

Проблема в замене нулевыми значениями. Я вычитал что нужно использовать код типа:
КодВыделить код
[vba]
Код
Columns ("A") .Replace What:="???", Replacement:="0", _
SearchOrder:=xlByColumns, MatchCase:=True
[/vba]
Но....ни хватает мозгов %) прикрутить к моей форме. Вот в чём и заключается моя просьба... :shy:
К сообщению приложен файл: 5940733.zip(20.1 Kb)
 
Ответить
СообщениеДоброго времени суток уважаемые форумчане!
Прошу компетентных людей помочь в выполнении задания:

Разработать подпрограмму или пользовательскую форму для нахождения максимального и минимального значения выделенного диапазона рабочей таблицы и замены их нулевым значением.

Форма более-ли-менее разработана для Excel:
[vba]
Код
Option Explicit

Private Sub UserForm_Initialize()
   Me.Caption = "Статистика"
   CommandButton1.Caption = "OK"
End Sub

Private Sub CommandButton1_Click()
   Dim r As String
   Dim min As Double
   Dim max As Double
   Dim s As Double
   r = RefEdit1.Value
   Dim rgn As Range
   Set rgn = Range(r)
   min = WorksheetFunction.min(rgn)
   max = WorksheetFunction.max(rgn)
   s = WorksheetFunction.Sum(rgn)
   MsgBox RefEdit1.Value & vbCr & _
          "min=" & min & vbCr & _
          "max=" & max & vbCr & _
          "s=" & s
End Sub
[/vba]

Проблема в замене нулевыми значениями. Я вычитал что нужно использовать код типа:
КодВыделить код
[vba]
Код
Columns ("A") .Replace What:="???", Replacement:="0", _
SearchOrder:=xlByColumns, MatchCase:=True
[/vba]
Но....ни хватает мозгов %) прикрутить к моей форме. Вот в чём и заключается моя просьба... :shy:

Автор - klokov__
Дата добавления - 15.03.2021 в 09:56
Pelena Дата: Понедельник, 15.03.2021, 10:37 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 17442
Репутация: 3876 ±
Замечаний: ±

Excel 2010, 2016 & Mac Excel
Здравствуйте.
Можно так
[vba]
Код
    Dim rg As Range
    For Each rg In rgn
        If rg = max Or rg = min Then rg = 0
    Next rg
[/vba]
К сообщению приложен файл: 0573903.xlsm(23.3 Kb)


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеЗдравствуйте.
Можно так
[vba]
Код
    Dim rg As Range
    For Each rg In rgn
        If rg = max Or rg = min Then rg = 0
    Next rg
[/vba]

Автор - Pelena
Дата добавления - 15.03.2021 в 10:37
klokov__ Дата: Вторник, 16.03.2021, 17:40 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Pelena, hands :ok: Спасибо! Всё правильно!

[vba]
Код
  Dim rg As Range
    For Each rg In rgn
        If rg = max Or rg = min Then rg = 0
    Next rg
[/vba]
 
Ответить
СообщениеPelena, hands :ok: Спасибо! Всё правильно!

[vba]
Код
  Dim rg As Range
    For Each rg In rgn
        If rg = max Or rg = min Then rg = 0
    Next rg
[/vba]

Автор - klokov__
Дата добавления - 16.03.2021 в 17:40
RAN Дата: Вторник, 16.03.2021, 22:51 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 5421
Репутация: 1084 ±
Замечаний: 0% ±

2010
нужно использовать код типа

yes
[vba]
Код
    rgn.Replace max, 0, xlWhole
    rgn.Replace min, 0, xlWhole
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
нужно использовать код типа

yes
[vba]
Код
    rgn.Replace max, 0, xlWhole
    rgn.Replace min, 0, xlWhole
[/vba]

Автор - RAN
Дата добавления - 16.03.2021 в 22:51
Мир MS Excel » Вопросы и решения » Вопросы по VBA » форма для нахождения максимального и минимального значения (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс цитирования Jobsora jooble
© 2010-2021 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!