Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1864to1868
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Werte per VBA ermitteln

Werte per VBA ermitteln
29.01.2022 16:24:04
Haustein

Hallo Gemeinschaft,
ich habe folgende tabelle
nun möchte ich gerne per vba einen variable Attributgesamt
sie soll so aussehen Attributgesamt = ohne, Kragen, KragenBrust
Attribut Name 3 ...... hier kommen noch weitere Spalten
ohne
ohne
ohne
ohne
ohne
ohne
ohne
Kragen
Kragen
Kragen
Kragen
Kragen
Kragen
Kragen
Kragen Brust
Kragen Brust
Kragen Brust
Kragen Brust
Kragen Brust
Kragen Brust
Kragen Brust

nach oben  nach unten

Betrifft: AW: Werte per VBA ermitteln
Glaubst du, irgend Jemand versteht, was du meinst?
Mach doch mal eine Beispielsdatei, wo man sehen kann, wie es vorher aussieht und nachher aussehen soll.

nach oben  nach unten

Betrifft: Ich finde das schon verständlich...

Hi Onur,
...er hat untereinander die gezeigten Werte (mit Dopplern) stehen und möchte daraus die Unikate als kommagetrennten String ermitteln.
Mit xl365 ist das ein Klacks:

Sub til()
Dim s As String
With WorksheetFunction
s = .TextJoin(", ", True, .Unique(Range("A:A")))
End With
MsgBox s
End Sub
Ansonsten mit Dictionary oder aber mit der RemoveDuplicates-Methode. Den Code müsste ich (man) eben noch schreiben.
VG, Boris

nach oben  nach unten

Betrifft: AW: Ich finde das schon verständlich...
"Ich finde das schon verständlich..." - Du hattest völlig Recht - ohne eine einzige Rückfrage sofort verständlich.

nach oben  nach unten

Betrifft: Falls das...
Hi Onur,
...ironisch gemeint war ("Du hattest völlig Recht - ohne eine einzige Rückfrage sofort verständlich"), versteh ich die Ironie nicht, denn - zumindest für mich - war das Grundanliegen sofort verständlich. Meine (späteren) Rückfragen bezogen sich nur auf ergänzende Angaben.
VG, Boris

nach oben  nach unten

Betrifft: AW: Falls das...
Ich bewundere deine Geduld.

nach oben  nach unten

Betrifft: Da hast Du vollkommen Recht...

Hi Onur,
...bei Dir braucht man wirklich viel Geduld - alles andere wäre aber kontraproduktiv.
Immerhin klemmen Deine Tasten ("???") in letzter Zeit nicht mehr, und wenn Du jetzt noch a) Deine etwas lehrerhafte Haltung ablegst und b) nur noch für Dich sprichst und nicht für andere ("Glaubst du, irgend Jemand versteht, was du meinst?"), dann hat sich meine Geduld am Ende vielleicht gelohnt ;-)
VG, Boris

nach oben  nach unten

Betrifft: Wäre halt noch wünschenswert...
Hi,
...zu wissen, ob das nur für eine Spalte gelten soll oder für mehrere, wie der Code genau ausgelöst werden soll und wo das Ergebnis hingeschrieben werden soll.
VG, Boris

nach oben  nach unten

Betrifft: AW: Wäre halt noch wünschenswert...
Soll nur für eine Spalte gelten und löse ich manuell aus

nach oben  nach unten

Betrifft: AW: Wäre halt noch wünschenswert...

Hi,
dann mal ein Beispiel mittes RemoveDuplicates - und zwar bezogen auf Spalte A ab A1 (ohne Spaltenüberschrift)

Sub mach_es()
Dim rngCur As Range, rngCur2 As Range
Dim arr, x As Long, y As Long, s As String
Set rngCur = Range("A1").CurrentRegion.Columns(1)
arr = rngCur
rngCur.RemoveDuplicates 1, xlNo
Set rngCur2 = Range(Cells(1, 1), Cells(1, 1).End(xlDown))
x = rngCur2.Count
ReDim arr1(x)
For y = 1 To x
arr1(y - 1) = rngCur2(y)
Next y
s = Join(arr1(), ", ")
rngCur = arr
MsgBox s
End Sub
VG, Boris

nach oben  nach unten

Betrifft: AW: Wäre halt noch wünschenswert...
Soll nur für eine Spalte gelten und löse ich manuell aus

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Werte per VBA ermitteln
29.01.2022 16:24:04
Haustein
Glaubst du, irgend Jemand versteht, was du meinst?
Mach doch mal eine Beispielsdatei, wo man sehen kann, wie es vorher aussieht und nachher aussehen soll.

nach oben  nach unten

Betrifft: Ich finde das schon verständlich...

Hi Onur,
...er hat untereinander die gezeigten Werte (mit Dopplern) stehen und möchte daraus die Unikate als kommagetrennten String ermitteln.
Mit xl365 ist das ein Klacks:

Sub til()
Dim s As String
With WorksheetFunction
s = .TextJoin(", ", True, .Unique(Range("A:A")))
End With
MsgBox s
End Sub
Ansonsten mit Dictionary oder aber mit der RemoveDuplicates-Methode. Den Code müsste ich (man) eben noch schreiben.
VG, Boris

nach oben  nach unten

Betrifft: AW: Ich finde das schon verständlich...
"Ich finde das schon verständlich..." - Du hattest völlig Recht - ohne eine einzige Rückfrage sofort verständlich.

nach oben  nach unten

Betrifft: Falls das...
Hi Onur,
...ironisch gemeint war ("Du hattest völlig Recht - ohne eine einzige Rückfrage sofort verständlich"), versteh ich die Ironie nicht, denn - zumindest für mich - war das Grundanliegen sofort verständlich. Meine (späteren) Rückfragen bezogen sich nur auf ergänzende Angaben.
VG, Boris

nach oben  nach unten

Betrifft: AW: Falls das...
Ich bewundere deine Geduld.

nach oben  nach unten

Betrifft: Da hast Du vollkommen Recht...

Hi Onur,
...bei Dir braucht man wirklich viel Geduld - alles andere wäre aber kontraproduktiv.
Immerhin klemmen Deine Tasten ("???") in letzter Zeit nicht mehr, und wenn Du jetzt noch a) Deine etwas lehrerhafte Haltung ablegst und b) nur noch für Dich sprichst und nicht für andere ("Glaubst du, irgend Jemand versteht, was du meinst?"), dann hat sich meine Geduld am Ende vielleicht gelohnt ;-)
VG, Boris

nach oben  nach unten

Betrifft: Wäre halt noch wünschenswert...
Hi,
...zu wissen, ob das nur für eine Spalte gelten soll oder für mehrere, wie der Code genau ausgelöst werden soll und wo das Ergebnis hingeschrieben werden soll.
VG, Boris

nach oben  nach unten

Betrifft: AW: Wäre halt noch wünschenswert...
Soll nur für eine Spalte gelten und löse ich manuell aus

nach oben  nach unten

Betrifft: AW: Wäre halt noch wünschenswert...

Hi,
dann mal ein Beispiel mittes RemoveDuplicates - und zwar bezogen auf Spalte A ab A1 (ohne Spaltenüberschrift)

Sub mach_es()
Dim rngCur As Range, rngCur2 As Range
Dim arr, x As Long, y As Long, s As String
Set rngCur = Range("A1").CurrentRegion.Columns(1)
arr = rngCur
rngCur.RemoveDuplicates 1, xlNo
Set rngCur2 = Range(Cells(1, 1), Cells(1, 1).End(xlDown))
x = rngCur2.Count
ReDim arr1(x)
For y = 1 To x
arr1(y - 1) = rngCur2(y)
Next y
s = Join(arr1(), ", ")
rngCur = arr
MsgBox s
End Sub
VG, Boris

nach oben  nach unten

Betrifft: AW: Wäre halt noch wünschenswert...
Soll nur für eine Spalte gelten und löse ich manuell aus
Anzeige
Ich finde das schon verständlich...
29.01.2022 16:24:04
Haustein
Hi Onur,
...er hat untereinander die gezeigten Werte (mit Dopplern) stehen und möchte daraus die Unikate als kommagetrennten String ermitteln.
Mit xl365 ist das ein Klacks:

Sub til()
Dim s As String
With WorksheetFunction
s = .TextJoin(", ", True, .Unique(Range("A:A")))
End With
MsgBox s
End Sub
Ansonsten mit Dictionary oder aber mit der RemoveDuplicates-Methode. Den Code müsste ich (man) eben noch schreiben.
VG, Boris

nach oben  nach unten

Betrifft: AW: Ich finde das schon verständlich...
"Ich finde das schon verständlich..." - Du hattest völlig Recht - ohne eine einzige Rückfrage sofort verständlich.

nach oben  nach unten

Betrifft: Falls das...
Hi Onur,
...ironisch gemeint war ("Du hattest völlig Recht - ohne eine einzige Rückfrage sofort verständlich"), versteh ich die Ironie nicht, denn - zumindest für mich - war das Grundanliegen sofort verständlich. Meine (späteren) Rückfragen bezogen sich nur auf ergänzende Angaben.
VG, Boris

nach oben  nach unten

Betrifft: AW: Falls das...
Ich bewundere deine Geduld.

nach oben  nach unten

Betrifft: Da hast Du vollkommen Recht...

Hi Onur,
...bei Dir braucht man wirklich viel Geduld - alles andere wäre aber kontraproduktiv.
Immerhin klemmen Deine Tasten ("???") in letzter Zeit nicht mehr, und wenn Du jetzt noch a) Deine etwas lehrerhafte Haltung ablegst und b) nur noch für Dich sprichst und nicht für andere ("Glaubst du, irgend Jemand versteht, was du meinst?"), dann hat sich meine Geduld am Ende vielleicht gelohnt ;-)
VG, Boris

nach oben  nach unten

Betrifft: Wäre halt noch wünschenswert...
Hi,
...zu wissen, ob das nur für eine Spalte gelten soll oder für mehrere, wie der Code genau ausgelöst werden soll und wo das Ergebnis hingeschrieben werden soll.
VG, Boris

nach oben  nach unten

Betrifft: AW: Wäre halt noch wünschenswert...
Soll nur für eine Spalte gelten und löse ich manuell aus

nach oben  nach unten

Betrifft: AW: Wäre halt noch wünschenswert...

Hi,
dann mal ein Beispiel mittes RemoveDuplicates - und zwar bezogen auf Spalte A ab A1 (ohne Spaltenüberschrift)

Sub mach_es()
Dim rngCur As Range, rngCur2 As Range
Dim arr, x As Long, y As Long, s As String
Set rngCur = Range("A1").CurrentRegion.Columns(1)
arr = rngCur
rngCur.RemoveDuplicates 1, xlNo
Set rngCur2 = Range(Cells(1, 1), Cells(1, 1).End(xlDown))
x = rngCur2.Count
ReDim arr1(x)
For y = 1 To x
arr1(y - 1) = rngCur2(y)
Next y
s = Join(arr1(), ", ")
rngCur = arr
MsgBox s
End Sub
VG, Boris

nach oben  nach unten

Betrifft: AW: Wäre halt noch wünschenswert...
Soll nur für eine Spalte gelten und löse ich manuell aus
Anzeige
AW: Ich finde das schon verständlich...
29.01.2022 16:24:04
Haustein
"Ich finde das schon verständlich..." - Du hattest völlig Recht - ohne eine einzige Rückfrage sofort verständlich.

nach oben  nach unten

Betrifft: Falls das...
Hi Onur,
...ironisch gemeint war ("Du hattest völlig Recht - ohne eine einzige Rückfrage sofort verständlich"), versteh ich die Ironie nicht, denn - zumindest für mich - war das Grundanliegen sofort verständlich. Meine (späteren) Rückfragen bezogen sich nur auf ergänzende Angaben.
VG, Boris

nach oben  nach unten

Betrifft: AW: Falls das...
Ich bewundere deine Geduld.

nach oben  nach unten

Betrifft: Da hast Du vollkommen Recht...

Hi Onur,
...bei Dir braucht man wirklich viel Geduld - alles andere wäre aber kontraproduktiv.
Immerhin klemmen Deine Tasten ("???") in letzter Zeit nicht mehr, und wenn Du jetzt noch a) Deine etwas lehrerhafte Haltung ablegst und b) nur noch für Dich sprichst und nicht für andere ("Glaubst du, irgend Jemand versteht, was du meinst?"), dann hat sich meine Geduld am Ende vielleicht gelohnt ;-)
VG, Boris

nach oben  nach unten

Betrifft: Wäre halt noch wünschenswert...
Hi,
...zu wissen, ob das nur für eine Spalte gelten soll oder für mehrere, wie der Code genau ausgelöst werden soll und wo das Ergebnis hingeschrieben werden soll.
VG, Boris

nach oben  nach unten

Betrifft: AW: Wäre halt noch wünschenswert...
Soll nur für eine Spalte gelten und löse ich manuell aus

nach oben  nach unten

Betrifft: AW: Wäre halt noch wünschenswert...

Hi,
dann mal ein Beispiel mittes RemoveDuplicates - und zwar bezogen auf Spalte A ab A1 (ohne Spaltenüberschrift)

Sub mach_es()
Dim rngCur As Range, rngCur2 As Range
Dim arr, x As Long, y As Long, s As String
Set rngCur = Range("A1").CurrentRegion.Columns(1)
arr = rngCur
rngCur.RemoveDuplicates 1, xlNo
Set rngCur2 = Range(Cells(1, 1), Cells(1, 1).End(xlDown))
x = rngCur2.Count
ReDim arr1(x)
For y = 1 To x
arr1(y - 1) = rngCur2(y)
Next y
s = Join(arr1(), ", ")
rngCur = arr
MsgBox s
End Sub
VG, Boris

nach oben  nach unten

Betrifft: AW: Wäre halt noch wünschenswert...
Soll nur für eine Spalte gelten und löse ich manuell aus
Anzeige
Falls das...
29.01.2022 16:24:04
Haustein
Hi Onur,
...ironisch gemeint war ("Du hattest völlig Recht - ohne eine einzige Rückfrage sofort verständlich"), versteh ich die Ironie nicht, denn - zumindest für mich - war das Grundanliegen sofort verständlich. Meine (späteren) Rückfragen bezogen sich nur auf ergänzende Angaben.
VG, Boris

nach oben  nach unten

Betrifft: AW: Falls das...
Ich bewundere deine Geduld.

nach oben  nach unten

Betrifft: Da hast Du vollkommen Recht...

Hi Onur,
...bei Dir braucht man wirklich viel Geduld - alles andere wäre aber kontraproduktiv.
Immerhin klemmen Deine Tasten ("???") in letzter Zeit nicht mehr, und wenn Du jetzt noch a) Deine etwas lehrerhafte Haltung ablegst und b) nur noch für Dich sprichst und nicht für andere ("Glaubst du, irgend Jemand versteht, was du meinst?"), dann hat sich meine Geduld am Ende vielleicht gelohnt ;-)
VG, Boris

nach oben  nach unten

Betrifft: Wäre halt noch wünschenswert...
Hi,
...zu wissen, ob das nur für eine Spalte gelten soll oder für mehrere, wie der Code genau ausgelöst werden soll und wo das Ergebnis hingeschrieben werden soll.
VG, Boris

nach oben  nach unten

Betrifft: AW: Wäre halt noch wünschenswert...
Soll nur für eine Spalte gelten und löse ich manuell aus

nach oben  nach unten

Betrifft: AW: Wäre halt noch wünschenswert...

Hi,
dann mal ein Beispiel mittes RemoveDuplicates - und zwar bezogen auf Spalte A ab A1 (ohne Spaltenüberschrift)

Sub mach_es()
Dim rngCur As Range, rngCur2 As Range
Dim arr, x As Long, y As Long, s As String
Set rngCur = Range("A1").CurrentRegion.Columns(1)
arr = rngCur
rngCur.RemoveDuplicates 1, xlNo
Set rngCur2 = Range(Cells(1, 1), Cells(1, 1).End(xlDown))
x = rngCur2.Count
ReDim arr1(x)
For y = 1 To x
arr1(y - 1) = rngCur2(y)
Next y
s = Join(arr1(), ", ")
rngCur = arr
MsgBox s
End Sub
VG, Boris

nach oben  nach unten

Betrifft: AW: Wäre halt noch wünschenswert...
Soll nur für eine Spalte gelten und löse ich manuell aus
Anzeige
AW: Falls das...
29.01.2022 16:24:04
Haustein
Ich bewundere deine Geduld.

nach oben  nach unten

Betrifft: Da hast Du vollkommen Recht...

Hi Onur,
...bei Dir braucht man wirklich viel Geduld - alles andere wäre aber kontraproduktiv.
Immerhin klemmen Deine Tasten ("???") in letzter Zeit nicht mehr, und wenn Du jetzt noch a) Deine etwas lehrerhafte Haltung ablegst und b) nur noch für Dich sprichst und nicht für andere ("Glaubst du, irgend Jemand versteht, was du meinst?"), dann hat sich meine Geduld am Ende vielleicht gelohnt ;-)
VG, Boris

nach oben  nach unten

Betrifft: Wäre halt noch wünschenswert...
Hi,
...zu wissen, ob das nur für eine Spalte gelten soll oder für mehrere, wie der Code genau ausgelöst werden soll und wo das Ergebnis hingeschrieben werden soll.
VG, Boris

nach oben  nach unten

Betrifft: AW: Wäre halt noch wünschenswert...
Soll nur für eine Spalte gelten und löse ich manuell aus

nach oben  nach unten

Betrifft: AW: Wäre halt noch wünschenswert...

Hi,
dann mal ein Beispiel mittes RemoveDuplicates - und zwar bezogen auf Spalte A ab A1 (ohne Spaltenüberschrift)

Sub mach_es()
Dim rngCur As Range, rngCur2 As Range
Dim arr, x As Long, y As Long, s As String
Set rngCur = Range("A1").CurrentRegion.Columns(1)
arr = rngCur
rngCur.RemoveDuplicates 1, xlNo
Set rngCur2 = Range(Cells(1, 1), Cells(1, 1).End(xlDown))
x = rngCur2.Count
ReDim arr1(x)
For y = 1 To x
arr1(y - 1) = rngCur2(y)
Next y
s = Join(arr1(), ", ")
rngCur = arr
MsgBox s
End Sub
VG, Boris

nach oben  nach unten

Betrifft: AW: Wäre halt noch wünschenswert...
Soll nur für eine Spalte gelten und löse ich manuell aus
Anzeige
Da hast Du vollkommen Recht...
29.01.2022 16:24:04
Haustein
Hi Onur,
...bei Dir braucht man wirklich viel Geduld - alles andere wäre aber kontraproduktiv.
Immerhin klemmen Deine Tasten ("???") in letzter Zeit nicht mehr, und wenn Du jetzt noch a) Deine etwas lehrerhafte Haltung ablegst und b) nur noch für Dich sprichst und nicht für andere ("Glaubst du, irgend Jemand versteht, was du meinst?"), dann hat sich meine Geduld am Ende vielleicht gelohnt ;-)
VG, Boris

nach oben  nach unten

Betrifft: Wäre halt noch wünschenswert...
Hi,
...zu wissen, ob das nur für eine Spalte gelten soll oder für mehrere, wie der Code genau ausgelöst werden soll und wo das Ergebnis hingeschrieben werden soll.
VG, Boris

nach oben  nach unten

Betrifft: AW: Wäre halt noch wünschenswert...
Soll nur für eine Spalte gelten und löse ich manuell aus

nach oben  nach unten

Betrifft: AW: Wäre halt noch wünschenswert...

Hi,
dann mal ein Beispiel mittes RemoveDuplicates - und zwar bezogen auf Spalte A ab A1 (ohne Spaltenüberschrift)

Sub mach_es()
Dim rngCur As Range, rngCur2 As Range
Dim arr, x As Long, y As Long, s As String
Set rngCur = Range("A1").CurrentRegion.Columns(1)
arr = rngCur
rngCur.RemoveDuplicates 1, xlNo
Set rngCur2 = Range(Cells(1, 1), Cells(1, 1).End(xlDown))
x = rngCur2.Count
ReDim arr1(x)
For y = 1 To x
arr1(y - 1) = rngCur2(y)
Next y
s = Join(arr1(), ", ")
rngCur = arr
MsgBox s
End Sub
VG, Boris

nach oben  nach unten

Betrifft: AW: Wäre halt noch wünschenswert...
Soll nur für eine Spalte gelten und löse ich manuell aus
Anzeige
Wäre halt noch wünschenswert...
29.01.2022 16:24:04
Haustein
Hi,
...zu wissen, ob das nur für eine Spalte gelten soll oder für mehrere, wie der Code genau ausgelöst werden soll und wo das Ergebnis hingeschrieben werden soll.
VG, Boris

nach oben  nach unten

Betrifft: AW: Wäre halt noch wünschenswert...
Soll nur für eine Spalte gelten und löse ich manuell aus

nach oben  nach unten

Betrifft: AW: Wäre halt noch wünschenswert...

Hi,
dann mal ein Beispiel mittes RemoveDuplicates - und zwar bezogen auf Spalte A ab A1 (ohne Spaltenüberschrift)

Sub mach_es()
Dim rngCur As Range, rngCur2 As Range
Dim arr, x As Long, y As Long, s As String
Set rngCur = Range("A1").CurrentRegion.Columns(1)
arr = rngCur
rngCur.RemoveDuplicates 1, xlNo
Set rngCur2 = Range(Cells(1, 1), Cells(1, 1).End(xlDown))
x = rngCur2.Count
ReDim arr1(x)
For y = 1 To x
arr1(y - 1) = rngCur2(y)
Next y
s = Join(arr1(), ", ")
rngCur = arr
MsgBox s
End Sub
VG, Boris

nach oben  nach unten

Betrifft: AW: Wäre halt noch wünschenswert...
Soll nur für eine Spalte gelten und löse ich manuell aus
Anzeige
AW: Wäre halt noch wünschenswert...
29.01.2022 16:24:04
Haustein
Soll nur für eine Spalte gelten und löse ich manuell aus

nach oben  nach unten

Betrifft: AW: Wäre halt noch wünschenswert...

Hi,
dann mal ein Beispiel mittes RemoveDuplicates - und zwar bezogen auf Spalte A ab A1 (ohne Spaltenüberschrift)

Sub mach_es()
Dim rngCur As Range, rngCur2 As Range
Dim arr, x As Long, y As Long, s As String
Set rngCur = Range("A1").CurrentRegion.Columns(1)
arr = rngCur
rngCur.RemoveDuplicates 1, xlNo
Set rngCur2 = Range(Cells(1, 1), Cells(1, 1).End(xlDown))
x = rngCur2.Count
ReDim arr1(x)
For y = 1 To x
arr1(y - 1) = rngCur2(y)
Next y
s = Join(arr1(), ", ")
rngCur = arr
MsgBox s
End Sub
VG, Boris

nach oben  nach unten

Betrifft: AW: Wäre halt noch wünschenswert...
Soll nur für eine Spalte gelten und löse ich manuell aus
Anzeige
AW: Wäre halt noch wünschenswert...
29.01.2022 16:24:04
Haustein
Hi,
dann mal ein Beispiel mittes RemoveDuplicates - und zwar bezogen auf Spalte A ab A1 (ohne Spaltenüberschrift)

Sub mach_es()
Dim rngCur As Range, rngCur2 As Range
Dim arr, x As Long, y As Long, s As String
Set rngCur = Range("A1").CurrentRegion.Columns(1)
arr = rngCur
rngCur.RemoveDuplicates 1, xlNo
Set rngCur2 = Range(Cells(1, 1), Cells(1, 1).End(xlDown))
x = rngCur2.Count
ReDim arr1(x)
For y = 1 To x
arr1(y - 1) = rngCur2(y)
Next y
s = Join(arr1(), ", ")
rngCur = arr
MsgBox s
End Sub
VG, Boris

nach oben  nach unten

Betrifft: AW: Wäre halt noch wünschenswert...
Soll nur für eine Spalte gelten und löse ich manuell aus
Anzeige
AW: Wäre halt noch wünschenswert...
29.01.2022 16:24:04
Haustein
Soll nur für eine Spalte gelten und löse ich manuell aus

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige