263 Aufrufe
Gefragt in Tabellenkalkulation von
Hallo und guten Tag. Ich bin ein VBA Laie und habe versucht durch diverse Foren mich selbst zublesen. Leider habe ich bis heute keine Richtung Antwot oder Code gefunden.

Zu meinem Problem. Wir haben 12 Fahrzeuge als zu jedem ein Tabellenblatt. Dort habe ich folgende Spalten Datum , Startwert, Endwert und gefahren KM gesamt. Mit dem Ausrechen der Differenz zwischen Start und Endwert habe ich die Summenformel zu gefahren Km benutzt und geht.

Nun mein Problem.

Ich habe als erste Tabelle1 (Übersicht) jedes Fahrzeug angelegt. Dort sollen per Button die Wert eingetragen und dem entsprechenden Fahrzeug zu geordnet werden. Zwei Spalten habe ich C26 Datum und D26 Endwert.  Also 12x Button benötige ich. Was ich noch bräuchte ist, dass wenn ein neuer Eintrag (neuer Tag) erfolgt, dass dann auch in der entsprechenden Tabelle eine Zeile weiter runter Geschieben wird.

Ich hoffe ihr könnt mir helfen und ich habe es richtig erklärt

5 Antworten

0 Punkte
Beantwortet von m-o Profi (22.8k Punkte)

Hallo Thomas,

ich würde nicht so viele Buttons einfügen, da das dann ganz schnell unübersichtlich wird. Du kannst dir die Angaben ganz einfach mit einer SUMMEWENN-Formel aus den einzelnen Arbeitsblättern holen. Das einzige Probleme dabei ist, dass du die Formel abhängig vom Fahrzeug für jede Zeile individuell erstellen müsstest. Das würde ich dann mit einem Makro automatisieren.

Lade doch mal ein Beispieldatei hoch. Wie das funktioniert, kannst du hier nachlesen: Anleitung

Gruß

M.O.

0 Punkte
Beantwortet von kody Experte (3.1k Punkte)
Bearbeitet von kody

Hallo Thomas,

warum suchst du dir im Internet nicht einfach ein passendes Fahrtenbuch. Da ist die Auswahl groß, z.B. hier:
https://vorlage-kostenlos.de/fahrtenbuch/
und, wenn du mal in GOOGLE "excel fahrtenbuch vorlage kostenlos" eingibst, hast du eine große Auswahl an kostenlosen Fahrtenbüchern. Du ersparst dir mit der Aussuche wahrscheinlich mehr Zeit und Arbeit, als wenn du dir selbst ein Fahrtenbuch erstellst, und hast die Gewissheit, dass es auch funktioniert.

MfG Kody

0 Punkte
Beantwortet von
Hallo Kody

weil das Fahrtenbuch was ich erstelle, etwas speziell ist.

Folgenden Code habe ich

Sub Kreuz3_Klicken()

[c26].Copy Tabelle3.[a104]
[d26].Copy Tabelle3.[d104]
Rows(103).Insert shift:=xlShiftDown
Rows(104).Insert

End Sub

Das Eintragen klappt. Nur bei neuen Eintrag wird die Zeile A104 und D104 überschrieben. Diese sollte aber bei Tag Wechsel nach unten verschoben werden

LG Thomas
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
Bearbeitet von nighty
Hallo Thomas

Ein Ansatz!

Von deinen 12 Commandbutton habe ich als Beispiel 2 dargestellt

Fülle alle 12 Button mit dem selben Code von den folgenden 2 Beispielen

Benenne die 12 Button fortlaufend

Fahrzeug-01

Fahrzeug-02

etc.

Benenne die 12 Tabellenblätter fortlaufend

Fahrzeug-01

Fahrzeug-02

etc.

Private Sub CommandButton1_Click()
Call Übertrag(CommandButton1.Caption)
End Sub

Private Sub CommandButton2_Click()
Call Übertrag(CommandButton2.Caption)
End Sub

Bei weiteren Code im folgenden Allgemeinen Modul immer Worksheets(Cmdb) mit nutzen!

Ein Makro für alle 12 Tabellenblätter

Sub Übertrag(Cmdb As String)
Dim LetzteZeile As Long
LetzteZeile = Worksheets(Cmdb).UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1
Worksheets(Cmdb).Range("A" & LetzteZeile) = Worksheets("Übersicht").Range("C26")
Worksheets(Cmdb).Range("D" & LetzteZeile) = Worksheets("Übersicht").Range("D26")
End Sub

Gruß Nighty

p.s.

Falls noch Frgen sind oder Ergänzungen nötig sind helfen bestimmt die schon beteiligten!

Den Text und das Makro habe ich übrigens mit der Diktiierfunction und Vorlesefunction erstellt ,als fast Blinder!
0 Punkte
Beantwortet von
Danke für deine Hilfe Nighty

Ich das mit dem Übertrag in das entsprechende Tabellenblatt habe ich hin bekommen. Leider wird aber keine Zeile neu eingefügt. Sprich die Werte werden auf Zeile 107 Geschrieben und dann nach soll die Zeile 107 mit den kopierten Werten eine Zeile nach unten geschoben werden. Dein Vorschlag habe ich in ein Tabellenbaltt eingefügt, jedoch wird keine neue Zeile eingefügt.

LG Thomas
...