ich habe da mal ein Problem das mich schon seit Tagen beschäftigt.
Und zwar habe ich schon so ein schickes Programm erstellt, welches durch eine Eingabemaske welches Werte mit folgendem Code in die Tabelle "Eingabedaten" schreibt:
Private Sub CommandButton1_Click() 'BAR Button
Dim neuereihe As Long
Dim rngSource As Object
Dim intColums As Integer
On Error Resume Next
Worksheets("Eingabedaten").Activate
neuereihe = Range("A65536").End(xlUp).Row + 1
ActiveSheet.Cells(neuereihe, 1).Value = CDbl(TextBox9.Value)
ActiveSheet.Cells(neuereihe, 2).Value = Me.ComboBox1.Value
ActiveSheet.Cells(neuereihe, 3).Value = Me.TextBox2.Value
If ComboBox2 = "MGutschein" Then
ActiveSheet.Cells(neuereihe, 4).Value = "Gutschein"
Else
ActiveSheet.Cells(neuereihe, 4).Value = Me.ComboBox2.Value
End If
ActiveSheet.Cells(neuereihe, 5).Value = Me.ComboBox3.Value
If ComboBox2 = "Sonstiges" Then
ActiveSheet.Cells(neuereihe, 13).Value = Me.TextBox3.Value
TextBox3.Value = TextBox7.Value
TextBox7 = ""
MsgBox "Sie haben gerade eine Ausgabe eingetragen!!"
End If
ActiveSheet.Cells(neuereihe, 6).Value = CDbl(TextBox7.Value)
ActiveSheet.Cells(neuereihe, 7).Value = "BAR"
ActiveSheet.Cells(neuereihe, 8) = TextBox10.Value
TextBox10 = Format(tb_end.Value, "dd.mm.yyyy")
If ComboBox3.Value = "Treuerabatt-5 " Then
ActiveSheet.Cells(neuereihe, 9).Value = "Treue"
ActiveSheet.Cells(neuereihe, 10).Value = "1"
End If
ActiveSheet.Cells(neuereihe, 11).Value = Me.TextBox11.Value
ActiveSheet.Cells(neuereihe, 13).Value = Me.TextBox3.Value
ActiveSheet.Cells(neuereihe, 14).Value = Me.TextBox4.Value
ComboBox1.Value = ""
ComboBox2.Value = ""
TextBox7.Value = ""
TextBox2.Value = ""
ListBox4.Tag = 1
Set rngSource = Range("A1").CurrentRegion
Set rngSource = rngSource.Offset(1, 0).Resize(rngSource.Rows.Count - 1, rngSource.Columns. _
Count)
intColums = rngSource.Columns.Count
With Sheets("Eingabedaten")
ListBox4.ListStyle = fmListStyleOption ' Auswahlfeld zu Beginn der Zeile
ListBox4.MultiSelect = fmMultiSelectMulti
ListBox4.ColumnCount = intColums
ListBox4.ColumnHeads = True
ListBox4.RowSource = rngSource.Address
ListBox4.ColumnWidths = "30;50;40;120;160;40;50"
If .Cells(Rows.Count, 1).End(xlUp).Row > 0 Then
DatArr = .Range("A2:P5" & .Cells(Rows.Count, 1).End(xlUp).Row)
End If
End With
Set rngSource = Nothing
ListBox4.Tag = ""
Danach steht in Listbox4 die Eingaben der Makse. Jetzt habe ich ein Makro erstellt welches diese Daten in eine andere Tabelle "Abrechnung" schreiben sowie die Daten der Tabelle "Eingabedaten" wieder löscht:
Private Sub CommandButton3_Click()
Dim Wert As String
Sheets("Eingabedaten").Select
Range("A2").Select
Range("A2:N10").Select
Selection.Copy
Sheets("Abrechnung").Select
Range("B5000").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("B4:O61536").Select
Application.CutCopyMode = False
Selection.Sort Key1:=Range("B4"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Range("B65536").End(xlUp).Offset(1, 0).Select
Sheets("Eingabedaten").Select
Range("A2:P10").Select
Selection.ClearContents
Range("A2").Select
TextBox12 = ""
Wert = Sheets("Abrechnung").Cells(Rows.Count, "B").End(xlUp)
TextBox8 = Wert
Wert1 = Sheets("Abrechnung").Cells(Rows.Count, "L").End(xlUp)
TextBox15 = Wert1
TextBox9 = TextBox8 + 1
ListBox4.ListStyle = fmListStyleOption = False
ListBox13 = "0"
ListBox14 = "0"
TextBox2 = "1"
Application.EnableEvents = False
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
Application.CalculateFull
Sheets("Übersicht").Select
Range("B6").Select
End Sub
Jetzt zu meinem Problem bei dem ganzen:Ich habe eine andere Tabelle die diese Daten auswertet. Aber diese tut es nur wenn ich in der Datumsspalte in Tabelle "Abrechnung" die Zelle selektiere und mit Enter bestätige.
Könnt ihr mir vielleicht helfen und sagen wie ich das automatisiere? Um jede Zelle in der Datumssplate nicht einzeln auszuwählen und mit Enter zu bestätigen zu müssen.?
Ich habe es schon mit meheren Sachen wie z.B. ActiveCell.FormulaR1C1 = "04/01/2016" dann funktioniert das aber nur für dieses einen Tag und eine Zelle der Datumsspalte.
Ich währe euch da sehr Dankbar und hoffe auf Hilfe.
LG Marcel