Добрый день. Создал форму топорную пока что, не могу понять как сделать так чтобы после ответа да или ввода в форму текстбокса даже не знаю как правильно сделать, чтобы менялись значения [vba]
Код
Public Sub UserForm_Initialize() Me.Label1 = Results.Range("b8").Value Me.Label2 = Results.Range("с8").Value End Sub
[/vba] как сделать так чтобы эти 2 значения label1 & label2 менялись, ну к примеру вниз б8 и с8 потом б9 и с9 и тд при этом выполнялся макрос который ищет дату и если не находит то создает столбец и заносит результат в него он в основном документе Спасибо Документ прикладываю но их тут 2 основй МФО договор, работают вместе.
Добрый день. Создал форму топорную пока что, не могу понять как сделать так чтобы после ответа да или ввода в форму текстбокса даже не знаю как правильно сделать, чтобы менялись значения [vba]
Код
Public Sub UserForm_Initialize() Me.Label1 = Results.Range("b8").Value Me.Label2 = Results.Range("с8").Value End Sub
[/vba] как сделать так чтобы эти 2 значения label1 & label2 менялись, ну к примеру вниз б8 и с8 потом б9 и с9 и тд при этом выполнялся макрос который ищет дату и если не находит то создает столбец и заносит результат в него он в основном документе Спасибо Документ прикладываю но их тут 2 основй МФО договор, работают вместе.Amon
как сделать так чтобы эти 2 значения label1 & label2 менялись, ну к примеру вниз б8 и с8 потом б9 и с9 и тд при этом выполнялся макрос который ищет дату и если не находит то создает столбец и заносит результат в него он в основном документе
на более русском языке, я, признаться, ничего не понял.
как сделать так чтобы эти 2 значения label1 & label2 менялись, ну к примеру вниз б8 и с8 потом б9 и с9 и тд при этом выполнялся макрос который ищет дату и если не находит то создает столбец и заносит результат в него он в основном документе
на более русском языке, я, признаться, ничего не понял.StoTisteg
Интуитивно понятный код - это когда интуитивно понятно, что это код.
во втором документе таблица Действие , ожидаемый результат и в третий столбец в той же строке должны заноситься значения. Так вот Лейбл 1 берет значение из столбца "действие" лейбл 2 из столбца "ожидаемые результат" а ответ Да или же текстбокс вноситься в третий столбец в таблицу фактический результат. в той же строке И после этого он должен брать теже значения с той же строки только на одну ниже. и тд.
во втором документе таблица Действие , ожидаемый результат и в третий столбец в той же строке должны заноситься значения. Так вот Лейбл 1 берет значение из столбца "действие" лейбл 2 из столбца "ожидаемые результат" а ответ Да или же текстбокс вноситься в третий столбец в таблицу фактический результат. в той же строке И после этого он должен брать теже значения с той же строки только на одну ниже. и тд.Amon
Сообщение отредактировал Amon - Вторник, 15.05.2018, 17:02
Amon, - Прочитайте Правила форума Особенно внимательно п. 5j. И поправьте свои посты. До исправления постов все ответы будут удаляться администрацией
Amon, - Прочитайте Правила форума Особенно внимательно п. 5j. И поправьте свои посты. До исправления постов все ответы будут удаляться администрацией_Boroda_
одному Биллу Гейтсу ведомо, что он вернёт при таком обращении вместо дефолтного свойства
Спасибо большое, буду иметь ввиду. Изменил. Сделал пока что так, вроде работает. Правда мне кажется макросы в UserForm не очень наверное и все равно, Спасибо, тему наверное можно закрывать. [vba]
Код
Public Sub CommandButton1_Click() Dim rCell As Range With Results If .Cells.Find(test.[c2]) Is Nothing Then .Columns("D").Insert xlRight, xlFormatFromRightOrBelow .Range("D8:D23").Interior.Color = RGB(120, 7, 7) .[d4].Value = test.[a4] .[d3].Value = test.[a6] .[d5].Value = "Фактический результат" .[d6].Value = test.[c2] .[d3:d7].HorizontalAlignment = xlCenterAcrossSelection .[d3:d23].EntireColumn.AutoFit .[d3:d23].Resize(21).Borders.Weight = xlMedium End If If Me.Label1.Caption = Results.Range("b7").Value And Me.Label2.Caption = Results.Range("c7").Value Then Set rCell = Intersect(.Rows(7), .Cells.Find(test.[c2]).EntireColumn) ElseIf Me.Label1.Caption = Results.Range("b8").Value And Me.Label2.Caption = Results.Range("c8").Value Then Set rCell = Intersect(.Rows(8), .Cells.Find(test.[c2]).EntireColumn) End If If IsEmpty(rCell) = False Then With Results .Columns("D").Insert xlRight, xlFormatFromRightOrBelow .Range("D8:D23").Interior.Color = RGB(120, 7, 7) .[d4].Value = test.[a4] .[d3].Value = test.[a6] .[d5].Value = "Фактический результат" .[d6].Value = test.[c2] .[d3:d7].HorizontalAlignment = xlCenterAcrossSelection .[d3:d23].EntireColumn.AutoFit .[d3:d23].Resize(21).Borders.Weight = xlMedium If Me.Label1.Caption = Results.Range("b7").Value And Me.Label2.Caption = Results.Range("c7").Value Then Set rCell = Intersect(.Rows(7), .Cells.Find(test.[c2]).EntireColumn) ElseIf Me.Label1.Caption = Results.Range("b8").Value And Me.Label2.Caption = Results.Range("c8").Value Then Set rCell = Intersect(.Rows(8), .Cells.Find(test.[c2]).EntireColumn) End If 'Set rCell = Intersect(.Rows(8), .Cells.Find(test.[c2]).EntireColumn) End With End If With rCell rCell.WrapText = True .Value = "Ошибок нет" .Interior.Color = vbGreen End With Me.Label1.Caption = Results.Range("b8").Value Me.Label2.Caption = Results.Range("c8").Value End With End Sub
одному Биллу Гейтсу ведомо, что он вернёт при таком обращении вместо дефолтного свойства
Спасибо большое, буду иметь ввиду. Изменил. Сделал пока что так, вроде работает. Правда мне кажется макросы в UserForm не очень наверное и все равно, Спасибо, тему наверное можно закрывать. [vba]
Код
Public Sub CommandButton1_Click() Dim rCell As Range With Results If .Cells.Find(test.[c2]) Is Nothing Then .Columns("D").Insert xlRight, xlFormatFromRightOrBelow .Range("D8:D23").Interior.Color = RGB(120, 7, 7) .[d4].Value = test.[a4] .[d3].Value = test.[a6] .[d5].Value = "Фактический результат" .[d6].Value = test.[c2] .[d3:d7].HorizontalAlignment = xlCenterAcrossSelection .[d3:d23].EntireColumn.AutoFit .[d3:d23].Resize(21).Borders.Weight = xlMedium End If If Me.Label1.Caption = Results.Range("b7").Value And Me.Label2.Caption = Results.Range("c7").Value Then Set rCell = Intersect(.Rows(7), .Cells.Find(test.[c2]).EntireColumn) ElseIf Me.Label1.Caption = Results.Range("b8").Value And Me.Label2.Caption = Results.Range("c8").Value Then Set rCell = Intersect(.Rows(8), .Cells.Find(test.[c2]).EntireColumn) End If If IsEmpty(rCell) = False Then With Results .Columns("D").Insert xlRight, xlFormatFromRightOrBelow .Range("D8:D23").Interior.Color = RGB(120, 7, 7) .[d4].Value = test.[a4] .[d3].Value = test.[a6] .[d5].Value = "Фактический результат" .[d6].Value = test.[c2] .[d3:d7].HorizontalAlignment = xlCenterAcrossSelection .[d3:d23].EntireColumn.AutoFit .[d3:d23].Resize(21).Borders.Weight = xlMedium If Me.Label1.Caption = Results.Range("b7").Value And Me.Label2.Caption = Results.Range("c7").Value Then Set rCell = Intersect(.Rows(7), .Cells.Find(test.[c2]).EntireColumn) ElseIf Me.Label1.Caption = Results.Range("b8").Value And Me.Label2.Caption = Results.Range("c8").Value Then Set rCell = Intersect(.Rows(8), .Cells.Find(test.[c2]).EntireColumn) End If 'Set rCell = Intersect(.Rows(8), .Cells.Find(test.[c2]).EntireColumn) End With End If With rCell rCell.WrapText = True .Value = "Ошибок нет" .Interior.Color = vbGreen End With Me.Label1.Caption = Results.Range("b8").Value Me.Label2.Caption = Results.Range("c8").Value End With End Sub
Этот код в форме Results это это лист книги из другого документа. Public Results as Worksheet в модуле а Set Results = Workbooks("Resultati.xlsm").Worksheets("MFO") в книге. я надеюсь в этот раз я ничего не нарушил
Этот код в форме Results это это лист книги из другого документа. Public Results as Worksheet в модуле а Set Results = Workbooks("Resultati.xlsm").Worksheets("MFO") в книге. я надеюсь в этот раз я ничего не нарушил Amon
Сообщение отредактировал Amon - Вторник, 15.05.2018, 17:59