übertragen

Bild

Betrifft: übertragen
von: Michael
Geschrieben am: 25.08.2015 11:20:38

Hallo Leute
bräuchte mal eure Hilfe und zwar trage ich im Tabellenblatt Venjakob-2177 Daten ein und
die sollen dann im Tabellenblatt Matrix immer nach datum in eine neue Spalte eingetragen werden.
Das heißt wenn ich Daten eingegeben habe und auf speichern gehe soll eine neue Spalte immer fortlaufend erstellt werden mit dem Datum.
So das man es nachverfolgen kann.
wär für eure Hilfe sehr dankbar.
Gruß Michael
Hier die Datei
https://www.herber.de/bbs/user/99815.xlsm

Bild

Betrifft: AW: Passwort fehlt
von: hary
Geschrieben am: 25.08.2015 11:30:38
Moin Michael
Die naechste freie kannst du so ermitteln.

Cells(3, Columns.Count).End(xlToLeft).Column + 1

gruss hary

Bild

Betrifft: AW: übertragen
von: Matthias
Geschrieben am: 25.08.2015 11:39:00
Hallo Michael,
da du das Projekt kennwortgeschützt hast, kann man leider nicht groß helfen. Es ist scheinbar schon bestehender Code vorhanden, denn es passiert ja was wenn man auf Speichern klickt.
Damit kannst du die erste freie Spalte in Zeile 3 ermitteln:


Spalte = Tabelle2.Cells(3,columns.count).End(xlToleft).Column + 1

Beim Übertragen von Tabelle 1 nach 2 musst du natürlich deine Spaltenvariable angeben, im Cells-Befehl kannst du dies auch mit Zahlen statt Buchstaben tun: Cells(Zeile,Spalte)
Bsp. für die Lacknummer:

Tabelle2.Cells(14, Spalte).Value = Tabelle1.Range("D11").Value

Tabelle2.Cells(3, Spalte).Value = Date
... gibt dir das heutige Datum in Zeile 3 deiner Spalte aus.
Mehr fällt mir spontan, ohne den Code zu sehn, nicht ein.
lg Matthias

Bild

Betrifft: AW: übertragen
von: Michael
Geschrieben am: 25.08.2015 11:44:44
Hallo und danke
Sorry hier das Passwort
123Michi

Bild

Betrifft: AW: übertragen
von: Matthias
Geschrieben am: 25.08.2015 12:59:20
Hallo Michael,
ich wusste nicht, dass das Übertragen bei dir noch in der Entwurfsphase war. Dennoch empfehle ich nicht den Makrorecorder für sowas, es wird dabei viel unnötiger Murks mit reingenommen. Ich hab dir hier mal das Muster für die Zeilen drei bis fünf erstellt, den Rest musst du schon selber fertigfummeln:

Sub Übertragen()
Dim wksQuelle As Worksheet, wksZiel As Worksheet
Set wksQuelle = Tabelle1    ' "Venjakob-2177"
Set wksZiel = Tabelle2      ' "Matrix"
' erste freie Spalte bestimmen
Spalte = wksZiel.Cells(3, Columns.Count).End(xlToLeft).Column + 1
' Daten übernehmen   
wksZiel.Cells(3, Spalte).Value = Date                           ' heutiges Datum
wksZiel.Cells(4, Spalte).Value = wksQuelle.Range("C5").Value    ' Zeichnungs-Nr.
wksZiel.Cells(5, Spalte).Value = wksQuelle.Range("??").Value    ' Auftrags-Nr.
' ...
End Sub
Übrigens: Wenn du den Codenamen eines Tabellenblattes nimmst, kannst du das Blatt umbenennen, ohne den Code des Makros ändern zu müssen. Den findest du in der VBA-Umgebung im Normalfall im Projekt-Explorer (links oben). In deiner Mappe wäre das z.B. Tabelle1("Venjakob-2177") wobei vor der Klammer der Code-Name steht. In dem Abschnitt oben ist dieser auch verwendet worden.
lg Matthias

Bild

Betrifft: AW: übertragen
von: Michael
Geschrieben am: 25.08.2015 17:44:36
Super Danke funktioniert super .
Ihr seid die besten
Danke
Gruß Michael

 Bild

Beiträge aus den Excel-Beispielen zum Thema "übertragen"