Clever-Excel-Forum

Normale Version: Auto-Ausfüllen über mehrere Zeilen und Spalten hinweg
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen!

Ich stehe vor einem kleinen Problem.

Ich habe eine Matrix mit 647*647 Zellen (B2:XX648). Diese Zellen stehen jeweile für eine Kombination aus zwei Werten (genauer gesagt vierstellige ICAO-Flughafen Codes aus der Luftfahrt).

Ich habe mir eine Zusammenstellung aller möglichen Kombinationen ausgeben lassen (in Summe 418609 Möglichkeiten). Diese sind wie folgt fortlaufend nummeriert:

PA000001..PA418609.

Ich möchte nun gerne die Matrix mit den Namen der Kombinationen automatisch ausfüllen lassen.
Wie ist es möglich, dies somit automatisch nicht nur über mehrere Spalten, sondern auch über mehrere Zeilen hinweg durchführen zu lassen?
Etwas komplizierter sogar noch: Es sollten die Zellen ausgelassen werden, in denen die Werte mit sich selbst gepaart werden (also diagonaler Verlauf in der Matrix).

Dies alles händisch zu tun wäre bei mehr als 400.000 Zellen doch arg mühsam, weshalb ich hoffe, dass es einen Weg gibt, das Ganze zu automatisieren?

VG
Vermillion
Hola,
eine kleine Excel-Beispieldatei wäre hilfreich.
Gruß,
steve1da
[attachment=42146]

Wenn am Ende der Zeile B das Ganze dann mit PA000647 endet, soll es in B3 mit PA000648 weitergehen.
Im Optimalfall würden bei der fortlaufenden Nummerierung die Zellen B2, C3, D4, E5 (und so weiter) übersprungen werden.
Und was soll da jetzt genau eingetragen werden, also nach welcher Logik?

Zitat:Wenn am Ende der Zeile B


B ist eine Spalte.
(09.02.2022, 15:05)steve1da schrieb: [ -> ]Und was soll da jetzt genau eingetragen werden, also nach welcher Logik?



B ist eine Spalte.

Absolut korrekt, mea culpa.
Gemeint war Zeile 2.

Die Nummerierung soll von links nach rechts und von oben nach unten fortlaufend sein.
Also Zeile 2 PA000001 bis PA000647
Zeile 3 PA000648 bis PA001294
Zeile 4 PS001295 bis PA001941
etc.

Verzeihung, falls das Anliegen nicht ganz rüber kommt. Versuche bei Bedarf gerne weiter Informationen zu liefern.

VG
Aber nach der Definition dürfte es doch gar nicht in B2 anfangen, weil die Zelle doch frei bleiben soll, oder?
Würde es dann in C2 mit PA000001 beginnen oder mit PA000002?
Auch damit hast du vollkommen Recht  Blush
Es beginnt in Zelle C2 mit PA000001.

So gesehen soll über die Zeilen hinweg fortlaufend nummeriert werden, und jede 647.Zelle dabei übersprungen werden.
Laß mal das Makro hier laufen

Code:
Sub fuelleMatrix()
Dim c As Long
Dim r As Long
Dim z As Long

z = 0
For r = 2 To 648
    For c = 2 To 648
        If Cells(r, 1) <> Cells(1, c) Then
            Cells(r, c) = "PA" & Format(z, "00000")
        End If
        z = z + 1
    Next c
    DoEvents
Next r
MsgBox "Fertig"
End Sub

und warte, bis die Message-Box kommt

Wobei: Bei Deinem oben genannten Schema (Zeile 2 bis PA000001:PA000647 / Zeile 3 PA000648-PA01294)
muesste es in Zelle B2 ja doch mit der 1 losgehen (aber leer, da Kreuzpunkt)

Je nachdem, was Du haben willst, ändere den Startwert von z von 0 auf 1
Hi,

mit Formel in C2:

Code:
=WENN(SPALTE()<=ZEILE();"";WENN(SPALTE()-ZEILE()=1;"PA"&TEXT(647*ZEILE(A1)-ZEILE()*(ZEILE()-1)/2+1;"00000");"PA"&TEXT(TEIL(INDEX(2:2;SPALTE()-1);3;99)+1;"00000")))
Nach rechts und unten ziehen.