Moin Leute,
ich komme leider bei der VBA Programmierung nicht zurecht. Ich habe mir etwas zusammengebastelt. Nach dem Gebrauch von dem Quellcode schließt mir das Pogramm komplett. Ich habe einen Userform erstellt.
In der gebe ich das gewünschte Tabellenblatt und die weiteren Infromationen wie Minuten, Bermekung etc..
Die restlichen Spalte ergeben sich aus einer IF-Anweisung. Das Makro sucht sich in dem gewünschten Tabellenblatt die letzte Zeile und fügt die Informationen dort ein. Ich denke, dass Problem bei den IF Anweisungen.
Der Code:
Private Sub Button_Take_Click()
'Einträge der Schaltflächen in die Arbeitsmappe übernehmen
ThisWorkbook.Sheets(MAE_Nummer.Text).Select
Dim last As Variant
last = ActiveSheet.Cells(Rows.Count, 5).End(xlUp).Row + 1
ActiveSheet.Cells(last, 10).Value = meinFormular.Bemerkung.Value
ActiveSheet.Cells(last, 11).Value = meinFormular.Wiederanlauf.Value
ActiveSheet.Cells(last, 5).Value = meinFormular.Text_Minuten.Value
ActiveSheet.Cells(last, 6).Formula = "=IF(E" & last & "="""","""",E" & last & "/1440)"
ActiveSheet.Cells(last, 7).Value = Date
ActiveSheet.Cells(last, 1).Value = meinFormular.MAE_Nummer.Value
ActiveSheet.Cells(last, 8).Value = meinFormular.Auswahl_Ursache
ActiveSheet.Cells(6, 2).Value = meinFormular.Zustand_MAE
ActiveSheet.Cells(last, 2).Formula = _
"=VLOOKUP(A" & last & " , Arbeitsplätze!A:G,2,0)"
ActiveSheet.Cells(last, 3).Formula = _
"=VLOOKUP(A" & last & " , Arbeitsplätze!A:G,3,0)"
ActiveSheet.Cells(last, 4).Formula = _
"=VLOOKUP(A" & last & " , Arbeitsplätze!A:G,4,0)"
ActiveSheet.Cells(last, 9).Formula = _
"=VLOOKUP(H" & last & " , Katalog!A:C,2,0)"
End Sub
Private Sub UserForm_Initialize()
'Einträge für die Schaltfläche
Dim sh As Worksheet
Dim i As Integer
Dim objSheet As Object
For Each objSheet In ThisWorkbook.Worksheets
MAE_Nummer.AddItem objSheet.Name
Next
MAE_Nummer.Text = ActiveSheet.Name
Set sh = ThisWorkbook.Sheets("Katalog")
Me.Auswahl_Ursache.Clear
For i = 6 To sh.Range("A" & Application.Rows.Count).End(xlUp).Row
Me.Auswahl_Ursache.AddItem sh.Range("A" & i).Value
Next i
Set sh = ThisWorkbook.Sheets("Katalog")
Me.Zustand_MAE.Clear
For i = 5 To sh.Range("G" & Application.Rows.Count).End(xlUp).Row
Me.Zustand_MAE.AddItem sh.Range("G" & i).Value
Next i
End Sub
|