Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
436to440
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
436to440
436to440
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Datenreihe kopieren

Datenreihe kopieren
04.06.2004 09:35:10
Andreas
Hallo,
ich hoffe jemand kann mir helfen. Ich möchte einzelne Zeilen eines Tabellenblattes "ZK" (entsprechende Reihen sind mit einem x in der Spalte markiert) in eine Ablagetabelle kopieren! Das funktioniert! Ich würde gerne das der letzte Ablagebeitrag ganz oben steht und nicht in die erste freie Zeile kopiert wird(also ganz unten in der Ablagetabelle): Es sollen also immer die aktuellsten zuletzt kopierten Zeilen oben stehen. Ich habe mit Hilfe des MAkros dies programmiert. Wenn ich nur eine Zeile aus dem Tabellenblatt ZK kopiere, dann klappt das auch. Sortiert schön als oberstes ein. Wenn ich aber mehrere Zeilen kopiere(auf einmal), dann wird zwar der erste Beitrag oben platziert, die erste Zeile wird frei gemacht (also die vorhandenen nAblagezeilen inder Ablagetabelle werden ausgeschnitten und eine Zeile darunter wieder eingefügt). So der Hacken, die zweite Zeile aus ZK wird aber ganz unten in die ABlagetabelle kopiert. Ich denke, dass lieggt am p = p + 1 !!! Leider habe ich keine Ahnung wie das hinbekommen könnte! Hoffe ihr habt ein paar gute Ideen oder Vorschläge! (aber die habt ihr ja eigentlich immer ;-) )Vielen DAnkim Voraus.
MFG Andreas
Dim g As Long, s As Long
If WorksheetFunction.CountIf([j4:j103], "x") = 0 Then
MsgBox "Wenn Sie ToDo´s in die Ablage verschieben möchten, dann markieren Sie die einzelnen ToDo-Zeilen mit einem X in der Spalte Ablage!!!", vbExclamation, "Bitte beachten Sie!"
Exit Sub
End If
For g = 4 To 103
If Sheets("UG").Cells(g, 10).Value Like "x" Then
Sheets("Ablage").Select
Sheets("Ablage").Range("A2:J5000").Select
Selection.Cut
Sheets("Ablage").Range("A3").Select
ActiveSheet.Paste
Do
p = p + 1
Loop Until IsEmpty(Sheets("Ablage").Cells(p, 7))
Rows(g).Copy Destination:=Sheets("Ablage").Cells(p, 1)
Rows(g).ClearContents
End If
Next g

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datenreihe kopieren
Martin
Hallo Andreas,
mal wieder ;-)
Ändere mal die For-Next-Schleife wie folgt:

Sub übernehmen()
For g = 4 To 103
If Sheets("UG").Cells(g, 10).Value Like "x" Then
Sheets("Ablage").Range("A2").EntireRow.Insert
Sheets("UG").Rows(g).Copy Destination:=Sheets("Ablage").Range("A2")
Sheets("UG").Rows(g).ClearContents
End If
Next g
End Sub

Und lies mal unbedingt
http://xlfaq.herber.de/xlbasics/main_sel.htm
Die ganzen Select-Befehle sind unnötig, verlangsamen den Code, erschweren das Verständnis und die Fehlersuche und machen den Code nur unübersichtlich.
Gruß
Martin Beck
Anzeige
AW: Datenreihe kopieren
04.06.2004 10:40:45
Andreas
Hey Martin,
ja, ja ich, aber ich lerne dafür jeden Tag wieder neue Sachen, Dank Euch! ;-)
Also unter Select Befehl verstehst du .Select ?
Ich hab noch eine Frage: Bei einer If-Bedingung Textvergleich "offen", wenn dann jemand in die Zelle offen und ein Leerzeichen dahinter eingibt, dann findet er das nicht mehr! Es stimmt ja auch nicht mehr überein. Gibt es da einen Befehl, der eventuelle Leerzeichen davor oder dahinter ignoriert? Ich kenne, dass man das mit Punkten oder Kommas usw macht (bei Geldbeträgen z.b. nur ein Komma)
MFG und Danke funktioniert erstklassig. Gibt es eigentlich eine Übersicht über solche Befehle wie EntireRow? UNd was sie ausführen?
Anzeige
AW: Datenreihe kopieren
Martin
Hallo Andreas,
Also unter Select Befehl verstehst du .Select ?
Ja. Aber auch Activate ist i.d.R. nicht erforderlich.
Bei einer If-Bedingung Textvergleich "offen", wenn dann jemand in die Zelle offen und ein Leerzeichen dahinter eingibt, dann findet er das nicht mehr! Es stimmt ja auch nicht mehr überein. Gibt es da einen Befehl, der eventuelle Leerzeichen davor oder dahinter ignoriert?
Hierzu ein Thread von gestern:
https://www.herber.de/forum/archiv/436to440/t436890.htm
Schau Dir außerdem die Hilfe zum Like-Operator an, den Du ja selbst verwendest.
Gibt es eigentlich eine Übersicht über solche Befehle wie EntireRow? UNd was sie ausführen?
1. Vorgang (hier: Zeile einfügen) per Makrorecorder aufzeichen, aufgezeichneten Code analysieren. Hilfe zu Schlüsselwörtern erhältst Du, wenn Du den Cursor in dem Schlüsselwort plazierst und F1 drückst.
2. Objektkatalog in der Entwicklungsumgebung.
3. (Hand-)Bücher zu VBA.
Gruß
Martin Beck
Anzeige
Danke sehr (o.T.)
04.06.2004 11:13:16
Andreas
;-)

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige