MS-Office-Forum

Zurück   MS-Office-Forum > Microsoft Office > Microsoft Excel
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads
Themen-Optionen Ansicht
Alt 24.09.2018, 15:40   #1
Muecke.1982
MOF Profi
MOF Profi
Standard VBA - Intelligente Tabelle Sichtbare elemente in Array Speichern

Hallo miteinander,

ich möchte aus einer Intelligente Tabelle bei der Filter gesetzt worden nur die Sichtbaren Elemente in ein Array speichern.

Über den Nachfolgeneon Code kann ich eine Gesamte Spalte in ein Array laden, jedoch werden dabei auch die unsichtbaren Zellen ins Array aufgenommen, gibt es eine Möglichkeit auf die Nur sichtbaren Elemente zuzugreifen?


Code:

Sub Array_Sichtbarer_Inhalt()
' Sichtbare Elemente in Array speichern
    
    Dim MyList As Object
    Dim MyArray As Variant
    Dim i As Integer
    Dim Text As String
    
    ' Definiren welche Arbeistmappe und welche Tabele focusirt werden soll
    Set MyList = Worksheets("Tabelle1").ListObjects("DB_Array")
    
    ' inhalt der Spalte in Array laden
        MyArray = MyList.ListColumns("Für Array").DataBodyRange
    
    ' Array inhalt untereinander schreiben für MsgBox
    For i = 1 To UBound(MyArray)
        Text = Text + Chr(13) + MyArray(i, 1)
    Next i

    ' Array Inhalt ausgeben in MsgBox
    MsgBox Text

End Sub
im Anhang habe ich eine Muster Datei.


gruß Mücke
Angehängte Dateien
Dateityp: xlsm Mappe1.xlsm (15,3 KB, 5x aufgerufen)

__________________

Microsoft Office Home and Business 2013 mit WIN 7
Muecke.1982 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 24.09.2018, 15:50   #2
Beverly
MOF Guru
MOF Guru
Standard

Hi,

auf einen Ritt geht es bei ausgeblendeten Zellen nicht, deshalb mal als Tipp: du musst in einer Schleife über alle Zeilen laufen und prüfen, ob sie sichtbar sind - wenn ja, dann Wert ins Array einlesen.


GrußformelBeverly's Excel - Inn

__________________

Bitte im Beitrag eine kurze Rückmeldung auch in dem Fall geben, wenn ein Problem gelöst wurde - dies hilft auch anderen Usern, wenn sie den betreffenden Thread lesen.
Möchtest du dich außerdem für die Hilfe bei der Lösung deines Problems bedanken? Das kannst du ganz einfach durch die Bewertung eines Beitrags (Schalter unten links).
Beverly ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 26.09.2018, 11:13   #3
Muecke.1982
Threadstarter Threadstarter
MOF Profi
MOF Profi
Standard

Hey,

das ist schade, ich habe gehofft das das mit einem Kleine Zusatz gehen würde.

Habe das jetzt wie folgt umgebaut, finde das aber sehr unübersichtlich.
Habe ich zu kompliziert gedacht?


gruß Mücke


CODE:
Code:

Option Explicit

Sub Array_Sichtbarer_Inhalt()
' Sichtbare Elemente in Array speichern
    
    Dim MyList As Object
    Dim i As Integer
    Dim Text As Variant
    Dim Tabellenlaenge As Integer
    
    ' Definiren welche Arbeistmappe und welche Tabele focusirt werden soll
    Set MyList = Worksheets("Tabelle1").ListObjects("DB_Array")
    
    ' Tabellenlänge ermitteln
    Tabellenlaenge = MyList.Range.Rows.Count - 1  ' -1 da die Überschriften mitgezählt werden

    ' Werte ins Text Schreiben wenn Zelle sichbar ist
    For i = 1 To Tabellenlaenge
        
        If MyList.DataBodyRange.Cells(i, MyList.ListColumns("Für Array").Index).EntireRow.Hidden = False Then
            ' Zelle ist Sichtbar
            Text = Text + MyList.DataBodyRange.Cells(i, MyList.ListColumns("Für Array").Index) + Chr(13)
        End If
    Next i
    MsgBox "Inhalt nur sichtbarer Zellen " + Chr(13) + Text

End Sub
Angehängte Dateien
Dateityp: xlsm VBA - Intelligente Tabelle Sichtbare elemente in Array Speichern.xlsm (18,5 KB, 3x aufgerufen)

__________________

Microsoft Office Home and Business 2013 mit WIN 7
Muecke.1982 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 26.09.2018, 13:17   #4
Beverly
MOF Guru
MOF Guru
Standard

Hi,

der Code ist schon korrekt. Sicher gibt es noch andere Möglichkeiten, aber die sind nicht weniger "kompliziert".


GrußformelBeverly's Excel - Inn

__________________

Bitte im Beitrag eine kurze Rückmeldung auch in dem Fall geben, wenn ein Problem gelöst wurde - dies hilft auch anderen Usern, wenn sie den betreffenden Thread lesen.
Möchtest du dich außerdem für die Hilfe bei der Lösung deines Problems bedanken? Das kannst du ganz einfach durch die Bewertung eines Beitrags (Schalter unten links).
Beverly ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 26.09.2018, 13:38   #5
Muecke.1982
Threadstarter Threadstarter
MOF Profi
MOF Profi
Standard

DANKE. für deine Antwort.

Gruß Mücke

__________________

Microsoft Office Home and Business 2013 mit WIN 7
Muecke.1982 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 26.09.2018, 14:05   #6
jack_D
MOF Koryphäe
MOF Koryphäe
Standard

Moin Mücke,

anbei mal der Code von EarlFred,

der hat mir da mal ein Dict zu diesem Thema gebaut =)

Code:

Function REFERENZ(rng As Range) As String
Dim dic As Object, c As Range
Dim max As Long

Set dic = CreateObject("Scripting.Dictionary")

For Each c In rng
  If Not c.EntireRow.Hidden Then dic(c.Value) = dic(c.Value) + 1
Next c
With Application
  max = .Match(.max(dic.Items), dic.Items, 0)
  REFERENZ = dic.keys()(max - 1)
End With
End Function
Grüße Jack
jack_D ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:11 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

Copyright ©2000-2018 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günter Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.