Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Zelleinträge über ein Makro in eine Liste kopieren





Frage

Hallo Ich habe ein Formblatt wo an verschiedenen Stellen Einträge vorgenommen werden. Diese Werte möchte ich über ein Makro in eine Liste in ein anderes Tabellenblatt kopieren. Der Ersteintrag soll in A10 kopiert werden. Wenn ich jetzt das Formblatt nochmal ausfülle und führe das Makro nochmal aus, soll er A10 nicht überschreiben, sondern in Spalte A die nächste freie Zelle suchen und es dahin kopieren. So das ich dann z.B. bei 5x Makro ausführen eine Liste von A10 bis A14 hätte usw. Gruß Graf_Zahl

Antwort 1 von cmkatz

Hallo,

also, generell kopieren und in die nächste leere Zelle in SpalteA geht mit diesem Makro:


Sub kopieren()
    Range("C5").Activate
    Selection.Copy
    Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Select
    ActiveSheet.Paste
End Sub


in meinem Bsp. wird Zelle C5 kopiert und in die nächste freieZelle in Spalte A eingefügt.

Das mit der nächsten freien ab A20 krieg ich auch noch hin! ;-)

Gruß
cmkatz

Antwort 2 von Graf_Zahl

Es sollen 20 Zellen kopiert werden. diese makiere ich zusammen und beim kopieren trägt Excel sie automatisch nebeneinander in A10,B10,C10 usw. ein. Bei dem nächsten Eintrag
soll er dann in die nächste freie Spalte kopieren
zB. A11,B11,C11 usw.

Antwort 3 von Graf_Zahl

immer die gleichen. wichtig ist aber in ein anderes Tabellenblatt.

Antwort 4 von cmkatz

Hallo, eine Frage noch, dann habe ich's:

welche Zellen sind das genau? Alle aus einer Spalte?

Gruß
cmkatz

Antwort 5 von Graf_Zahl

Hallo

die Zellen sind in einer Spalte Q3 bis AG3

Gruß
Graf_Zahl

Antwort 6 von Graf_Zahl

Sorry

ich meinte alle aus einer Zeile Q3 bis AG3

Antwort 7 von cmkatz

So, hier nun das Makro:


Sub Kopieren()
    Range("Q3:AG3").Select
    Range("AG3").Activate
    Selection.Copy
    Sheets("Tabelle2").Activate
    If Range("A10") = "" Then
        Range("A10").Select
        ActiveSheet.Paste
    Else
        Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Select
        ActiveSheet.Paste
    End If
    Sheets("Tabelle1").Activate
    Range("A1").Select
End Sub


Gruß
cmkatz

Antwort 8 von cmkatz

Achja,

hat's denn überhaupt geholfen?

Gruß
cmkatz

Antwort 9 von Graf_Zahl

Hallo

Danke erstmal

aber bei mir geht es nicht. Es kommt eine fehlermeldung.
Er makiert Range("A10").Select unter der If Zeile gelb.

If Range("A10") = "" Then
Range("A10").Select
ActiveSheet.Paste

Antwort 10 von cmkatz

Seltsam, bei mir geht's...

versuch mal

Range("A10").Activate


Gruß
cmkatz

P.S.: Welche Excel-Version hast du?

Antwort 11 von Graf_Zahl

Hab das mit Range("A10").Activate probiert.
Geht auch nicht, das selbe wie vorher.
Ich habe Office 2000

Antwort 12 von cmkatz

Kannst du mir mal deine Tabelle schicken?

Gruß
cmkatz

Antwort 13 von Graf_Zahl

klar kann ich das.
passe noch eben alles an.
Wohin soll ich sie schicken?
Vielleicht kannst Du mir deine Telefonnummer geben damit wir zusammen am PC alles mal durchgehen.
Meine Tel.-Nr.: 02984/908099

Antwort 14 von cmkatz

meine email-adresse

sn(at)cmkatz.de

Gruß
cmkatz

Antwort 15 von cmkatz

Hallo Graf und alle anderen,

So, hier für alle, die das gleiche oder ein ähnliches Problem haben, die Fehlerbeseitigung in diesem Fall:

Du willst den Code per Button aufrufen, hast den Code, der als Makro gedacht ist, aber in "Tabelle1(Tabelle1)" als Definition für "Private Sub CommandButton3_Click" kopiert. Hier kommt Excel aber nicht den Makro-Befehlen klar.

Ich habe jetzt den Code in das Modul1 hineinkopiert, und dem CommandButton3 per


Private Sub CommandButton3_Click()
Kopieren
End Sub


das Makro "Kopieren" zugewiesen.

Jetzt startest du per Buttondruck lediglich das Makro "Kopieren".

Gruß
Cmkatz


Antwort 16 von cmkatz

Nachtrag:

ich habe den Code noch umgebaut, weil die Zellen Q3:AC3 aus FOrmeln bestehen. Beim Kopieren wären sonst nur die Formeln kopiert worden.


Sub Kopieren()
    Range("Q3:AC3").Select
    Range("AC3").Activate
    Selection.Copy
    Sheets("Gesamtauswertung").Activate
    If Range("A10") = "" Then
        Range("A10").Activate
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Else
        Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Activate
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    End If
    Sheets("Bewertungsbogen").Activate
    Range("A1").Select
End Sub


So werden nur die Werte kopiert, die sich aus den Formeln ergeben.

Gruß
cmkatz

Antwort 17 von Graf_Zahl

Hallo

kannst Du mie die fertige Datei zurück Mailen?
Dann kann ich davon ausgehen das es funktioniert,
weil ich keine große ahnung von VBA habe.

Auf jeden Fall
vielen, vielen Dank für die Hilfe
Hätte nicht gedacht das mir so intensiv geholfen wird.

Meine E-Mail

Roland_Hoffi@t-online.de

Antwort 18 von cmkatz

Hallo,

die müßte eigentlich schon bei Dir sein...

Gruß
cmkatz

Antwort 19 von Graf_Zahl

Hallo

Dank der super Hilfe funktioniert jetzt alles.

Gruß
Graf_Zahl

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: