Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1532to1536
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
Inhaltsverzeichnis

Macro finde-copy-paste

Macro finde-copy-paste
06.01.2017 12:26:43
Armin
Hi Forum,
ich habe eine Frage und Zwar in Tablle1 habe ich in der Splate A2:A300 eine Salate von Zahlen zwischen 1-5 und im und in der Spalte 2 habe ich Buchstaben A bis E je nach Zahlen, d.h. 1=AA, 2=BB usw.
Nun möchte ich ein Macro schreiben, das in der Tablle1 die Spalte A durchsucht und die Buchstaben in der Spalte B kopiert in der Tabell2 je nach der entsprechenden Zahl hinzufügt.
ich habe folgendes geschrieben:
Dim i as Integer
worksheets("Tabelle1").activate
for i= A2 to A300
if cells(i,1).value=1 then cells(i,2).select
selection.copy
worksheets("Tabelle2").activate
Range("A1") .select
selection.paste
next i
aber ich weiß es nicht wo mein Fehler ist.
wäre nett wenn Sie mir helfen

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
for i= 2 to 300
06.01.2017 12:45:44
Klaus
Hallo
for i= A2 to A300 muss heißen:
for i= 2 to 300
Den Rest habe ich nicht getestet
Sieht aber so aus als würdest Du immer A1 in Tabelle2 überschreiben.
MfG Klaus
AW: for i= 2 to 300
06.01.2017 12:57:51
Armin
Ja ich habe das hier falsch geschrieben...in Excel ist i=2 to 300
AW: Macro finde-copy-paste
06.01.2017 13:23:19
Gerd
Hallo Armin!
Damit die Variablendeklaration erzwungen wird, fehlt ganz oben im Modul „Option Explicit“.
Ein Makro hat einen Anfang u. ein Ende ~f~('Sub / <pre>Public Sub / <pre>Private Sub --- End Sub</pre>'")~f~.
Die Laufvariable „i“ sollte „As Long“ deklariert sein, u.a. weil die Cells-Schreibweise Zeilen- u. Spaltennummer von diesem Datentyp erwartet.
In der Kopfzeile der For..Next-Schleife sollten keine Zelladressen, sondern Zahlen stehen (For i = 2 To 300).
Bei Verwendung der Range-Copy-Methode, muss entweder das Ziel in der selben Codezeile als Argument angegeben werden (… .Copy Destination:= Worksheets(„Tabelle2“).Cells(1,2)
oder in einer nächsten Zeile ist die PasteSpecial-Methode anzugeben, z.B.
Worksheets(„Tabelle1“).Cells(i,1).Copy Worksheets(„Tabelle2“).Cells(1,1).PasteSpecial Paste:=xlPasteAll
„Activate“,“ select“ und „Selection“ sind zwar zum Testen geeignet, jedenfalls Laufzeithemmer u. nahezu immer verzichtbar.
Was du genau machen möchtest, ist „Excel-technisch“ leider noch nicht so ganz bei mir angekommen.
Vielleicht reicht Sortieren?
Gruß Gerd
Anzeige

251 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige