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

Страницы: 1 2 3 След.
Заливка ячейки MAX и MIN значения , приставка значения в ячейку (VBA)
 
МатросНаЗебре
Не получается разобраться с приставками , некорректно , они вставляются

Можете изменить код , с учетом того что среднее максимальное и минимальное уже посчитаны по формулам , чтобы просто приставка ставилась там где выполняется два условия , ячейка не пустая , и приставка больше 10 и меньше -10 , и можно было при повторном нажатии убрать все приставки и форматирование  
Заливка ячейки MAX и MIN значения , приставка значения в ячейку (VBA)
 
Кажется я понял почему так , условие не прописано, чтобы проверялась ячейка основная , пустая она или нет  
Заливка ячейки MAX и MIN значения , приставка значения в ячейку (VBA)
 
Дописал чуть
Код
If d > 10 Or d < -10 Then .Value

чтобы приставка дописывалась и меньше -10 , теперь все пустые ячейки и в основной таблице и во вторичной заполняется приставкой с максимальным значением  :cry:
Заливка ячейки MAX и MIN значения , приставка значения в ячейку (VBA)
 
МатросНаЗебре

Вот так уже получилось радостней гораздо , вопросы появились только , но и за это спасибо БОЛЬШОЕ !

Многие из основного массива но не ВСЕ! ячейки заполняет приставкой /МАКС
Почему создается новый лист каждый раз
И как сделать чтобы при повторном нажатии кнопки всё убиралось в чистый вид ?  
Заливка ячейки MAX и MIN значения , приставка значения в ячейку (VBA)
 
МатросНаЗебре
Ваш код работать работает , но так как инфраструктура файла и таблицы у меня другая (таблица начинается не с А1 ) , то соответственно корректность работы макроса отсутствует , можете переписать под файл мой , а то так сложно понять откуда ноги растут

P S так и представлял этот код с циклами , никогда не понимал принцип работы  
Заливка ячейки MAX и MIN значения , приставка значения в ячейку (VBA)
 
МатросНаЗебре , Поменял файл ,сейчас откроется  
Заливка ячейки MAX и MIN значения , приставка значения в ячейку (VBA)
 
  Парни , приветствую !

Просьба пожалуйста помочь c автоматизацией пары небольших функций через кнопки и VBA

Вообщем что есть на данный момент: очень большой массив данных из десяти основных столбцов , в столбцах указаны только трехзначные числа , далее три столбца (Среднее значение по одной строке из 10 столбцов , максимальное и минимальные значения соответственно ) , далее идут ещё десять дополнительных столбцов ,в каждой ячейке которых указаны разница между Максимальным значением и каждым значением из основной строки данных , т.е. если в А1 значение 123 а макс. 168 , то в дополнительную ячейку заносится разница между 168 и 123 (45) , и так в каждую из 10 доп. ячеек

Что выполняется: В каждой основной строке(первые 10 столбцов) каждая ячейка проверяется на соответствие со значением в ячейке МАКС и МИН , если соответствует то ячейка подсвечивается (макс - зеленым , мин - красным) , и так в каждой строке
Также в каждую ячейку  основной строки (10 первых столбцов) , добавляется приставка со значением из дополнительных десяти столбцов , т.е. в А1 123 и дописывается получившаяся разница из дополнительной ячейки и получается в А1 "123 / 45"

Так как массив данных очень большой по меркам моего пк и постоянно пополняется  ,10000 +++ строк , для осуществления всего этого прописаны просто длиннющие формулы , условное форматирование в каждой строке , цвета и подсветы  , всё начало жутко долго грузиться и пришлось отказаться от цветов и это оказалось очень существенным минусом , приходиться глазками много моргать и искать то что необходимо, при этом ещё применяются фильтры по столбцам , вообщем применено самое не оптимальное и громоздкое решение , для большего знаний не хватает к сожалению

Как хочется модернизировать :

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

И в дополнение хотел сделать чтобы если приставка с разницей меньше или равна диапазону от -10 до +10 , то вообще не подставляется , но формулы уже были и так дальше некуда (
Также не учитывать пустые ячейки в основной строке из 10 столбцов , очень часто там просто ячейки пустые , а туда у меня все равно знак "/" вставлялся , так как я разделял основную часть и приставку этим знаком

пришлось отказаться от удобств

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

Спасибо!
Изменено: fanat - 27.09.2016 16:56:40 (Изменил файл )
Присвоить порядковый номер переменной от большего к меньшему
 
Доброго времени суток господа уважаемые
С наступающим праздников всех !

Есть три числовые переменные a b c в текстбоксах каждая соответственно , напротив каждой переменной пустой текстбокс , подскажите как будет выглядеть цикл чтобы  прогнать эти переменные и расставить напротив них порядковые места от большего к меньшему , туго с циклами у меня :/

Спасибо  
Округление целого числа по десяткам
 
Sanja

Если использовать ваш код то при вводе отрицательного значения выскакивает "ошибка 1004 Невозможно получить свойство Mround класса WorksheetFunction"  
Округление целого числа по десяткам
 
В итоге вот как по уродски я решил проблему  ,чего больше всего боялся на то и напоролся ((( в 12 строк округление вышло , потратил 4 часа для решения , что за бред ! Не знающему язык  приходится не легко ))

Всем большое спасибо за помощь !
Код
Private Sub CommandButton5_Click()
Dim a, b As Double
a = UserForm1.TextBox14.Value
If a < 0 Then
a = UserForm1.TextBox14.Value / 10 - 0.5
b = Fix(a)
UserForm1.TextBox103.Value = b * 10
Else
a = UserForm1.TextBox14.Value / 10 + 0.5
b = Int(a)
UserForm1.TextBox103.Value = b * 10
End If

End Sub

Округление целого числа по десяткам
 
Sanja
Спасибо с первым вопросом разобрался , сам бы долго тупил точно

А со вторым не получается , указываю количество разрядов  2 , ничего не округляет
Код
Private Sub TextBox14_Change()
Dim a As String
a = Round(UserForm1.TextBox14.Text, 2)
UserForm1.TextBox103.Text = a
End Sub

Во первых мне непонятно , чем задавать переменную a , как Integral simple или string ? Задал String потому что выдает ошибку на другие , но как только начинаю писать число с дробной частью опять же выскакивает ошибка , ну и во вторых не происходит никакого округления в принципе

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

Пару дилетантских вопросов позвольте задать
Есть на форме 2 текстбокса ,в первый  ввожу числа , а во второй текстбокс введенное число  в первый должно округляться

Вопрос первый, куда записать код чтобы  на форме результат отображался моментально ,т.е. если ввел в текстбокс 1 число , то оно автоматически отобразилось уже округленное во втором , если стёр в первом , то и во втором стерлось
Ну и вопрос второй , основной , необходимо округлять числа по десяткам , то есть например ввёл 123 , округлилось до 120 , 117 в 120 , 264 в 260 , -125 в -130 , -231 в -230,  если до 5 то в меньшую сторону , если с 5 включая , то в большую сторону  , что то не нашёл я ничего подобного

Последнее код который  я пробовал , но не то это (
Код
Dim a As Single
a = Round(UserForm1.TextBox14.Text)
UserForm1.TextBox103.Text = a

Спасибо

P.s НЕ поверю что нет элементарной функции какой то , чтобы не надо было определять число , разбивать его на части , проверять сколько символов , проверять последний символ больше 5 он или меньше , потом уже округлять  
Получить адрес на файл убрав ThisWorkbook.Path
 
В моем понимании это выглядит так , задаем текстбокс как строку , thisworkbook.path  как переменную , затем ищем в этой строке эту переменную ,находим , удаляем , но знания мне не позволят сделать подобного (  
Получить адрес на файл убрав ThisWorkbook.Path
 
Доброго времени суток ребят

Подскажите пожалуйста с таким вопросом
Я получаю в текстбокс командой Application.GetOpenFilename ссылку на файл , вот так
Код
UserForm1.TextBox3.Value = Application.GetOpenFilename
получаю путь "C:\Users\fanat\Desktop\Новая папка\Новая папка\1.jpg" ,
где "C:\Users\fanat\Desktop\Новая папка"  это путь где лежит сам проект , то есть ThisWorkbook.Path , как изменить код на получение ссылки на файл чтобы в текстбокс выводился только путь до файла без ThisWorkbook.Path, то есть из данного примера нужно чтобы  ,грубо говоря , было примерно так ( отображу математически , программно не знаю как это сделать ) :

UserForm1.TextBox3.Value = Application.GetOpenFilename - ThisWorkbook.Path  = "\Новая папка\1.jpg" , получаем ссылку на файл , отнимаем от этой ссылки корневой путь проекта , получаем голую ссылку на файл  
Вывод формы через примечание
 
Всё заработало , ошибка в пути файла была действительно

Спасибо огромное !  
Загрузка изображения в форму
 
А как задать динамический адрес на картинку , если например книга находится в той же папке где и рисунки , я например скидываю эту папку на флешку и если ссылки на картинки останутся такими,  то на другом компьютере они не откроются , необходимо чтоб открылись , как в таком случае получить ссылку на картинку и установить папку с файлом эксель корневой ?

Спасибо    
Вывод формы через примечание
 
Изменил код на вроде бы верный , но ошибка снова , теперь Out of memory
Код
Cells(ActiveCell.Row, 1).AddComment
Cells(ActiveCell.Row, 1).Comment.Visible = False
Cells(ActiveCell.Row, 1).Comment.Shape.Fill.UserPicture _
"C:\Users\fanat\Desktop\2016-04-25_174252.jpg"
Вывод формы через примечание
 
В принципе можно иначе сделать , только вот в коде ошибку выдает
В общем алгоритм таков , выбираю строку любую пустую , жму кнопку на листе , должна открыться форма и автоматически создаться примечание  в фоне которого картинка , код записал ,выдает ошибку , примечание создается, а картинка в фон не ставится , как правильно обратиться к примечанию чтобы задать ему фон ?

Вот код
Код
Sub Кнопка3_Щелчок()
UserForm1.Show
UserForm1.TextBox3.Text = Cells(ActiveCell.Row, 1)
UserForm1.Image1.Picture = LoadPicture(UserForm1.TextBox3.Text)
Cells(ActiveCell.Row, 1).AddComment
    Cells(ActiveCell.Row, 1).Comment.Visible = False
    Cells(ActiveCell.Row, 1).ShapeRange.Fill.UserPicture _
        "C:\Users\fanat\Desktop\2016-04-25_174252.jpg"
End Sub

Вот то что жирным это касается создания примечания с фоном , но фон не задаётся , вероятно не верно обращаюсь к примечанию
Укажите ошибку пожалуйста  
Вывод формы через примечание
 
Приветствую господа во второй раз уже за сегодня

Есть нужда во всплывающем окошке типа примечания чтобы в ней отображалась форма VBA
Есть куча строк у меня , в каждой строке есть данные на столбцов 20 этак , первый столбец оставил пустым под реализацию примечания , наводим курсор на ячейку А3 допустим , автоматически активируется и появляется примечание с формой  в которой отображаются данные этой строки

Возможно ли что то подобное реализовать на языке VBA ? В гугле что то ничего подобного не нашёл
Заранее  благодарен за любое напутствие  
Загрузка изображения в форму
 
Всё получилось !!! Премного благодарен за напутствие ! Стёр  Chr$(34) & в первой строке  
Загрузка изображения в форму
 
Я уж обрадовался и вспомнил тонкости Vba , но нет , вставил , пишет Runtime Error 75 Path file access error ( Ети её мать !!!  
Загрузка изображения в форму
 
Доброго времени суток товарищи!

До последнего боролся с этой на мой взгляд простой проблемой
Файл загружать не вижу смысла потому что и так будет ясно суть проблемы
Вообщем создал кнопку на листе , вызывается форма , на форме Окно Image  ,кнопка , текстбокс , при нажатии на кнопку  открывается окно выбора файла (проводник) , выбираем файл, жмем ок , путь файла выписывается в текстбокс , далее процедура LoadPicture должна забирать этот путь из текстбокса и загружать картинку в окно Image
Код
Private Sub CommandButton2_Click()
    UserForm1.TextBox3.Value = Chr$(34) & Application.GetOpenFilename & Chr$(34)
    UserForm1.Image1.Picture = LoadPicture("TextBox3.Value")
End Sub

Как только не извращался с этим кодом , выдает разные ошибки , если напрямую вписывать путь который вставляется в текстбокс то картинка грузится , а как начинаю пытаться забрать путь из бокса так всё , крах, Runtime Error такой сякой

Подскажите пожалуйста как корректно забрать путь из бокса чтобы загрузилась картинка всё таки
Спасибо  
Обновление основной таблицы из вторичной
 
Ребят , что никто не поможет совсем ?  
Обновление основной таблицы из вторичной
 
Если есть данные вместо них должны подставляться новые , именно  
Обновление основной таблицы из вторичной
 
Доброго времени суток ребята !
Помогите сделать всё проще и быстрей
Вообщем есть два листа вторичный(Лист1) и основной(Лист2)
Основной лист имеет большой массив данных который постоянно пополняется и обновляется к сожалению вручную через фильтры , помогите всё упростить и заставить машину делать эту работу макросом  , необходимо чтобы из Лист1 данные вырезались и обновлялись или добавлялись в Лист2 , исходя из примера сопоставлять нужно по трём столбцам Ф,И,О.
на Лист1 вводится ФИО человека ,  данные которые необходимо будет обновить или добавить (в примере это просто числа в столбцах D E F G H  ) ,выбираем смену из выпадающего списка(1 или 2 ) , жмем кнопку Обновить и в зависимости от выбранной смены данные напротив каждой ФИО на Лист2 должны обновиться ,а если такой ФИО нет , то добавляется в первую пустую строку на Лист2 . После обновления данные с лист1 должны удалиться вместе с ФИО

Надеюсь на помощь
Спасибо
Прошу прощения за непонятный код ниже , не понял откуда он берётся
Изменено: fanat - 11.09.2015 22:08:57
Динамическое заполнение Combobox на форме
 
Влад , спасибо , всё заработало ! А какой код определяет последнюю непустую строку в диапазоне указанном , чтобы пустых строк не выводилось в список ?
Динамическое заполнение Combobox на форме
 
файл
Динамическое заполнение Combobox на форме
 
Доброго времени суток всем

На листе1 есть кнопка вызывающая форму с комбобоксом , в этом комбобоксе нужно чтобы отображался динамический список  с лист2 столбца А ( динамический имеется в виду если в столбце А на лист2 обновится список чтобы автоматически он обновлялся и в комбобоксе.
вписал в код формы
Код
Private Sub UserForm1_Initialize()
Dim iMassiv
iMassiv = Sheets("Лист2").Range("A1:A10").Value
ComboBox1.List = iMassiv
End Sub
 
никаких изменений не произошло ... комбобокс остался пустым

Надеюсь на помощь соображающих
Спасибо  
макрос копирования данных: Run-time error '13': Type mismatch
 
Вот это я глаза замылил очевидное не увидел ...)
Johny спасибо большое

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

Спасибо  
макрос копирования данных: Run-time error '13': Type mismatch
 
Доброго времени суток уважаемые форумчане
Вообщем проблема такая.. на кнопке висит макрос копирования данных с одного листа на другой , вылазит ошибка
Run-time error '13': Type mismatch , мол несоответствие типов , перепробовал всё что перепробовал бы каждый, капризничает и ничего не поделать

в приложенном мной файле два листа , на  лист1 кнопка при нажатии на которую номер активной строки отправляется в ячейку А1 на лист2 и перекидывает на лист2 , на листе вторая кнопка при нажатии на которую данные должны скопироваться на лист1 с координатами- номер строки находится в А1 (та самая активная строка листа1)  , а номер столбца фиксирован и указан непосредственно в макросе.. вот код этой кнопки
Код
Sub Лист2_Кнопка3_Щелчок()
With Worksheets("Лист1")
    .Range("I3").Copy Destination:=Worksheets("Лист2").Cells(.Range("A1"), 19)
End With
End Sub
 
Вообщем I3 - это значение которое нужно скопировать с лист2 в лист1, (.Range("A1",19) - номер строки находится в А1  , а 19 это фиксированный номер столбца
Не знаю важно это или нет , но значение I3 которое надо переместить на лист1 с лист2 получается формулой

Надеюсь на вашу помощь
Спасибо
Страницы: 1 2 3 След.
Наверх