Thema Datum  Von Nutzer Rating
Antwort
24.02.2017 13:49:46 Andi
Solved
24.02.2017 13:55:43 Gast7980
NotSolved
24.02.2017 13:58:33 Julius
NotSolved
24.02.2017 14:02:51 Andi
NotSolved
24.02.2017 14:08:54 Andi
NotSolved
24.02.2017 15:20:20 Andi
NotSolved
24.02.2017 16:07:58 Gast39720
NotSolved
26.02.2017 15:43:15 GraFri
NotSolved
Rot Verschiedene Werte aus Spalte auslesen
27.02.2017 10:31:10 Andi
Solved
27.02.2017 14:44:04 GraFri
Solved

Ansicht des Beitrags:
Von:
Andi
Datum:
27.02.2017 10:31:10
Views:
750
Rating: Antwort:
 Nein
Thema:
Verschiedene Werte aus Spalte auslesen

Guten Morgen GraFri,

Vielen DANK, Dir ersteinmal für deine Hilfe! Deine Antwort hat mich heute morgen dazu bewogen, den kleinen Quellcode nochmal genau zu durchleuchten. Zuerst habe ich deinen Code so genommen und auf meine Arbeitsblätter angepasst. das Auslesen hat wunderbar geklappt, allerdings habe ich es nicht hinbekommen, dass es mir die Anzahl der Elemente ausgibt. (Ich muss sagen im nachhinnein, hätte ichs mit ner einfachen zählenwenn formel machen können, aber da habe ich nicht dran gedacht ... ärgerlich, naja)

Darum gabs zwei Möglichkeiten: Bei mir nach dem Fehler zu suchen, warum es die Falschen Zellen anspricht oder bei deinem Code zu schauen, wie ich die Anzahl auslese.
Ich habs erstmal mit "meinem" Code probiert und bin tatsächlich auf die Lösung gekommen: currentrange spricht ja den gesamten zusammenhängenden Zellbereich an. Da meine Spalte links und rechts nahtlos an weitere gefüllte Spalten anknüpfte, ist der Fehler entstanden. Also musste ich die Range nur auf die tatsächliche Spalte beschränken. Für diese Errkenntnis allein, habe ich aber auch ein weinig gebraucht, was an meiner fehlenden vba-Erfahrung liegt. Nun also aber der Quellcode wie es bei mir klappt:

Public Sub ElementeAuslesen()
Dim MyDic As Object
Dim arr As Variant
Dim L As Long
Dim N As Long

Set MyDic = CreateObject("Scripting.Dictionary")

N = Sheets("Tabelle1").Cells(1, 4).End(xlDown).Row  'Anzahl gefüllte Zeilen der Spalte D wird ermittelt
arr = Sheets("Tabelle1").Range("D1:D" & N)

For L = 1 To UBound(arr)
    MyDic(arr(L, 1)) = MyDic(arr(L, 1)) + 1
Next
'Ausgeben
Sheets("Tabelle2").Range("A1").Resize(MyDic.Count) = WorksheetFunction.Transpose(MyDic.keys)
Sheets("Tabelle2").Range("B1").Resize(MyDic.Count) = WorksheetFunction.Transpose(MyDic.items)
End Sub

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
24.02.2017 13:49:46 Andi
Solved
24.02.2017 13:55:43 Gast7980
NotSolved
24.02.2017 13:58:33 Julius
NotSolved
24.02.2017 14:02:51 Andi
NotSolved
24.02.2017 14:08:54 Andi
NotSolved
24.02.2017 15:20:20 Andi
NotSolved
24.02.2017 16:07:58 Gast39720
NotSolved
26.02.2017 15:43:15 GraFri
NotSolved
Rot Verschiedene Werte aus Spalte auslesen
27.02.2017 10:31:10 Andi
Solved
27.02.2017 14:44:04 GraFri
Solved