Gopak
04-04-2013, 14:57
Добрый день.
Есть макрос, который копирует станицу в новый документ, открывает форму для ввода данных, а потом введенные данные копирует в документ, который создали вначале.
Проблема в том, что данные с формы вставляет не в созданный документ, а в старый.
Код который вызывает у меня сомненья и явно проблемный выделен
Sub ReqForm()
MKTG = ActiveWorkbook.Name
Start = ActiveCell.Row
Fname = Range("BH" & Start).Value
yourdate = Format(Date, "yyyy-mm-dd")
Fname = Fname & yourdate & ".xlsx"
Worksheets("ReqForm").Copy
Dim x As String
strPath = "C:\Temp"
On Error Resume Next
x = GetAttr(strPath) And 0
If Err = 0 Then
FileNameXls = strPath & "\" & Fname
ActiveWorkbook.SaveAs Filename:=FileNameXls
Else
MsgBox "Путь не доступен " & strPath, vbCritical
End If
Windows(MKTG).Activate
UserForm1.Show
supplier = UserForm1.ComboBox1.Value
summ = UserForm1.TextBox1.Value
Unload UserForm1
Windows(FileNameXls).Activate
Range("AP14").Select
ActiveCell.FormulaR1C1 = supplier
Range("AP15").Select
ActiveCell.FormulaR1C1 = summ
End Sub
Есть макрос, который копирует станицу в новый документ, открывает форму для ввода данных, а потом введенные данные копирует в документ, который создали вначале.
Проблема в том, что данные с формы вставляет не в созданный документ, а в старый.
Код который вызывает у меня сомненья и явно проблемный выделен
Sub ReqForm()
MKTG = ActiveWorkbook.Name
Start = ActiveCell.Row
Fname = Range("BH" & Start).Value
yourdate = Format(Date, "yyyy-mm-dd")
Fname = Fname & yourdate & ".xlsx"
Worksheets("ReqForm").Copy
Dim x As String
strPath = "C:\Temp"
On Error Resume Next
x = GetAttr(strPath) And 0
If Err = 0 Then
FileNameXls = strPath & "\" & Fname
ActiveWorkbook.SaveAs Filename:=FileNameXls
Else
MsgBox "Путь не доступен " & strPath, vbCritical
End If
Windows(MKTG).Activate
UserForm1.Show
supplier = UserForm1.ComboBox1.Value
summ = UserForm1.TextBox1.Value
Unload UserForm1
Windows(FileNameXls).Activate
Range("AP14").Select
ActiveCell.FormulaR1C1 = supplier
Range("AP15").Select
ActiveCell.FormulaR1C1 = summ
End Sub