Clever-Excel-Forum

Normale Version: VBA Zellenwerte in andere Tabelle kopieren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Moin zusammen, 
ich bin ein völliger Vollidiot was VBA angeht. Jedoch sehe ich keine andere Möglichkeit mein Problem anders zu lösen.

Folgendes Szenario:

Mittels eine Funktion, wird einer Zelle ein bestimmter Wert zugesprochen. Diesen Wert geht es zu übermitteln.

In der Zelle Y6 befindet sich also eine Formel, welche den Wert 1.10 für diese Zelle erzeugt.
Ich möchte nun, mittels Makro, das diese Zellen ohne Leerzeile in eine andere Tabelle untereinander kopiert wird. Angefangen bei der Zelle E3.

Die Funktion in meinem Kopf müsste ungefähr so Lauten:

Wenn Tabelle1 / Y6 Gefüllt -> den Wert nach Tabelle2 / E3 kopieren.
Wenn Tabelle1 / Z6 Gefüllt -> den Wert nach Tabelle2 / E4 kopieren.
Wenn Tabelle1 / AA6 Gefüllt -> den Wert nach Tabelle2 / E5 Kopieren.
 ---- // ---- 
Wenn Tabelle1 / Z7 Leer -> überspringen und bei Tabelle1 / AA7 weiter machen.
Wenn Tabelle1 / AA7 gefüllt -> den Wert nach Tabelle2 / Spalte E Zelle ?? Anfügen.

(Y12 bis Y29 soll das Endresultat darstellen. So soll es in Tabelle2 aussehen)


Es soll am ende eine Liste ohne Lücken entstehen, in der KEINE Formeln sondern Werte stehen.
Mein Mindblow ist, wenn eine Zelle nicht gefüllt ist, was passiert dann?! Ich versteh es einfach nicht...



Ich hoffe mir kann jemand helfen. Nach 2 Std Googeln, habe ich nichts auf die Kette bekommen und stehe völlig auf dem Schlauch.

 
Hier meine Tabelle 
[attachment=35722]
Hallöchen,

probiere mal das mit Aufzeichnung eines Makros hinzubekommen. Siehe dazu Excel-Word-Makrorekorder
Zitat:Hier meine Tabelle 


Hi,
ich sehe nur ein Bild und keine Tabelle.
In Bildern lassen sich keine Formeln oder Makros testen. Lade bitte eine Beispieltabelle hoch.
Hallo

hier mal ein Code von dem ich hoffe das er passt. Basierend auf den Bild Angaben.  Würde mich freuen wenn es damit klappt.

mfg Gast 123

Code:
Option Explicit                  'Gast 123  für Clever Forum
Dim AC As Range, lz1 As Long     'Zeilen Abfrage
Dim j As Integer, s As Integer   'Spalten Abfrage


'kopieew aus Tabelle1, Spalten Y bis AE
'in Tabelle2 ab Spalte E ohne Lücken!!


Sub Tabellen_kopieren()
Dim Tb2 As Worksheet, z As Long
Set Tb2 = Worksheets("Tabelle2")
Tb2.Cells.Clear

With Worksheets("Tabelle1")
     'LastZell in Tabelle1 zum auflisten
     lz1 = .Cells(Rows.Count, "Y").End(xlUp).Row
     z = 1 '1.Zeile in Tabelle2
     'Alle Zeilen in Spalte Y abfragen
     For Each AC In .Range("Y1:Y" & lz1)
         s = 5   '1. Spalte "E" in Tabelle2
        'Spalte Y bis AE einzeln abfragen
        For j = 1 To 7
            'Spalte Y bis AE nach Werten abfrage
            If AC.Cells(1, j) <> "" Then
               'Kopieren wenn Wert gefunden wird
               AC.Cells(1, j).Copy Tb2.Cells(z, s)
               s = s + 1  'auf Next Spalte setzen
            End If
        Next j
        'auf naechste Zeile umschalten wenn Werte kopiert wurden!
        If s > 5 Then z = z + 1
     Next AC
End With

'**  dieser Teil kann gelöscht werden; aktiviert nur Tabelle2
Worksheets("Tabelle2").Select
End Sub