Excel 2010! Hilfe

... komplette Frage anzeigen

5 Antworten

geht auch mit einer Hilfsspalte und einer Formel: Deine Nummern seien in A2:A1000 .
Dann schreibst Du in meinetwegen F2: =A2 .
in F3 schreibst Du:
=F2&";"&A3 diese Formel ziehst du runter, soweit Du sie brauchst.
Am Ende kannst Du ihr Ergebnis sie dann mit kopieren-inhalte einfügen-Werte in einen Text überführen. Eine Zelle konnte schon in xl2003 über 32.767 Zeichen aufnehmen, sollte also kein Problem sein.

Kommentar von Iamiam
20.09.2011, 13:58

kleine Einschränkung:
manche Features gehen bei extrem langen Zeichenketten nicht mehr, zB suchen und ersetzen (Strg+H).
ich hab aber die Formel (mit 6-Zeichen-Strings) über mehr als 5000 Zellen verkettet, das geht.
Sollte also mit 12-Zeichen-Strings auch mindestens 2500 mal gehen. Mehr hab ich nicht probiert!

0

Kopiere mal diese UDF in ein allgemeines VBA-Modul (ALT&F11; Rechtsklick auf Microsoft Excel Objekte;Einfügen; Modul):

Function InEineZelle(Bereich As Range) As String
Dim Zelle As Range
Dim Ergebnis As String

For Each Zelle In Bereich
Ergebnis = Ergebnis & Zelle.Value & ";"
Next Zelle

Ergebnis = Left(Ergebnis, Len(Ergebnis) - 1)

InEineZelle = Ergebnis
End Function

Wenn jetzt Deine EAN-Nummern in A1:A50 stehen, schreibst Du in die Zelle, in der das Ergebnis stehen soll die Formel:
=InEineZelle(A1:A50)
und fertig.
Teste das mal genau, ist so auf die Schnelle zusammengestrickt.
Wenn Du einen schöneren Namen für die Funktion hast, musst Du nur die Zeilen:
Function InEineZelle(Bereich As Range) As String
und
InEineZelle = Ergebnis
ändern.
Klappt es?

So - das klappt aber:

Die Nummern markieren, kopieren und ins WordPad unter "Datei/Inhalte einfügen" einfügen. Dann alles nocheinmal kopieren, die Zelle in Excel doppelklicken und dann einfügen. Die Semikolons lassen sich dann mit Feststelltaste und Pfeiltaste schnell eingeben. Habs gerade getestet - funzt...

Kommentar von albelo
20.09.2011, 11:01

grrr: "Bearbeiten - Inhalte einfügen - unformatierter Text"...

0

Klicke Rechts auf den Tabellenreiter und wähle "Code anzeigen" Im sich öffnenden Fenster gibst du in die Weisse Fläche folgendes ein:

Sub Zusammen()

For Each c In Range("B2:B" & [B65536].End(xlUp).Row).Cells
Strg = Strg & "; " & c.Value
Next c
[D2] = Right(Strg, Len(Strg) - 2)
End Sub

Ich bin hier davon ausgegangen das deine EAN in B2:B... stehen. Sollte dies nicht der Fall sein musst die die entsprechende Zeile kurz anpassen. Ändere hierbei bitte auch [B65536] auf die entsprechende Spalte, also z.B. [C65536].

Die Ausgabezelle ist D2 sollte dies nicht passen den Code ensprechend anpassen.

unter Extras --> Makros solltest du nun das Makro "Zusammen" finden was du einfach ausführen kannst.

Kommentar von Oubyi
20.09.2011, 19:34

DH.
Falls bei Dir im VBA-Editor automatisch in der ersten Zeile:
Option Explicit
steht, musst Du das löschen, oder die von Chris genutzten Variablen VOR dem Code ordentlich deklarieren (;o):
Dim c As Range
Dim Strg As String

0

Hi,

ich würde ide EAN- Nummern kopieren und in die Zelle per "Inhalte einfügen" kopieren. Mit Suchen/Ersetzen dann ein Leerzeichen durch ein ";" ersetzen.

Albelo

Kommentar von albelo
20.09.2011, 10:49

Sorry - Schnellschuss. Habs gerade probiert - klappt nicht. Ich schau mal..

0
Kommentar von piii111
20.09.2011, 10:53

Hi,

also wenn ich alle Werte in eine Zelle einfüge, stehen ja alle wieder untereinander und sind mit einem Zeilenumbruch getrennt. Deshalb findet "Suchen/Ersetzen" kein Leerzeichen. Wie soll ich da vorgehen?

0

Was möchtest Du wissen?