Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1604to1608
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

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

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
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
Anzeige
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
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

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige