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

Страницы: 1 2 След.
Возможность совместной работы с файлом с макросом двумя пользователями
 
Добрый день!
Прошу помощи в следующем:
Есть файл с пользовательской формой на VBA. Задача в том, чтобы с этим файлом можно было работать двум или более пользователям одновременно.
Файл находится в локальной сети и доступен для пользователей.

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

Файл приложен.
Ручное внесение данных из открытых книг в UserForm и их сохранение
 
Цитата
...запустите ее с помощью строки UserForm1.Show 0
Именно так и сделал. Еще раз спасибо!
Изменено: San - 12.01.2022 17:30:46
Ручное внесение данных из открытых книг в UserForm и их сохранение
 
Цитата
Чего хотим в итоге?
В форму данные копируются, на лист передаются...
Будем считать, что мы с Вами общаемся на разных языках) Тем более по сабжу эксперты подсказали, все смог реализовать.
Изменено: San - 12.01.2022 00:40:21
Ручное внесение данных из открытых книг в UserForm и их сохранение
 
Excel конечно наше вся, но хотелось какую-то юзабельность таблицы сделать подобной формой - чтобы сотрудник заполнил конкрнетные поля, а не весь массив большой таблицы (общее количество столбцов - 32).
В случае с ограничением прав доступа был вопрос по возможности внесения новых данных и невозможности внесения исправлений в уже занесенные. Как "побороть" этот момент знаний не хватило.

Господа, большое спасибо за участие, помогла функция о которой написал Дмитрий(The_Prist) Щербаков. Поначалу не сработало из-за того, что запись сохранялась в том активном листе, с которого происходило копирование данных. Прописал дополнительно в UserForm активацию нужного листа и вуа-ля!

Всем большое спасибо!
Ручное внесение данных из открытых книг в UserForm и их сохранение
 
Нужно получить базу данных по продажам путем заполнения данных из пользовательской формы.
Как я это вижу: менеджер заходит в файл, нажимает "Внести данные по продаже", ему выскакиевает окно пользовательской формы, в которое он вводит необходимые данные. Далее нажимает "Сохранить запись" и введенные данные прогружаются в таблицу (массив данных). Нужно, чтобы менеджер не смог внести корректировки в прошлые свои записи.
Все это реализовал, но столкнулся с тем, что менеджеры могут и хотят копировать данные для заполнения в пользовательской форме из других открытых книг Excel (свои продажи). Сейчас форма не позволяет работать с другими открытыми книгами.

Модуль:
Код
Private Sub Userform_Initialize()
   ComboBox1.Clear
   ComboBox1.AddItem "Белгородский РФ"
   ComboBox1.AddItem "Воронежский РФ"
   TextBox11.Value = ""
   TextBox4.Value = ""
   TextBox1.Value = ""
End Sub
Запись значений в таблицу:
Код
Private Sub CommandButton1_Click()
   emptyrows = WorksheetFunction.CountA(Range("a:a")) + 3
     Cells(emptyrows, 1) = TextBox11.Value
     Cells(emptyrows, 2) = ComboBox1.Value
     Cells(emptyrows, 3) = TextBox4.Value
     Cells(emptyrows, 4) = TextBox1.Value
Call Userform_Initialize
End Sub
Ну и собственно сам запуск:
Код
Sub Макрос1()
   UserSale.Show
End Sub
Ручное внесение данных из открытых книг в UserForm и их сохранение
 
Тысяча извинений - вроде снес пароль, но на VBA остался. Исправился - удалил пароль.
Закрепил в первом сообщении

Цитата
San , я бы показал все на Вашем примере
Был бы безмерно признателен за помощь.

Цитата
А если через UserForm.Show, то правильно так:
Прописал так в команде запуска Макроса, но тоже чет не помогает - данные из формы не переносятся в таблицу.  
Ручное внесение данных из открытых книг в UserForm и их сохранение
 
Добрый день, уважаемые гуру!
Столкнулся сейчас со следующим моментом - разработал через VBA собственную форму для формирования массива данных (т.е. пользователь видит форму, вводит в нее данные и таким образом формируется база данных).
Но столкнулся с тем, что при открытой пользовательской форме в моей книге (где эта форма создана) нельзя работать с другими книгами.

Вопрос - возможно ли прописать в коде VBA в моей форме, чтобы пользователь мог копировать данные из других открытых книг и вставлять в мою пользовательскую форму?
В прямую поменял ShowModal в свойствах формы с True на False - не помогло, данные вообще не сохраняет.

Заранее признателен!
Макросом замена текста в формуле
 
Пытливый, подскажите, пожалуйста, как-то по другому нужно прописывать?
Макросом замена текста в формуле
 
К сожалению не понял кроме как банально вставить:
Код
   Sheets("Форма №1 - Заявки ИТМ-СМБ").Select
    Selection.Replace What:="Формирует из исходной", Replacement:= _
        "Отчет ИТМ (развернуто)", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase _
        :=False, SearchFormat:=False, ReplaceFormat:=False
Calculate
Изменено: San - 15.12.2017 14:47:05
Макросом замена текста в формуле
 
Кнопка цитирования не для ответа [МОДЕРАТОР]
Истина, против которой трудно что-то возразить. Другое дело в том, что как обычно самый главный ограничивающий ресурс - время...

Попробовал использовать после данного кода calculate, но не помогло...
Макросом замена текста в формуле
 
Вот после этой записи значения автоматом не просчитываются в формулах на листе:
Код
   Sheets("Лист2").Select
    Selection.Replace What:="Лист9", Replacement:= _
        "Лист1", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase _
        :=False, SearchFormat:=False, ReplaceFormat:=False
Макросом замена текста в формуле
 
Цитата
Sanja написал:
Считайте все нужное в коде, в форму выгружайте готовые значения.
В коде уровень знаний не позволяет все рассчитать, к сожалению. Поэтому приходится решать подобным образом задачу.
Макросом замена текста в формуле
 
Добрый день!
Провожу многоходовочку - решаю задачу скорее всего не рационально, но зато самостоятельно - есть исходные данные на Листе1 (массив данных). Задача - с использованием макроса вывести на лист3 выходную форму уже с значениями, не формулами.
Решаю следующим образом:
1. На листе2 создал активную выходную форму с формулами, ссылающимися на Лист9.
2. После запуска макроса меняю во всех формулах на листе2 значение ЛИСТ9 на ЛИСТ1.
3. (как хотелось) Рассчитанная форма на листе2 копируется на новый лист3 и вставляется туда уже как значенчия.
4. Измененные ссылки в формулах на Листе2 (с ЛИСТ9 на ЛИСТ1) вновь возвращаются на исходные таблицы (ссылаются с ЛИСТ1 на ЛИСТ9). Это сделано для того, чтобы форма на листе 2 была неизменной, просто в качестве отчетной выходной формы.

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

В чем вопрос - макросом произвожу замену в формуле на листе 2 (с лист9 на лист1), затем копирую выходную форму на новый лист, вставляю ее как значения, меняю в обратную с Лист1 на Лист9 и вижу, что данные не рассчитываются в формулах  на листе2. Ставлю паузу Application.Wait Now + TimeSerial(0, 0, 10), но все равно не помогает.
Предполагаю, что нужно остановить макрос и запустить его дальше после этой махинации (лист9 ↔ лист1). Но может можно как-то обойтись без этого?

Вывести фамилию менеджера из заранее определенного массива.
 
Пожалуй воспользуюсь именно Вашим макросом, как более простым для восприятия.
Спасибо!
Вывести фамилию менеджера из заранее определенного массива.
 
Nordheim, спастбо большое!
Вывести фамилию менеджера из заранее определенного массива.
 
Ссори, вводить в столбце B СОТРУДНИК листа "Форма выгрузки". Менеджеров брать на листе Вспомогательная, столбец S.
Вывести фамилию менеджера из заранее определенного массива.
 
Цитата
Nordheim написал:
А в примере разве не тот формат?
Нет. Выгрузка содержит следующий формат (файл вложен):
Первоначально думал, что смогу обойтись формулами, без макроса, поэтому вложил урезанный файл.
Вывести фамилию менеджера из заранее определенного массива.
 
Цитата
Nordheim написал:
Привязал к определенному листу. Размер массива менеджеров динамический
Спасибо большое!
Теперь бы понять как его "прикрутить" в нужный формат отчета и выгрузки...
Вывести фамилию менеджера из заранее определенного массива.
 
Цитата
AAF написал:
А всегда фамилия после слова менеджер?
К сожалению, пока не всегда, но сейчас я как раз ввожу порядок оформления.  Поэтому до настоящего момента искать нужно будет не с привякой к менеджеру, а просто по фамилии (радуем, что фамилии все очень редкие, а не стандартные Иванов-Петров).
Вывести фамилию менеджера из заранее определенного массива.
 
AAF, в примере они есть в столбце А (столбец "Исходный массив"). Эти значения сопоставляем с массивом, по которому ищем (столбец "Массив, с которым сопоставляем") и на выходе получаем столбец "То, что нужно".
Вывести фамилию менеджера из заранее определенного массива.
 
Добрый день!
Помогите, пожалуйста, с решением следующего вопроса:
Имеется выгрузка из локальной CRM (Excel), в поле "Комментарии" менеджер пишет основную информацию по клиенту и указывает свою фамилию. Список фамилий менеджеров конечный, их около 10.
Т.к. отдельного поля в CRM "менеджер" нет, фамилия отражается в общем тексте поля Комментарии.
Задача заключается в том, чтобы в соседний столбец вывести фамилию нужного менеджера из заранее определенного массива.
Количество строк выгрузки динамическое и >32000. Соответственно необходимо все эти строки (а точнее ячейку в поле Комментарии) сопоставить с массивом менеджеров.

Буду благодарен за помощь в реализации!

Пример в аттаче!
Поиск уникальных и вывод вариаций по ним
 
Цитата
Илья Демид написал:
В последней строчке кода "i1" замените на необходимую
Затупил - спасибо большое!!!
Поиск уникальных и вывод вариаций по ним
 
Цитата
Nordheim написал:
Немного доработал
Спасибо большое!! Идеально!!!
Только один вопрос - пытался "раскурить" макрос, но так и не понял - не хватает знаний. Как можно переместить формирование отчетной таблицы на ячейку М1, к примеру?
Поиск уникальных и вывод вариаций по ним
 
Добрый день!
Помогите, пожалуйста, советом: имеется массив данных, каждому из элементов (в примере ID АД и ID ОРГ) соответствуют определенные номера в столбцах "Номер 1", "Номер 2", "Номер 3", "Номер 4". При этом в изначальном массиве есть дубли по исходным элементам.

Что необходимо - нужен массив с уникальной связкой ID АД и ID ОРГ и с отражением по нему всех вариаций по полям "Номер ...". В примере выделил.

в общем, как смог, объяснил, буду благодарен за любую помощь!
Адресный список
 
Цитата
pharmaprofi написал:
Может вам проще сервисом воспользоваться? Например DaData
Спасибо большое, попробую через них решить!
Адресный список
 
Плюс-минус видение формата "Как должно выглядеть" во вложении.
Адресный список
 
В исходном массиве более 30 000 адресов. Самый идеальный вариант - создание програмки в которую можно загрузить этот список (каждый адрес - отдельная строка) и на выходе получить полное соответствие данного адреса формату ФИАС. По тем объектам, что не удалось сопоставить можно проставить либо "адрес не найден", либо варианты адреса на выбор.
Адресный список
 
Добрый день!
В Excel имеется большой адресный список объектов. Присутствуют обязательные поля - Город, Улица, Номер дома и внутренний уникальный идентификатор. Необходимо данный адресный список скрестить с адресным списком ФИАС.
Вывод массива данных при заданном параметре поиска
 
Добрый день!
Уважаемые эксперты, кто-нибудь может помочь с моим вопросом:

В имеющемся макросе необходимо добавить условие вывода не более 150 значений. В случае, если количество объектов для вывода составит свыше 150, то необходимо вывести msgbox:
Код
Dim arr, arr1, i&, k&, s$, ss$
    arr = Range("A1").CurrentRegion.Value
    s = LCase(InputBox("Первый параметр"))
    ss = LCase(InputBox("Второй параметр"))
    ReDim arr1(LBound(arr) To UBound(arr), LBound(arr, 2) To UBound(arr, 2))
    For i = LBound(arr) To UBound(arr)
        If LCase(arr(i, 1)) Like "*" & s & "*" Then
            If LCase(arr(i, 1)) Like "*" & ss & "*" Then
                k = k + 1
                arr1(k, 1) = arr(i, 1)
            End If
        End If
    Next
    If k > 0 Then Range("D1").Resize(k) = arr1
End Sub
Вывод массива данных при заданном параметре поиска
 
Юрий М, Защиту на ввод пробела ("предотвратить обработку пробела") я делать не хочу и не прошу. Мне достаточно будет сделать проверку на 150 объектов.
Страницы: 1 2 След.
Наверх