Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Zusammenfassen von Zellen
#1
Question 
Hallo zusammen,

ich stehe vor folgender Problematik.

in meiner Tabelle habe ich in Spalte E mehrere Zellen, E2 bis E10, die ich in eine zusammenlegen muss was ich mit dieser Formel löse:

=E2&ZEICHEN(10)&E3&ZEICHEN(10)&E4&ZEICHEN(10)&E5&ZEICHEN(10)&E6&ZEICHEN(10)&E7&ZEICHEN(10)&E8&ZEICHEN(10)&E9&ZEICHEN(10)&E10

nun muss ich noch
E11 bis E20 und
E21 bis E27 usw. zusammen legen.

Habe ich die Möglichkeit die betreffenden Zellen mit "runter ziehen" zu definieren, da ich ja immer unterschiedliche Anzahl von Zellen zusammen legen muss?
Oder muss ich die Zellen einzeln von Hand eingeben?

Hoffe ich konnte mich verständlich ausdrücken.

Vielen Dank für Ideen

Jeeper
Antworten Top
#2
Hallo,

die unterschiedliche Anzahl der Zellen macht das etwas problematischer.

Ich würde eher mit der folgende benutzerdefinierten Funktion arbeiten

Code:
Function Verketten2(ByRef bereich As Range, Trennzeichen As String) As String
Dim rng As Range
   For Each rng In bereich
      If rng <> "" Then
      Verketten2 = Verketten2 & rng & Trennzeichen
      End If
   Next
If Len(Verketten2) > 0 Then _
Verketten2 = Left(Verketten2, Len(Verketten2) - Len(Trennzeichen))
End Function

und dann die Zellen mit

=Verketten2(E2:E10;" ")

verketten.
Gruß
Peter
[-] Folgende(r) 1 Nutzer sagt Danke an Peter für diesen Beitrag:
  • Jeeper
Antworten Top
#3
Hallo Peter,

Danke für Deine schnelle Hilfe.

In diesem Bereich habe ich noch nicht gearbeitet.
Kannst du mir kurz, wenn möglich, step by step beschreiben was ich tun muss?

Danke

Stefan
Antworten Top
#4
Hallo,

du musst eigentlich nur den Code in ein allgemeines Modul der Datei kopieren damit XL diese benutzerdefinierte Funktion kennt.

- Öffne mit Alt+F11 den VBA-Editor
- mit Strg+R den Projekt-Explorer öffnen und aktivieren
- die gewünschte Datei per Doppelklick markieren
- Tastenkombination Alt+E und dann M drücken
- in der rechten Fensterhälfte ist jetzt ein leeres Modul eingefügt worden
- in dieses Modul muss der Code eingefügt werden
- im Projektexplorer wird das Modul unter der Datei angezeigt
- speichen und den VBA-Editor mit Alt+F4 schliessen

Die Funktion steht dir jetzt in dieser Datei zur Verfügung und du kannst die Funktion wie eine 'normale' Formel in die Zelle eintragen.
Gruß
Peter
[-] Folgende(r) 1 Nutzer sagt Danke an Peter für diesen Beitrag:
  • Jeeper
Antworten Top
#5
soweit so gut... bekomm leider Fehler "ungültiger Name"

heißt ich mach noch was falsch.... Huh 
wobei ich mich eigentlich an die Anleitung gehalten habe....
Antworten Top
#6
Hallo,

ungültiger Name sagt mir nichts, ich kenne lediglich die Fehlermeldung #Name? die erscheint wenn der Code nicht im richtigen Modul steht.

Schau mal ob du mit der angehängten Beispielsdatei weiterkommst.


Angehängte Dateien
.xlsm   Mappe1.xlsm (Größe: 12,95 KB / Downloads: 7)
Gruß
Peter
[-] Folgende(r) 1 Nutzer sagt Danke an Peter für diesen Beitrag:
  • Jeeper
Antworten Top
#7
@ Peter:

Ich sehe gerade deine Formel aus #2:
Zitat:=Verketten2(E2:E10;" ")

Und ich meine, dass der TE mit einer Zeilenschaltung verketten wollte. (Ich weiß, dass das eine andere Baustelle ist als die aktuelle ...) Aber für den einen oder anderen Mitleser vielleicht hilfreich.
Beste Grüße
  Günther

Excel-ist-sexy.de
  …schau doch mal rein!
Der Sicherheit meiner Daten wegen lade ich keine *.xlsm bzw. *.xlsb- Files mehr herunter! -> So geht's ohne!
Antworten Top
#8
Hallo Günther,

stimmt, da hast du recht, aber es funktioniert auch mit Zeichen(10):

=Verketten2(A1:A8;ZEICHEN(10))
Gruß
Peter
Antworten Top
#9
Vielen Dank für Eure Hilfe :28:

Leider bekomm ich immernoch die Meldung "#NAME?"

irgendwo hab ich noch einen Fehler. Leider kann ich die Datei von Peter im Büro nicht laden (unsere EDV sperrt das) .

bekomme gei eingabe von "=verk...)  verkettung2 angezeigt, wähle diese mit TAB aus und bekomm sofort die o.g. Fehlermeldung

Wenn ich bloß wüsste woran das liegt......

Noch eine Idee? Oder nähere Info nötig ?

DANKE

Stefan
Antworten Top
#10
Hallo,

ich kann das Verhalten bei mir nicht nachvollziehen.

Die Fehlermeldung #Name erscheint eigentlich dann wenn XL den Funktionsnamen nicht kennt, d.h. wenn die Funktion nicht in einem allgemeinen Modul steht, oder der Funktionsname falsch geschrieben wird.

Allerdings lässt das
Zitat:bekomme gei eingabe von "=verk...) verkettung2 angezeigt, wähle diese mit TAB aus und bekomm sofort die o.g. Fehlermeldung
darauf schließen, dass der Code im richtigen Modul steht.

Wie sind denn die Sicherheitseinstellungen (Datei - Optionen - Trust Center - Einstellungen für das Trust Center)? Ändert sich da etwas wenn du testweise auf den untersten Punkt gehst (Alle Makros aktivieren...)?

Was passiert denn wenn du testweise eine neue Datei erstellst, den Code dort in ein allgemeines Modul kopierst, in A1 bis A10 Werte einträgst und dann in B1 die Formel =Verketten2(A1:A10;" ,") eingibst?

Gleiche Fehlermeldung?

Wenn ja, dann lade diese von dir erstelle Beispielsdatei mal hoch damit man sich das ansehen kann.
Gruß
Peter
[-] Folgende(r) 1 Nutzer sagt Danke an Peter für diesen Beitrag:
  • Jeeper
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste