Zusammenfassen, aber wie?



Excel-Version: 9.0 (Office 2000)
nach unten

Betrifft: Zusammenfassen, aber wie?
von: Ingo
Geschrieben am: 02.07.2002 - 17:21:42

Hallo Profis,
hab da nen Problem:
Ich will folgenden Ablauf zusammenfassen (geht noch nen ganzes Eck weiter):
Rows("22:22").Select
Selection.Delete Shift:=xlUp
Rows("23:23").Select
Selection.Insert Shift:=xlDown
Rows("33:33").Select
Selection.Delete Shift:=xlUp
Rows("34:34").Select
Selection.Insert Shift:=xlDown

Mein Ansatz:
For x = (22, 33, 106, ...)
Rows("x").Select
Selection.Delete Shift:=xlUp
Rows("x+1").Select
Selection.Insert Shift:=xlDown

Wie muß das richtig heißen?

Vielen Dank für jede Hilfe.

nach oben   nach unten

Re: Zusammenfassen, aber wie?
von: Hans W. Hofmann
Geschrieben am: 02.07.2002 - 17:32:58

Mal was grundsätzliches.
Wieso löscht Du die Zeile um dann gleich wieder eine einzufügen.
Das macht doch keinen Sinn. UNd weiter lass doch wenigstens die Selectierei weg. Und noch weiter aus 22,33,106 kann ich keine Reihe ableiten - liegt ja vielleicht an dem Pisasyndrom ;-)


Gruß HW


nach oben   nach unten

Re: Zusammenfassen, aber wie?
von: Ingo
Geschrieben am: 02.07.2002 - 17:43:24

Selectiererei weglassen soll heißen: statt select, neue Zeile, selection, einfach meinen Befehl hinten anhängen?
Das mit dem löschen und einfügen hängt damit zusammen, daß ich ein importiertes Datengewirr ordnen muß und so hats funktioniert (via try and error, genauerer Grund ist mir nicht bekannt, da ich recht wenig Plan von VBA habe) nur will ichs jetzt noch vereinfachen.
Was die Reihen betrifft: wenn ich dem PC sag Rows("22:22") weiß er, daß ich die Zeile 22 meine. (Zumindest ist dies bei meinem der Fall!?)

nach oben   nach unten

Re: Zusammenfassen, aber wie?
von: Hans W. Hofmann
Geschrieben am: 02.07.2002 - 17:50:06

EInfach anhägen z.B. ja.
Warum nicht einfach den Bereich löschen .clear
sollte aufs gleiche hinauslaufen, oder seh ich das falsch?
Deine Syntax ist schon klar, nicht aber die Bildung der Zahlenschrittfolge und das sollte zur Konstruktion einer Schleife möglich sein...

Gruß HW


nach oben   nach unten

Re: Zusammenfassen, aber wie?
von: Ingo
Geschrieben am: 02.07.2002 - 17:55:16

Ah, ich glaube es dämmert.
clear klingt sinnvoll, werde ich gleich in die tat umsetzen.
Es ist halt leider nicht jede 11. Reihe, sondern immer mal ne andere... d.h. eine Vereinfachung wird nicht möglich sein?
Schade eigentlich, aber trotzdem Danke.

nach oben   nach unten

Re: Zusammenfassen, aber wie?
von: Hans W. Hofmann
Geschrieben am: 02.07.2002 - 17:56:41

Naja, sag halt mal an was man die zu clearende Zeile erkennt.
Man kann ja auch suchen...


Gruß HW


nach oben   nach unten

Re: Zusammenfassen, aber wie?
von: PeterW
Geschrieben am: 02.07.2002 - 18:03:44

Hallo Ingo (und HW),

falls es sich um immer die gleichen Zeilen (11, 22, 31, 48, 123, 133 ...) handelt, ließen diese sich nicht über eine zusätzliche Tabelle als Argumente in einer Schleife benutzen?

Gruß
Peter


nach oben   nach unten

Re: Zusammenfassen, aber wie?
von: Ingo
Geschrieben am: 02.07.2002 - 18:04:31

Suchen wird denk ich genauso schwer, einige Zeilen sind leer, das geht ja noch aber bei den anderen isses unterschiedlich, manche haben nur text drinnen manche haben zahlen, aber die Falschen (da weiß ich welche das sind), usw. Das hängt damit zusammen, das dies ein importiertes Datenpaket ist, das ursprünglich für ein mir nicht bekanntes Programm gedacht war.
In der Summe kann ich dann wohl auch meine "Langversion" nehmen, denn funktionieren tut sie ja, schaut nur net so toll aus. Aber nur für die Optik lohnt sich ein langes rumdoktern wohl eher nicht.

nach oben   nach unten

Re: Zusammenfassen, aber wie?
von: Ingo
Geschrieben am: 02.07.2002 - 18:06:13

Argument in Schleife!?
Das übersteigt mein Können, aber es sind die gleichen Zeilen.

nach oben   nach unten

Re: Zusammenfassen, aber wie?
von: Hans W. Hofmann
Geschrieben am: 02.07.2002 - 18:09:31

Greifen wir mal Peters Idee auf. Is auf jeden Fall wartungsfreundlicher und anpassbarer (die wortschöftungen könnten von Verona sein ;-)

a = Array(11, 22, 106)
For i = 1 To UBound(a)
Rows(a(i)).Delete Shift:=xlUp
Rows(a(i + 1)).Insert Shift:=xlDown
Next

Gruß HW

nach oben   nach unten

Re: Zusammenfassen, aber wie?
von: Hans W. Hofmann
Geschrieben am: 02.07.2002 - 18:10:35

Soll heißen

a = Array(11, 22, 106)
For i = 1 To UBound(a)
Rows(a(i)).Delete Shift:=xlUp
Rows(a(i) + 1).Insert Shift:=xlDown
Next

Gruß HW

nach oben   nach unten

Re: Zusammenfassen, aber wie?
von: PeterW
Geschrieben am: 02.07.2002 - 18:15:35

Hi HW,

mit einem Array isses natürlich noch eleganter (wieder was gelernt).

Gruß
Peter


nach oben   nach unten

Re: Zusammenfassen, aber wie?
von: Ingo
Geschrieben am: 02.07.2002 - 18:15:55

Super,
Danke Euch Beiden, genau so hab ichs mir vorgestellt, nur daß ichs dem Pc nicht begreiflich machen konnte...

nach oben   nach unten

Re: Zusammenfassen, aber wie?
von: PeterW
Geschrieben am: 02.07.2002 - 20:59:34

Hallo HW,

bei mir mit XL 8 klappt das nur mit:

For i = 0 To UBound(a)

Gruß
Peter

 nach oben

Beiträge aus den Excel-Beispielen zum Thema "Einfügen einer Formel mit VBA"