2.4k Aufrufe
Gefragt in Tabellenkalkulation von taler Einsteiger_in (3 Punkte)
Hallo,
ich habe eine Excel-Datei mit drei Reitern erzeugt. Reiter eins "Eingabe" enthält eine Maske mit 22 Eingabefelder. Diese sollen in Reiter drei "Übersicht" in einer Zeile über ein Makro-Button "Speichern" abgespeichert werden. Zusätzlich sollen die Eingabefelder dann wieder für die nächste Eingabe frei (leer sein) und die Tabelle soll gespeichert werden. Gebe ich dann die nächste Eingabe ein und speichere ich, soll in der Übersicht die Liste erweitert werden, also die neue Zeile soll unter den bestehenden angeschlossen werden.

Als Beispiel:
Im Reiter "Eingabe" sind Feld A1, B2 und C3 Eingabefelder. Diese sollen im Reiter "Übersicht" dann in einer Zeile abgespeichert werden, also A1 in A1, B2 in B1 und C3 in C1.

Ich habe leider nur sehr wenig Ahnung von der Programmierung von Makros, geht das?

Ich wäre für Hilfe sehr dankbar!

2 Antworten

0 Punkte
Beantwortet von finger59 Experte (1.3k Punkte)
Hi,

für diese Aufgabe brauchst Du keine Makrokenntnisse und selber programmieren.

Benutze hierzu den Makrorekorder (Makro aufzeichnen). Dieser wiederholt auf Knopfdruck jeden Vorgang, den Du vorher bei der Aufzeichnung vorgenommen hast.

In Deinem Fall....

Wechsel in Tabellenblatt Übersicht...
markiere Zeile 2 und füge dort eine neue ein
gehe zurück in Tabellenblatt Eingabe
markiere dort die Zelle A1 und dann kopieren
wechsel in Übersicht
gehe auf Zelle A2 und dort Inhalte einfügen Werte
wechsel in Eingabe
makiere dort Zelle A2 und dann kopieren
wechsel in Übersicht
gehe auf Zelle B2 und dort Inhalte einfügen Werte
usw... soviele Zellen wie Du benötigst...
dann zum Schluss kannst Du z.B. zurück in die Eingabe
und den Bereich A1:A3 (oder eben weiter) markieren
und löschen....

Makro Ende...

Zu finden ist der Makrorekorder unter Extras - Makros - und
dann aufzeichnen...

Am einfachsten vorher noch einen Button aus dem Formular
nehmen.

In diesem Sinne... have a nice Day... Gruß Helmut
0 Punkte
Beantwortet von coros Experte (4k Punkte)
Halo taler,

nachfolgendes Makro kopiert Dir die Werte aus Tabellenblatt "Eingabe" aus den Zellen A1, B2 und C3 in das Tabellenblatt "Übersicht" in die erste freie Zeile in die Spalten A, B und C.

Kopiere das Makro in ein StandardModul und starte es z.B. über eine Befehlsschaltfläche
Teste das Makro aber bitte in einer Testdatei und nicht gleich in Deiner Originaldatei.

Option Explicit

Sub Kopieren()
Dim lngFirstRow As Long

lngFirstRow = Sheets("Übersicht").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
With Sheets("Übersicht")
.Cells(lngFirstRow, 1) = Sheets("Eingabe").Range("A1")
.Cells(lngFirstRow, 2) = Sheets("Eingabe").Range("B2")
.Cells(lngFirstRow, 3) = Sheets("Eingabe").Range("C3")
End With

Sheets("Eingabe").Range("A1,B2,C3").ClearContents
End Sub
Solltest Du nicht wissen, wie Du den Code in Deine Datei bekommst, dann schau mal auf meiner HP in der Rubrik Anleitungen und dort dann in der Anleitungsnummer 3 nach. Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.

Bei Fragen melde Dich.

MfG,
Oliver
[sub]Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du[/sub]
[sup] ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.[/sup]
...