Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Korrekte Adressierung?

Forumthread: Korrekte Adressierung?

Korrekte Adressierung?
06.02.2018 16:59:51
Peter
Guten Tag
In meinem Worksheet "Journal" habe ich in verschiedenen Spalten benannte Bereiche (mit jeweils gleichviel Zeilen)
Der erste Bereich heisst "xDatum" der letzte "xGegenkonto".
Nun werden die Spaltenbreiten mit Autofit festgelegt, anschliessend erhöhe ich die Breite dieser Spalten um je 2.
Mir ist nicht ganz klar, ob die Adressierung der For-Schlaufe korrekt ist. Ist die Bereichsangabe eindeutig genug?
Gruss, Peter
With Range("xDatum:xGegenKonto")
.Columns.AutoFit
End With
For iColumn = 1 To Range("xDatum:xGegenkonto").Columns.Count
Columns(iColumn).ColumnWidth = Columns(iColumn).ColumnWidth + 2
Next
oder muss es heissen:
For iColumn = 1 To Range("psDatum:psGegenkonto").Columns.Count
Range("psDatum:psGegenkonto").Columns(iColumn).ColumnWidth = Columns(iColumn).ColumnWidth + 2
Next
Gruss, Peter
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Korrekte Adressierung?
06.02.2018 17:43:26
onur
Eher das:
For iColumn = 1 To Range("xDatum:xGegenkonto").Columns.Count
Columns(iColumn).ColumnWidth = Columns(iColumn).ColumnWidth + 2
Next

Aber du kannst nicht
Range("xDatum:xGegenkonto")
machen (außer die Bereiche sind jeweils nur eine einzige Zelle), wenn, dann mit Union.
https://msdn.microsoft.com/de-de/vba/excel-vba/articles/application-union-method-excel
Anzeige
AW: Korrekte Adressierung?
06.02.2018 18:01:19
Luschi
Hallo onur,
danke für dem Tipp, meine Lösung sah bisher immer so aus: Range("xDatum", "xGegenkonto").
Jetzt spare ich wieder 3 Byte.
Gruß von Luschi
aus klein-Paris
AW: Korrekte Adressierung?
06.02.2018 18:03:27
onur
Kan dir nicht ganz folgen ...
AW: Korrekte Adressierung?
06.02.2018 18:29:54
Luschi
Hallo onur,
ich habe über Deinen Lösungsvorschlag zuerst gelächelt und gedacht, das funktioniert NIE,
durfte mich aber durch eigene Tests eines besseren belehren lassen.
Es ist also Alles im grünen Bereich und mein Zauberwürfel-Kiste ist um einen Eintrag reicher.
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Korrekte Adressierung?
06.02.2018 18:26:08
Peter
Hallo onur
Ich arbeite mit längerem mit solchen Bereichen, Union ist m.E nicht notwendig.
Auswertung im Direktbereich:
?Range("xDatum:xGegenkonto").address
$A$3:$K$20
?Range("xDatum").address
$A$3:$A$20
?Range("xGegenkonto").Address
$K$3:$K$20
Ich kann den zusammengesetzten Bereich auch ganz normal in einer Excel-Formel verwenden (solange die Bereich nur eine Spalte beinhalten und gleichviele Zeilen haben):
=SPALTEN(xDatum:xGegenKonto) --> Ergebnis = 11
=ZEILEN(xDatum:xGegenKonto) --> Ergebnis = 18
=ADRESSE(ZEILE(xDatum:xGegenKonto);SPALTE(xDatum:psGegenKonto))&":"&ADRESSE(ZEILE(xDatum:xGegenKonto) +ZEILEN(xDatum:xGegenKonto)-1;SPALTE(xDatum:xGegenKonto)+SPALTEN(xDatum:xGegenKonto)-1)
--> Ergebnis = $A$3:$K$20
=ADRESSE(ZEILE(xDatum);SPALTE(xDatum))&":"&ADRESSE(ZEILE(xDatum)+ZEILEN(xDatum)-1;SPALTE(xDatum) +SPALTEN(xDatum)-1)
--> Ergebnis = $A$3:$A$20
=ADRESSE(ZEILE(xGegenKonto);SPALTE(xGegenKonto))&":"&ADRESSE(ZEILE(xGegenKonto)+ZEILEN(xGegenKonto) -1;SPALTE(xGegenKonto)+SPALTEN(xGegenKonto)-1)
--> Ergebnis = $K$3:$K$20
Gruss, Peter
Anzeige
AW: Korrekte Adressierung?
06.02.2018 18:31:05
onur
Sorry, nie getestete Behauptung von mir - irgendetwas in mir sagte "Kann nicht mit Bereichen funktionieren", aber man lernt nie aus!
Danke für den Hinweis.
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige