Office: Variant-Array auslesen // Array in Zellen einfügen

Helfe beim Thema Variant-Array auslesen // Array in Zellen einfügen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, per Variant hab ich eine Range eingelesen und möchte diesen nun Ausgaben, bekomme bei der aktuelle Variante allerdings einen... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Vezax, 4. Oktober 2015.

  1. Variant-Array auslesen // Array in Zellen einfügen


    Hallo zusammen,

    per Variant hab ich eine Range eingelesen und möchte diesen nun Ausgaben, bekomme bei der aktuelle Variante allerdings einen Laufzeitfehler(9) wenn ich meinen aktuellen Code verwende:

    Das Array wird korrekt befüllt - nur die Ausgabe klappt so gar nicht.
    Weiß jemand Rat? Habe das Gefühl ich stehe mächtig auf der Leitung *eek.gif* .

    Code:
    :)
     
  2. Hallo,

    arbeitest Du mit Option Explicit?
    Ein Array, das auf diese Art und Weise erstellt wird, hat immer 2 Dimensionen, jeweils beginnend beim Index 1.

    Code:
    Man schaltet Application.DisplayAlerts !NIEMALS! ohne konkreten Grund aus - schon überhaupt garnicht pauschal zu Beginn eines Codes!

    Grüße
    EarlFred
     
    EarlFred, 6. Oktober 2015
    #2
  3. Besten Dank erstmal!

    Das sollte in der Tat eine Null sein, ist meiner eigentlichen Java-Arbeit wohl geschuldet.

    Application.DisplayAlerts ist aus, da verschiedene Dateien geöffnet und geschlossen werden sollen, ohne dass der Nutzer dies bestätigen muss.

    Dein Code funktioniert jetzt wunderbar, vielen Dank!

    Eine Frage hätte ich noch: Wie schreibe ich dieses Array jetzt in eine Zelle um?
     
  4. Variant-Array auslesen // Array in Zellen einfügen

    Hallo,

    Du meinst die Abfrage, ob Änderungen gespeichert werden sollen? Dafür ist DisplayAlerts ungeeignet, ich bleibe bei meiner Auffassung. Gib dem Code vor, dass er Änderungen nicht speichern soll:
    Code:
    Verstehe ich nicht. Willst Du das komplette Array in eine Zelle eintragen?

    Grüße
    EarlFred
     
    EarlFred, 6. Oktober 2015
    #4
  5. Nochmal Danke für deine Hilfe!
    Es soll standardmäßig gespeichert werden. Ich nehme mal an
    SaveChanges:=True tut es dann für mich *Smilie.

    Das Array soll in gleich viele Zeilen wie es Elemente hat.

    VG
     
    Zuletzt von einem Moderator bearbeitet: 12. Januar 2021
  6. Hallo,

    das denke ich auch *wink.gif*

    Code:
    Grüße
    EarlFred
     
    EarlFred, 6. Oktober 2015
    #6
  7. Hallo,

    warum soll die Datei gespeichert werden?

    Es wird nur lesend drauf zugegriffen.

    Also sollte sie auch nur-lesend geöffnet und ohne zu Speichern
    wieder geschlossen werden.

    Und generell speichern, kann fatal sein!

    Eine Array-Variable kann in deinem Fall gespart werden.

    Code:
     
  8. Variant-Array auslesen // Array in Zellen einfügen

    Stimmt, eigentlich müsste ich die Dokumente nicht speichern.

    Ein Array brauch ich dennoch, denn meine Anforderungen sind etwas weitergreifend als die Frage hier.

    Ich muss jeweils zwei Dokumente zusammen mit deren Spalten und Zeilenbezeichnung einlesen. Allerdings kann es sein, dass bei den Spalten die Bezeichnungen vom einen zum anderen abweichen. Also muss ich die beiden Spalten in zwei Arrays einlesen, miteinander vergleichen und bei Abweichungen eine Leerspalte (bzw. den Wert "") in dem Arrayeinfügen, welches weniger Einträge besitzt.
    Damit so die sich gleichenden Spaltenbezeichnungen übereinander gemapped werden.

    Nachdem ich also die beiden Arrays entsprechend angepasst habe, muss ich sie nun in ein weiteres Tabellenblatt einfügen - wofür ich gern eine mein stets eindimensionales Array in eine Spalte bzw. Zeille immer ausgehend von 'A1' einfügen würde.

    Meine Ausgabe klappt jetzt mit diesem, zusammengefassten Code-Schnipsel:

    Code:
    Edit:
    Nochmal Danke für die Geduld und euren Altruismus.
    Eine Frage hätte ich ergänzend zu meiner Thematik noch.

    Wenn ich das Arrays aus dem externen Sheet einlese: Wie kann ich erkennen, wann eine Zelle keinen Inhalt mehr enthält?

    Kurzes Beispiel:
    Code:
     
  9. Hallo,

    lad die 2 Quell-Dateien verfremdet hoch.
     
  10. Es gibt zwei Quelldateien, Datei 1 und Datei2.
    Datei 2 enthält eine Extraspalte die es in Datei 1 nicht gibt.

    Im Dokument Vergleich sollen nun beide ersteinmal in die Reiter kopiert werden, wichtig ist aber, dass beide in diesem Fall gleiche Zeilen und Spaltenanzahl und Bezeichnungen besitzen (siehe Beispiel).

    Wenn eine Spalte wie 'Extraspalte' in einem der Dokumente nicht vorkommt, wird in jeweils anderen diese Spalte eingefügt und mit leeren Werten befüllt.


    Im Sheet Vergleich im Dokument Vergleich wird dann anschließend verglichen, ob sich Werte zwischen Datei1 und Datei2 bei gleicher Schnittmenge geändert haben.
     
  11. Hallo,

    ich denke das geht in die Richtung...

    Code:
     
  12. Herzlichen Dank! Das geht definitv in die richtige Richtung. *Smilie

    Allerdings soll die Zielstruktur ein wenig anders sein.
    Es gibt ein Tool (dort drückt man quasi auf den Button).
    Dieses Tool soll dann eine Arbeitsmappe erzeugen welche die Dokumente Datei1 in Tabelle1, Datei2 in Tabelle2 und den Abgleich wie du ihn programmiert hast in Tabelle3 besitzt.

    Im Reiter Abgleich wird dann mittels einer Formel überprüft, ob Die Zelle A2 von Datei1 mit der Zelle A2 von Datei2 übereinstimmt.

    Etwa so:
    =WENN(IDENTISCH('Tabelle1'!A2;'Tabelle2'!A2);1;"alt: "&'Tabelle1'!A2& ZEICHEN(10) & ZEICHEN(10) &"neu: " &'Tabelle2'!A2)

    Ich brauch also nur eine Anwendung die mir die Spaltenbezeichnungen einliest und miteinander matched, so dass die Inhalte einer Spalte auch mit den einer anderen verglichen werden, wenn deren Spaltenbezeichnung identisch ist.

    Anbei dazu mal ein Beispiel, wie aktuell so ein Abgleich aussieht.

    P.S.: Sollte es dir zu viel sein, das jetzt in Code umzusetzen (und das kann ich absolut verstehen) - könntest du mir zumind. stichpunktartig deinen Lösungsansatz darlegen?
     
  13. Variant-Array auslesen // Array in Zellen einfügen

    Super...das war jetzt für die Tonne!

    Ich dachte du hast ein Kreuztabelle mit Zeilen- UND Spaltenüberschriften!

    Sind die Zeilen in beiden Dateien immer gleich angeordnet? Das kann ich mir nicht vorstellen. Du benötigst eine ID-Spalte anhand derer die Zeilen genau identifiziert werden.
     
  14. Hi, sorry das tut mir echt leid - ich hab die aktuelle Tabelle auch gerade eben erst bekommen und hatte davor nur "Erzählungen" wie das ganze auszusehen hat. Vorher bin ich auch davon ausgegangen, dass es eine ID-Spalte gibt. *frown.gif*

    Die Anzahl an Zeilen ist nach meiner neuen Erkenntnis also immer gleich, dies liegt daran, dass es sich hier um Abzüge aus einer DB handelt, wobei die Zeilen fortlaufend historische Einträge besitzen. Da der 'historische' Stand vor und nach Abzug aber gleich ist, ist auch die Anzahl an Zeilen gleich.

    Entschuldigung nochmal für das Missverständnis.
     
Thema:

Variant-Array auslesen // Array in Zellen einfügen

Die Seite wird geladen...
  1. Variant-Array auslesen // Array in Zellen einfügen - Similar Threads - Variant Array auslesen

  2. VBA:Laufzeitfehler beim Einlesen in Variable

    in Microsoft Excel Hilfe
    VBA:Laufzeitfehler beim Einlesen in Variable: Hallo Excel Freaks, ich habe eine Frage, ein Problem wo ich nicht mehr weiter weis.... In eine Exceldatei kopiere ich mir über Makro auf ein Tabellenblatt von anderen Exceldateien das...
  3. Informationen von ausgewählten Variante übertragen

    in Microsoft Excel Hilfe
    Informationen von ausgewählten Variante übertragen: Hallo zusammen, folgendes Problem kann ich nicht lösen: Ich habe beispielsweise mehrere Varianten zur Auswahl, die ich manuell eingebe in Excel. Am Ende entscheide ich mich für eine Variante,...
  4. Variant Array in Range

    in Microsoft Excel Hilfe
    Variant Array in Range: Hallo mal wieder, Ich schreibe gerade eine Klasse "Film". Diese beinhaltet Informationen wie "Name", "Regisseur", "Erscheinungsjahr" etc. In der Klasse gibt es außerdem eine Prozedur, die den...
  5. Unterschiedliche Varianten eines Frontends durch direkte Anpassungen der Datei?

    in Microsoft Access Hilfe
    Unterschiedliche Varianten eines Frontends durch direkte Anpassungen der Datei?: Guten Morgen Zusammen, ich habe eine kurze Frage, um sicherzugehen, dass ich bei der Aufteilung meiner DB und der späteren Pflege/Entwicklung richtig vorgehe: Wenn ich die DB in Front- und...
  6. Formular, SetFocus wird nicht gesetzt (2 Varianten)

    in Microsoft Access Hilfe
    Formular, SetFocus wird nicht gesetzt (2 Varianten): Hallo, Ausgangslage: Formular mit 2 Textfeldern Problem: nachdem in Textfeld1 der String eingefügt ist, lässt sich der Fokus nicht auf das Textfeld2 verschieben. Sozusagen ein...
  7. Microsoft Team kostenlos, Anzeige der Besprechungen in der Windows Desktop Variante und IOS ...

    in Microsoft Teams Hilfe
    Microsoft Team kostenlos, Anzeige der Besprechungen in der Windows Desktop Variante und IOS ...: Ich habe beide Versionen installiert, a) auf einem Windows Computer und b) auf einem Iphone. Ich bin der Besitzer eines Teams und verwende jedesmal den gleichen Zugang. Während auf meinem Iphone...
  8. ListObject - Varinate A funktioniert, aber Variante B nicht?

    in Microsoft Excel Hilfe
    ListObject - Varinate A funktioniert, aber Variante B nicht?: Hallo, mal eine Frage. Ich möchte ein einfaches ListObject erstellen. Variante A funktioniert ohne Probleme. .ListObjects.Add(xlSrcRange, rngListRange, False, xlYes).Name =...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden