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

code ohne zu selektieren

code ohne zu selektieren
25.06.2003 16:46:44
Philipp
bin ein Anfänger in Excel und habe eben einige Teile der Excel Faq auf dieser Seite gelesen. Ein Themenbereich ist selektieren. Tatsächlich glaube ich dass die meisten Anfänger dieses Problem haben. Ich habe eben mein code durchgelesen und versucht das selektieren zu vermeiden aber bin andauernd auf Probleme gestossen. Könnte mir jemand bitte weiterhelfen. Habe

Sheets("Tabelle1").Select
Range("A101:A300").Select
Selection.ClearContents
Sheets("Tabelle2").Select
Range("D7:IV7").Select
Selection.Copy
Sheets("Tabelle1").Select
Range("A101").Select
Selection.PasteSpecial Paste:=xlAll, Operation:=xlNone, SkipBlanks:=True _
, Transpose:=True
Range("A101:A400").Select
Selection.Sort Key1:=Range("A101"), Order1:=xlDescending, Header:=xlGuess _
, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom

Ziemlich Übel was? ;)

Hab versucht den code so zu verbessern:

Worksheets("Tabelle1").Range("A101:A300").ClearContents
WorkSheets("Tabelle2").Range("D7:IV7").Copy Destination:=Worksheets("Tabelle1").Range("101").PasteSpecial Paste:=xlAll, SkipBlanks:=True, Transpose:=True
Worksheets("Tabelle1").Range("A101:A400").Sort Key1:=Range("A101"), Order1:=xlDescending, Header:=xlGuess _
, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom

Warum funkt dieser viel kürzerer und übersichtlicher code nicht?

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

Betreff
Datum
Anwender
Anzeige
Re: code ohne zu selektieren
25.06.2003 16:55:32
Georg_Zi

Hallo Philipp

in der 3 Zeile fehlt unter anderem der Bezug für das zweite Range

Mal ungetestet da keine Zeit.

Gruß Hajo

Falls Code vorhanden wurde er getestet unter Betriebssystem Windows 2000 Pro und Excel Version 2003 Beta 2.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.

Re: code ohne zu selektieren
25.06.2003 16:57:32
Andreas Walter

Erstens sagst Du nicht
Was nicht läuft - Fehlermeldung, falsche Ergebnisse oder was

Zweitens bin ich persönlich der Meinung, dass man nur optimieren soll, wenn es wirklich notwendig ist - Es ist heutzutage fast immer billiger einen neuen schneller PC zu kaufen, als viel Zeit beim optimieren zu verbringen.

Anzeige
Re: code ohne zu selektieren
25.06.2003 16:59:32
ChrisL

Hi Philipp

Ohne getestet zu haben...

> Worksheets("Tabelle1").Range("A101:A300").ClearContents

Müsste funktionieren

> WorkSheets("Tabelle2").Range("D7:IV7").Copy Destination:=Worksheets("Tabelle1").Range("101").PasteSpecial Paste:=xlAll, SkipBlanks:=True, Transpose:=True

Im zweiten Teil... Range("101") fehlt der Buchstabe

> Worksheets("Tabelle1").Range("A101:A400").Sort Key1:=Range("A101"), Order1:=xlDescending, Header:=xlGuess _
, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom

Key1:= musst du ebenfalls den Blattbezug herstellen.

Da ich gerade dran bin... mit eine With Anweisung kannst du dir noch ein bischen Schreibarbeit sparen.

With Worksheets("Tabelle1")

.Range("A101:A300").ClearContents
Worksheets("Tabelle2").Range("D7:IV7").Copy Destination:=.Range("A101").PasteSpecial Paste:=xlAll, SkipBlanks:=True, Transpose:=True
.Range("A101:A400").Sort Key1:=.Range("A101"), Order1:=xlDescending, Header:=xlGuess _
, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom

End With

Gruss
Chris

PS: Bitte jeweils auch die Fehlermeldung und die Zeile angeben ;-)

Anzeige
danke aber pastespecial funkt nicht
25.06.2003 17:15:05
philipp

danke, hab den SortFehler jetzt behoben.

Ich muss aber in der 2.ten Zeile PasteSpecial verwenden weil ich Transpose:= true brauche. Hab verschiedene varianten versucht aber kriegs nicht hin (Fehler: Erwartet Anweisungsende)

WorkSheets("Tabelle2").Range("D7:IV7").Copy Destination:=Worksheets("Tabelle1").Range("101").PasteSpecial Paste:=xlAll, SkipBlanks:=True, Transpose:=True

Vorschläge?



danke, aber...
25.06.2003 17:22:37
Philipp

danke für den With tip, da kann ich mir ja noch was sparen. Mehr als zur Optimierung dient dieser code für mich eigentlich als lehre wie man das richtig machen sollte. Ich möchte VB in Excel halbwegs im Griff bekommen.

Leider habe ich noch einen Fehler in Zeile 2 der Buchstabe wars nicht. Es steht Erwartet Anweisungsende?! hmmm...



Anzeige
Re: danke, aber...
25.06.2003 17:30:21
ChrisL

Kann auch nicht genau sagen wieso, aber scheint für einmal (PasteSpecial) muss es auf zwei Zeilen verteilt werden...

Worksheets("Tabelle2").Range("D7:IV7").Copy
Worksheets("Tabelle1").Range("A101").PasteSpecial Paste:=xlAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True

Gruss
Chris

super! vielen dank
25.06.2003 17:33:41
philipp

jetzt funkts!

danke vielmals :)

phil

Re: danke aber pastespecial funkt nicht
25.06.2003 18:34:31
Georg_Zi

Hallo Philipp

Gruß Hajo

Falls Code vorhanden wurde er getestet unter Betriebssystem Windows 2000 Pro und Excel Version 2003 Beta 2.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige