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

Forumthread: Eine Art Matrix mit VBA erstellen

Eine Art Matrix mit VBA erstellen
22.10.2019 13:34:38
C
Hallo zusammen,
ich würde gerne Wissen welchen Ansatz man wählt um solch eine Art Matrix via VBA zu erzeugen.
Userbild
Die Matrix im rot markierten Bereich sollte am besten teilautomatisiert erstellt werden ( Über einen Button etc.). Begrenzt werden soll die Matrix durch die angegebenen Elemente der X/Y Achse. Ich bin dankbar für jeden Ansatz.
Gruß
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Eine Art Matrix mit VBA erstellen
22.10.2019 14:13:28
UweD
Hallo
- verbundenen Zellen vermeiden !!!
- erste Spalte festlegen S1
- letzte Spalte ermitteln SR
- erste Zeile festlegen Z1
- letzte Zeile ermitteln ZR
- 1. Schleife: i von Z1 nach ZR
    - 2. Schleife: j von S1 nach SR
      - Einträge setzen... cells(j,i) =...
      - Einträge setzen... cells(j,i+1) =...
      - ...

    - next

- next
Mustermappe ?
LG UweD
Anzeige
Irreguläre Matrix
23.10.2019 02:04:41
Luc:-?
Da du VBA einsetzen willst, C,
wirst du wohl auch alle Werte hintereinander eintragen wollen, was ggf die Erzeugung eines entsprd Arrays sinnvoll machen würde. Da es sich aber offensichtlich um eine irreguläre Matrix handelt, die nicht auf einmal auf ein Blatt abgebildet wdn kann, muss das entweder in Einzel- bzw Gruppenschritten oder nach Umwandlung in eine reguläre rechteckige Matrix erfolgen. Das kann man alles machen, aber ein wesentliches Problem scheint hier zu sein, dass unklar ist, ob die Matrix genauso oder nur im Prinzip aussehen soll wie gezeigt, woher ihre Werte stammen oder wie sie gebildet wdn sollen und ob das auch Köpfe und Vorspalten einschließt. Erst bei den letztgenannten Titeln würden VerbundZellen ggf eine zu beachtende Rolle spielen.
Wenn das alles klar ist, kann man sich entscheiden, ob man evtl gleich eine reguläre Matrix (Auslassungen bei Abbildung aufs Blatt) oder eine aus Matrizen bzw Kovektoren zusammengesetzte irreguläre bildet. Möglich wäre beides.
Morhn, Luc :-?
„Die universelle Befähigung zur Unfähigkeit macht jede menschliche Leistung zu einem unglaublichen Wunder.“ Stapps ironisches Paradoxon
Nichtsdestotrotz Durchblick verbessern mit …

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Eine Art Matrix mit VBA erstellen


Schritt-für-Schritt-Anleitung

Um eine Matrix in Excel mittels VBA zu erstellen, kannst du folgende Schritte befolgen:

  1. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Neues Modul einfügen: Klicke mit der rechten Maustaste auf "VBAProject (dein Arbeitsblattname)" und wähle Einfügen > Modul.

  3. Code eingeben: Füge den folgenden Code in das Modul ein:

    Sub ErstelleMatrix()
        Dim i As Integer, j As Integer
        Dim S1 As Integer, SR As Integer, Z1 As Integer, ZR As Integer
    
        ' Definiere die Grenzen der Matrix
        S1 = 1 ' Erste Spalte
        SR = 5 ' Letzte Spalte
        Z1 = 1 ' Erste Zeile
        ZR = 5 ' Letzte Zeile
    
        ' Schleifen zur Befüllung der Matrix
        For i = Z1 To ZR
            For j = S1 To SR
                Cells(i, j).Value = "Wert " & (i * j) ' Werte setzen
            Next j
        Next i
    End Sub
  4. Makro ausführen: Schließe den VBA-Editor und gehe zurück zu Excel. Drücke ALT + F8, wähle ErstelleMatrix und klicke auf Ausführen.


Häufige Fehler und Lösungen

  • Fehler: „Laufzeitfehler 1004: Anwendung oder Objekt definiert Fehler“.

    • Lösung: Überprüfe, ob die Zellen, die du zu belegen versuchst, innerhalb des definierten Bereichs liegen. Achte darauf, dass die Matrix nicht in verbundene Zellen geschrieben wird.
  • Fehler: „Sub oder Funktion nicht definiert“.

    • Lösung: Stelle sicher, dass du das Makro im richtigen Modul eingefügt hast und dass der Name des Sub nicht verändert wurde.

Alternative Methoden

Wenn du keine VBA-Lösungen verwenden möchtest, kannst du auch die folgenden Methoden in Betracht ziehen:

  1. Formeln: Nutze Excel-Formeln, um eine Matrix zu erstellen. Zum Beispiel:

    • In Zelle A1: =A2*A3 (und ziehe die Formel nach unten und zur Seite).
  2. Excel 365 Funktionen: Mit den dynamischen Array-Funktionen wie SEQUENCE() kannst du eine Matrix einfacher erstellen.

    =SEQUENCE(5,5)  ' Erstellt eine 5x5 Matrix mit fortlaufenden Zahlen

Praktische Beispiele

  • Beispiel 1: Eine einfache art matrix erstellen, die die Produkte der Zeilen- und Spaltenindizes zeigt. Nutze den obigen VBA-Code, um eine 5x5 Matrix zu generieren.

  • Beispiel 2: Mit VBA eine irreguläre Matrix erstellen. Wenn du Werte aus verschiedenen Quellen kombinieren möchtest, kannst du die Schleifen anpassen, um nur bestimmte Zellen zu befüllen.


Tipps für Profis

  • Verwende Option Explicit am Anfang deines Moduls, um sicherzustellen, dass alle Variablen deklariert sind. Dies hilft, Fehler zu vermeiden.
  • Experimentiere mit UserForms, um eine benutzerfreundliche Oberfläche zum Eingeben von Werten für deine VBA Matrix zu schaffen.
  • Wenn du mit Pi in VBA arbeiten möchtest, kannst du die Konstante WorksheetFunction.Pi() verwenden, um den Wert von Pi in Berechnungen einzufügen.

FAQ: Häufige Fragen

1. Wie kann ich eine Matrix in Excel ohne VBA erstellen? Du kannst eine Matrix auch mit Formeln wie SEQUENCE oder durch einfaches Kopieren von Formeln erstellen.

2. Was sind die Vorteile von VBA für die Erstellung von Matrizen? VBA ermöglicht eine Automatisierung und Anpassung, die mit Standardformeln schwer zu erreichen ist. Außerdem kannst du komplexe Datenmanipulationen durchführen.

3. Kann ich eine Matrix mit dynamischen Daten erstellen? Ja, du kannst VBA verwenden, um Daten aus einer Datenbank oder einer anderen Quelle zu ziehen und diese in deiner Matrix darzustellen.

4. Was sind verbundene Zellen und warum sollte ich sie vermeiden? Verbundene Zellen können die Datenmanipulation erschweren, da sie die Zellenstruktur beeinträchtigen und den Zugriff auf die Daten in VBA komplizierter machen.

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