на 23ей минуте сказал, что код становится "чистее", конечно же код становится ЧИЩЕ, а не чистее :). Аж слух режет, только после публикации видео обнаружил данный ЛЯП.
@liaiii36617 жыл бұрын
после мороженНое это уже неважно -)
@arman_davletov7 жыл бұрын
Спс за уроки друг. Директор попросила меня сделать закрепленный верх и кнопку с действием - переходом к нужной ячейки по очереди и подтягиванием этой ячейки к закрепленный области. Можешь помочь в этом деле, а то я пока все изучу ей уже это станет не интересно). А ток все кулл, все понятно
@maxl7857 Жыл бұрын
Класс :)
@V._A._S.4 жыл бұрын
Отличное видео, но с одного раза запомнить будет трудновато.
@Szovk9 жыл бұрын
Звук музыки вначале громче значительно голоса. Когда перескакиваю на след. урок то музыка качает слишком уж =))
@andrewzakharov44307 жыл бұрын
это чтобы не засыпали)
@dimmmedved1914 жыл бұрын
Ошибка ByRef argument type как ее исправить ?
@RobotoborPro4 жыл бұрын
Тип аргумента не соответствует передаваемому значению, либо тип значения менять, либо тип аргумента
@ogsv819 жыл бұрын
А "Class Module" случайно не для таких случаев предназначен? Если нет, то не могли бы вы рассказать про него.
@RobotoborPro9 жыл бұрын
+ogsv Да, классы они похожи на структуры и в некоторых языках они по функциональности почти одинаковые, но структуры в VBA малофункциональны, т.е. структуры в VBA могут содержать только, св-ва, т.е. переменные, в других же языках структуры как и классы могут содержать еще и методы. Классы в VBA тоже не полноценные и "костылявые", можно обойтись и без них (Уокенбах также считает), если только не получится так, что без них не обойтись. Вообще, на основе классов создаются объекты и на один такой объект в куче (памяти) может быть сколь угодно ссылок, а структуры являются значимыми типами т.е. как переменные и занимают полноценно память, их не нужно конструировать и работать с ними быстрее, вообще, эта тема обширная. Тему классов лучше рассматривать на примерах других языков программирования, где классы используются полноценно = C#, JAVA, C++ и т.д. Но, возможно, я разберу в каком-нибудь уроке данную тему и для VBA.
@ЯрославВарламов-ь7з8 жыл бұрын
Обязательно сначала в структуре объявлять переменные , а затем повторять тоже самое в процедуре?
@RobotoborPro8 жыл бұрын
+Ярослав Варламов Определяя структуру, вы обязательно должны объявить в ней переменные, затем в коде, например, процедуры Вы должны создать переменную типа данной Вашей структуры, затем Вы работаете с Вашей переменной-структурой через ее поля (свойства, переменные). Это три разные действия (это НЕ тоже самое). Вы можете на основании Вашего типа-структуры создать множество переменных данного типа-структуры и пользоваться ими в одной процедуре, и это будут разные переменные, на зависящие от изменений друг друга.
@ЯрославВарламов-ь7з8 жыл бұрын
Интересно, спасибо!
@AnonimusAnonimusAnon6 жыл бұрын
Тип, по сути - это маска формата если выражаться проще, верно?
@RobotoborPro6 жыл бұрын
Интересное определение🤔 В каком-то смысле это похоже на маску формата. Но такое определение сильно упращенно. Не нужно так его называть :)
@AnonimusAnonimusAnon6 жыл бұрын
@@RobotoborPro первый раз Вы детально не разжевали и сразу у меня возник ряд вопросов. К примеру Когда мы пишем Dim mladSotr as Sotrudnik мы определяем что переменная mladSotr должна быть написана в формате (String, String, Integer), верно? Почему не срабатывает макрос?: Dim mladSotr as Sotrudnik mladSotr = ("Вася", "Пупкин", 1) msgbox mladSotr Ведь мы обьявили mladSotr согласно формата который задали в Type. Если бы мы инициализировали mladSotr as Integer а потом написали бы mladSotr = 1 msgbox mladSotr Оно ведь сработало бы. Ведь Integer - это по сути тоже тип данных, такой же как и Type. Как именно срабатывает команда Call Initsotr (mladshsotr, "Вася", "Пупкин", 1)? Я так понимаю что принцип связки этой команды с командой Initsotr(ByRef sotr As Sotrudnik, ByVal name As String, ByVal surname As String, ByVal doljnost As Integer) происходит чисто по порядку внесения. Т.е. Call Initsotr (mladshsotr, "Вася", "Пупкин", 1) - это типа маски куда куда поочередно подтягиваются данные из Initsotr? И почему в команде Initsotr(ByRef sotr As Sotrudnik, ByVal name As String, ByVal surname As String, ByVal doljnost As Integer) нельзя заменить ByRef на ByVal? Спасибо за ответы
@antonalechin71023 жыл бұрын
Почему так нельзя? Зачем инициализировать имя, фамилию, должность? В чем причина? Type Sotrudnic name As String Surname As String Doljnost As Integer End Type Sub MainProc() Dim Mladhsotrudnic As Sotrudnic Dim Starshsord As Sotrudnic Call InitSotrudnika(Mladhsotrudnic) Call VyvodPoley(Mladhsotrudnic) Call VyvodPoley(Starshsord) End Sub Sub InitSotrudnika(ByRef sotr As Sotrudnic) sotr.Doljnost = 1 sotr.name = "vdvd" sotr.Surname = "efe"
@ognifer7 жыл бұрын
В VBA можно давать имена, всех идентификаторов, на русском... А не маяться с транслитерацией....
@RobotoborPro7 жыл бұрын
Можно, но в общемировой практике программирования все пишут на английском.