Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
824to828
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
824to828
824to828
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Auswahl kopieren

Auswahl kopieren
28.11.2006 15:11:44
Daniel
Hallo!
Bisher habe ich das immer mit der Maus mit Copy&Paste gemacht.
Da der schritt aber immer wieder und gehäuft vorkommt, wollte ich
das doch gerne lieber per Knopfdruck machen.
Ich markiere mehrere (kann aber auch nur 1) Zelle in Spalte A. Diese hängen nicht zusammen. Nun will ich von diesen Zeilen die Spalten A-I ins Blatt Tabelle1 übertragen. Dort in die nächste freie Zeile gemäß A.
Abschließend sollen in den kopierten Zeilen (ich meine die Quellzeilen), in Spalte G eine 0 eingetragen werden.
Hat jemand einen Tipp für mich?
Grüße,
Daniel

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Auswahl kopieren
28.11.2006 17:01:17
Yal
Erste Schritt:
Mache wie immer, aber schaltet vorher die Makro-Aufzeichnung an: Extras >> Makros >> Aufzeichen, Beenden des Aufzeichnen nicht vergessen.
dann Code anschauen (Extras >> Makros >> Visual Basic Editor, unter "Module" Modul1 dopppelklicken, und probieren zu verstehen, was da steht. Kein Angst, es ist relativ einfach.
Zweite Schritte: Code anpassen. Na gut, da wird's ein Bischen komplizierter!
Als mögliche Code:

Sub Übertragen()
Dim Zelle
For Each Zelle In Selection.Cells
Worksheets("Tabelle1").Range("A65500").End(xlUp).Offset(1, 0) = Zelle.Value
Zelle.Offset(0, 6) = 0
Next Zelle
End Sub

Es ist nur ein schnelle Entwurf, aber es kann beliebig erweitert werden.
Viel Spass
Yal
Anzeige
AW: Auswahl kopieren
28.11.2006 17:11:31
Daniel
Hallo Yal,
da wird aber nur der Wert der Spalte A übertragen. Ich will aber, dass A bis I übertragen wird in A bis I von Tabelle1.
Ich habe keine Ahnung wie ich das anpassen muss!?
Grüße,
Daniel
AW: Auswahl kopieren
28.11.2006 17:53:06
Yal
Wichtig ist vor allem, dass Du verstehst, was passiert und warum es passiert. Dann kannst Du in das Geschehen eingreifen.

Sub Übertragen()
Dim Zelle, i%
For Each Zelle In Selection.Cells
For i = 0 To 8
Worksheets("Tabelle1").Range("A65500").End(xlUp).Offset(1, i) = Zelle.Offset(0, i).Value
Next i
Zelle.Offset(0, 6) = 0
Next Zelle
End Sub

Vergleich die beide Code und schaue die Funktion Offset in der Online-Hilfe. Ohne Verstand, keine Vorsprung.
Viel Erfolg
Yal
Anzeige
AW: Auswahl kopieren
29.11.2006 08:47:47
Daniel
Hallo Yal,
also ich denke ich habe das verstanden.
Das einzige Problem das nun noch besteht ist, dass Spalte B - I immer einen tiefer steht als A.
Ich denke es liegt daran, dass hier
For i = 0 To 8
Worksheets("Tabelle1").Range("A65500").End(xlUp).Offset(1, i) = Zelle.Offset(0, i).Value
Next i
nach der letzten gefüllten gesucht wird, diese aber nach dem ersten Durchlauf eins weiter runter gerutscht ist.
Was muss nun noch geändert werden?
Danke und beste Grüße,
Daniel
AW: Auswahl kopieren
29.11.2006 15:05:43
Yal
Ja. Ich teste selten meine Programmierung.
Es liegt daran, dass nach dem wir die erste Wert in Tabelle1!Axx geschrieben haben, die nächste Suche nach End(xlUp) eine Zeile Tiefer kommt!
Hier ein korrigierte Version:

Sub Übertragen()
Dim Zelle, i%, Ziel%
For Each Zelle In Selection.Cells
Ziel = Worksheets("Tabelle3").Range("A65500").End(xlUp).Row + 1 'Ermittlung der Ziel-Zeile nicht mehr im For-Schleife, und daher ungeändert
For i = 0 To 8 ' A + 0 --> A, A + 8 --> I
Worksheets("Tabelle3").Cells(Ziel, i) = Zelle.Offset(0, i).Value
Next i
Zelle.Offset(0, 6) = 0 ' A + 6 --> H
Next Zelle
End Sub

Anzeige
AW: Auswahl kopieren
29.11.2006 16:21:51
Daniel
Hallo Yal,
die Zeile
Worksheets("Tabelle3").Cells(Ziel, i) = Zelle.Offset(0, i).Value
wird gelb markiert. Vorher kommt der Kommentar:
"Anwendungs-oder objektdefinierter Fehler".
Was läuft nun falsch?
danke,
Daniel
AW: Auswahl kopieren
29.11.2006 20:58:49
Yal
Dumm von mir: da ich die Zielzelle nicht mehr mit Offset definiere, sondern direkt mit
Cells(x, y)
darf natürlich x nicht null sein!
also
For i = 0 To 8
ändern in
For i = 1 To 9
Schritt für Schritt ...
Yal
AW: Auswahl kopieren
30.11.2006 08:16:54
Daniel
okay, danke.
Entsprechend muss es dann
Zelle.Offset(0, i - 1).Value
heißen. also statt i, i-1.
Danke,
Daniel
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige