вопрос: в ручную ввожу данные в наряд для расчета заработной платы (Лист1)... можно ли на автоматизировать создание технологических карт (нарядов) через пользовательскую форму и вводить информацию на Лист2 (в ручную перенес информацию), а в дальнейшем на основе этих данных уже создавать то, что необходимо? есть переменная информация (изделие, партия, дата, ФИО работника, разряд работ, наличие коэффициента, время). Один работник может в один день выполнять разный разряд работ, по разным изделиям и партиям, и соответственно разное время.
создание итоговых технологических карт возможно и на отдельных листах
день добрый, уважаемые форумчане! :hello:
вопрос: в ручную ввожу данные в наряд для расчета заработной платы (Лист1)... можно ли на автоматизировать создание технологических карт (нарядов) через пользовательскую форму и вводить информацию на Лист2 (в ручную перенес информацию), а в дальнейшем на основе этих данных уже создавать то, что необходимо? есть переменная информация (изделие, партия, дата, ФИО работника, разряд работ, наличие коэффициента, время). Один работник может в один день выполнять разный разряд работ, по разным изделиям и партиям, и соответственно разное время.
создание итоговых технологических карт возможно и на отдельных листахnespica2012
начало положено, отлично, надо еще иметь возможность добавить в форму отработанные часы на определенную дату
может разделить задачу на две части? первая -это введение данных на лист 2 через пользовательскую форму, а вторая -создавать техкарту на основе данных с листа 1
начало положено, отлично, надо еще иметь возможность добавить в форму отработанные часы на определенную дату
может разделить задачу на две части? первая -это введение данных на лист 2 через пользовательскую форму, а вторая -создавать техкарту на основе данных с листа 1nespica2012
nespica2012, я вам пример показал, а вы теперь далее усовершенствуйте. Наберите в поисковике пользовательские формы vba изучайте применяйте,задавайте вопросы. У вас наверное много сотрудников надо вводить новых. Поэтому надо другой подход(поиск по первой букве делать )
nespica2012, я вам пример показал, а вы теперь далее усовершенствуйте. Наберите в поисковике пользовательские формы vba изучайте применяйте,задавайте вопросы. У вас наверное много сотрудников надо вводить новых. Поэтому надо другой подход(поиск по первой букве делать )parovoznik
nespica2012, Доброго времени суток. Слегка доработал форму и код. И как вариант получилось то что вы хотели. Надеюсь я вас правильно понял. [spoiler] Код формы: [vba]
Код
Option Explicit Dim i As Long, LastRow As Long, LastCol As Long Dim x As Object, RngCol As Range
Private Sub Btn_Отмена_Click() Unload Me End Sub
Private Sub CommandButton2_Click() Application.ScreenUpdating = False ' выключили обновление экрана On Error Resume Next
' проверка на заполнение полей For Each x In Me.Controls
If TypeOf x Is MSForms.TextBox Or TypeOf x Is MSForms.ComboBox Then
If x.Value = "" Then MsgBox "Все обязательные поля должны быть заполнены!", 48, "Сообщение" Exit Sub End If
Set RngCol = .Rows(1).Find(Me.Cmb_День.Text, , xlFormulas, xlWhole) ' ячейка в первой строке выбранного дня .Cells(LastRow + 1, RngCol.Column) = Me.txt_Часы.Value
With Sheet3 Dim myArray() As Variant myArray = Range("H1:AC1") myArray = WorksheetFunction.Transpose(myArray)
With UserForm1 .Cmb_День.List = myArray End With
End With
End Sub
[/vba]
nespica2012, Доброго времени суток. Слегка доработал форму и код. И как вариант получилось то что вы хотели. Надеюсь я вас правильно понял. [spoiler] Код формы: [vba]
Код
Option Explicit Dim i As Long, LastRow As Long, LastCol As Long Dim x As Object, RngCol As Range
Private Sub Btn_Отмена_Click() Unload Me End Sub
Private Sub CommandButton2_Click() Application.ScreenUpdating = False ' выключили обновление экрана On Error Resume Next
' проверка на заполнение полей For Each x In Me.Controls
If TypeOf x Is MSForms.TextBox Or TypeOf x Is MSForms.ComboBox Then
If x.Value = "" Then MsgBox "Все обязательные поля должны быть заполнены!", 48, "Сообщение" Exit Sub End If
Set RngCol = .Rows(1).Find(Me.Cmb_День.Text, , xlFormulas, xlWhole) ' ячейка в первой строке выбранного дня .Cells(LastRow + 1, RngCol.Column) = Me.txt_Часы.Value
MikeVol, супер! прошу прощения, что не ответил сразу, с интернетом на работе беда и не смог просмотреть файл. то что надо! после ввода в форму разносит по столбцам как надо
вопрос вдогонку, а можно ли теперь после внесения данных в таблицу, сформировать техкарту, при следующих условиях: при совпадении номера изделия и номера партии -формируется одна техкарта на отдельный лист, по образцу как на первом листе.
MikeVol, супер! прошу прощения, что не ответил сразу, с интернетом на работе беда и не смог просмотреть файл. то что надо! после ввода в форму разносит по столбцам как надо
вопрос вдогонку, а можно ли теперь после внесения данных в таблицу, сформировать техкарту, при следующих условиях: при совпадении номера изделия и номера партии -формируется одна техкарта на отдельный лист, по образцу как на первом листе.nespica2012
возможно ли дополнить форму сохранять данные в вводимых полях, чтобы каждый раз не вводить по новой, например, после нажатия кнопки "заполнить" появлялось сообщение "ввести еще данные" и в этом случае поля остаются заполненными, чтобы ускорить процесс ввода значений. или может быть другой способ?
MikeVol, добрый вечер,
возможно ли дополнить форму сохранять данные в вводимых полях, чтобы каждый раз не вводить по новой, например, после нажатия кнопки "заполнить" появлялось сообщение "ввести еще данные" и в этом случае поля остаются заполненными, чтобы ускорить процесс ввода значений. или может быть другой способ?nespica2012