Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1464to1468
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Aktualisierung einer Zelle bzw. Spalte
05.01.2016 12:32:44
Marcel
Hallo Liebe Excel Gemeinde,
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

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Aktualisierung einer Zelle bzw. Spalte
05.01.2016 12:41:16
Rudi
Hallo,
sieht so aus als ob Text in der Zelle steht und kein Datum. Kein Wunder, denn Listboxen enthalten immer Text.
Zelle = CDate(Datum)
Gruß
Rudi
habe ich schon so ein schickes Programm erstellt
schick ist anders.

AW: Aktualisierung einer Zelle bzw. Spalte
05.01.2016 12:45:29
Marcel
Hallo Rudi,
das kenne ich schon mit dem Text und habe sowas ähnliches ausprobiert.
Aber vielleicht habe ich ja etwas falsch gemacht.
Wo muss ich denn Code denn eintragen? Zelle = CDate(Datum)
LG Marcel

AW: Aktualisierung einer Zelle bzw. Spalte
05.01.2016 12:50:41
Rudi
was weiß ich, welches deiner Steuerelemente das Datum enthält.
Vermutlich
ActiveSheet.Cells(neuereihe, 8) = CDate(TextBox10.Value)
Gruß
Rudi

Anzeige
AW: Aktualisierung einer Zelle bzw. Spalte
05.01.2016 12:53:06
Marcel
Hy Rudi,
siehste das habe ich noch nicht versucht. ;-)
ich probier gleich mal ob das geht.
LG

AW: Aktualisierung einer Zelle bzw. Spalte
05.01.2016 12:57:36
Marcel
Hy Rudi,
ich werd verrückt, scheint so als ob es funktioniert.
Man sollte eben nicht immer zu kompliziert denken.
Vielen Vielen Dank
LG Marcel

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige