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

Forumthread: array mit bestimmten spalten füllen

array mit bestimmten spalten füllen
09.11.2013 11:43:19
karl
Guten morgen alle,
mit dieser Zeile
myarr = Sheets("Daten").Range("A2:M13").Value

lese ich daten in ein Array
so schreibe ich die Daten in eine andere Tab zurück
Sheets("Daten2").Range(Cells(sz, sp), Cells(sz + UBound(myarr, 1) - 1, sp + UBound(myarr, 2) - 1)) = myarr
Kann man das array auch mit nur mit spalten (A-M) füllen wenn A2 bis M2 ein bestimmter
text steht? und wie ist der code dazu
Besten dank schonmal
karl

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: array mit bestimmten spalten füllen
09.11.2013 11:47:00
Hajo_Zi
Hallo Karl,
If Range("A2")="keine Angabe" and Range("M2")=Keine Angabe then
' dein Code
End if

AW: array mit bestimmten spalten füllen
09.11.2013 11:47:24
Hajo_Zi
Keine Angabe immer in ""

AW: array mit bestimmten spalten füllen
09.11.2013 12:09:39
karl
Hallo hajo,
vielen dank
würdest du mir das bitte in meiner Beispielmappe einbauen
ich komme damit leider doch nicht zurecht
https://www.herber.de/bbs/user/88007.xls
karl

Anzeige
AW: array mit bestimmten spalten füllen
09.11.2013 12:13:48
Hajo_Zi
Hallo Karl,
das war doch nicht Ernst gemeint?
' Deine Code zur ersetzen durch myarr = Sheets("Daten").Range("A2:M13").Value dürfte ja nicht das Problem sein.
Gruß Hajo

AW: array mit bestimmten spalten füllen
09.11.2013 19:01:46
karl
hallo Hajo, Forum
sorry wenn ich jetzt erst rückmelde.
Musste dringend in die Firma.
Ich habe mich unglücklich bei der frage ausgedrückt.
Könntest du oder ein anderer Profi deshalb mal anhand der Beispielmappe nach meinen problem nachsehen
https://www.herber.de/bbs/user/88015.xls
vielen Dank
karl

Anzeige
AW: array mit bestimmten spalten füllen
10.11.2013 11:55:42
karl
moin zusammen,
habe vorerst mein anliegen mal per schleifen umgesetzt.
bis zum nächsten problem
schönen Sonntag
karl
;

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

Array mit bestimmten Spalten füllen in Excel


Schritt-für-Schritt-Anleitung

Um ein Array in Excel mit bestimmten Spalten basierend auf Bedingungen zu füllen, kannst du folgenden VBA-Code verwenden. Dieser Code liest die Daten aus einem bestimmten Bereich und schreibt sie anschließend in ein anderes Blatt, abhängig von den Inhalten der ersten Zeile.

  1. Daten einlesen:

    myarr = Sheets("Daten").Range("A2:M13").Value
  2. Bedingungen prüfen und Daten zurückschreiben:

    If Sheets("Daten").Range("A2").Value = "keine Angabe" And _
      Sheets("Daten").Range("M2").Value = "keine Angabe" Then
       Sheets("Daten2").Range(Cells(sz, sp), Cells(sz + UBound(myarr, 1) - 1, sp + UBound(myarr, 2) - 1)) = myarr
    End If
  3. Füge diesen Code in ein VBA-Modul ein und passe die Zellreferenzen nach Bedarf an.


Häufige Fehler und Lösungen

  • Fehler: „Typenübereinstimmung“

    • Lösung: Stelle sicher, dass die Zellen, die du vergleichst, den gleichen Datentyp haben. Zum Beispiel, vergleiche Text mit Text und Zahlen mit Zahlen.
  • Fehler: „Bereich nicht gefunden“

    • Lösung: Überprüfe, ob der angegebene Bereich, wie „A2:M13“, korrekt ist und ob das Arbeitsblatt „Daten“ existiert.

Alternative Methoden

Eine alternative Methode zum Füllen eines Arrays ist die Verwendung von Filter-Funktionen in Excel. Du kannst mit Formeln wie FILTER (verfügbar in Excel 365) bestimmte Daten basierend auf Bedingungen extrahieren, ohne VBA verwenden zu müssen:

=FILTER(Daten!A2:M13, (Daten!A2:A13 = "keine Angabe") * (Daten!M2:M13 = "keine Angabe"))

Diese Formel gibt dir alle Zeilen zurück, die die Bedingungen erfüllen.


Praktische Beispiele

Angenommen, du hast folgende Daten in „Daten“:

A B ... M
keine Angabe Beispiel ... keine Angabe
Test Beispiel ... Test

Wenn du die oben genannten Bedingungen anwendest, wird nur die erste Zeile in das Array übernommen, wenn die Bedingungen erfüllt sind.


Tipps für Profis

  • Verwende Named Ranges: Du kannst benannte Bereiche verwenden, um deine Formeln und VBA-Referenzen lesbarer zu machen.
  • Fehlerbehandlung: Füge Fehlerbehandlungsroutinen in deinen VBA-Code ein, um unerwartete Fehler elegant zu handhaben.
  • Performance optimieren: Bei großen Datenmengen kann es hilfreich sein, die Bildschirmaktualisierung vor und nach der Ausführung deines Codes zu deaktivieren:
    Application.ScreenUpdating = False
    ' Dein Code hier
    Application.ScreenUpdating = True

FAQ: Häufige Fragen

1. Frage
Wie kann ich das Array nur mit bestimmten Spalten füllen?
Antwort: Du kannst die Indizes des Arrays anpassen, indem du nur die gewünschten Spalten in die Zuweisung aufnimmst.

2. Frage
Funktioniert das auch in Excel 2016?
Antwort: Ja, die oben beschriebenen VBA-Methoden sind auch in Excel 2016 verfügbar. Formeln wie FILTER sind jedoch nur in Excel 365 verfügbar.

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