Thema Datum  Von Nutzer Rating
Antwort
20.12.2007 13:43:20 hopeless
NotSolved
21.12.2007 11:04:08 Oldschool
NotSolved
Rot Aw:aufsplitten eines Zusammenhängenden Datensatzes
21.12.2007 11:59:12 Holger
NotSolved

Ansicht des Beitrags:
Von:
Holger
Datum:
21.12.2007 11:59:12
Views:
962
Rating: Antwort:
  Ja
Thema:
Aw:aufsplitten eines Zusammenhängenden Datensatzes
Hallo hopeless,
natürlich lässt sich das mit VBA lösen.
Ich stelle fest, dass die Anzahl der Werte nach der Aufsplittung unterschiedlich sein kann (in deinem Beispiel 9 bzw. 8), dass aber die k und lk nur in der 3. und 4. Spalte gelöscht werden sollen.
Zuerst musst du feststellen, wie viele Zeilen bearbeitet werden soll:
Dim a() As String
Worksheets("Tabelle1").Activate 'oder der Name deiner Tabelle
Range("a1").End(xlDown).Activate 'oder deine Spalte
Anzahl = ActiveCell.Row

Dann kannst du z.B. mit einer For-Next-Schleife alle Zellen zerlegen und die l und lk abschneiden und in die 2. Tabelle schreiben (s. ggf. in der VBA-Hilfe nach):

For i = 1 To Anzahl
a = Split(Worksheets("Tabelle1").Cells(i, 1)) 'oder deine Tabelle und Nummer deiner Spalte als 2. Index
a(2) = Left(a(2), Len(a(2)) - 1) 'das mit Split erzeugt Array beginnt bei 0
a(3) = Left(a(3), Len(a(3)) - 2)
For j = 0 To UBound(a)
Worksheets("Tabelle2").Cells(i, j + 1) = a(j) 'oder der Name deier Zieltabelle
Next j
Next i

Zur Übertragung nach Access siehe sinngemäß Sensewell v. 12.12.07, 13:24:16. Du musst allerdings das Beispiel für die Abbildung Excel nach Access anpassen.
Viel Erfolg
Holger


hopeless schrieb am 20.12.2007 13:43:20:

Hi, ich habe da ein Problem und ich hoffe mir kann dabei jemand helfen.

Ich habe eine Tabelle in denen in einer Zelle Informationen gegeben werden die aber aufgesplittet mehr Sinn machen. Deshalb sollen diese Informationen aufgesplittet werden und in verschiedene Zellen auf verschiedene Spalten verteilt werden. (optimale Lösung wäre die Übertragung der Daten direkt in eine ACCESS Datenbank).

Die Aufteilung der Nummer soll folgendermaßen geschehen:

Die Nummer die gesplittet werden soll, sieht so aus (innerhalb dieser Spalte sind mehrere Nummern die ebenfalls nach diesem Muster automatisch gesplittet werden sollen. Die Nummern sehen alle ähnlich in ihrer Zusammensetzung aus, nur andere Zahlen bzw. Buchstaben werden verwendet):
177 S 3 0,2k 66lk GDP 3 FDGS (Jeder dieser Nummernabschnitte hat eine eigene Bedeutung und soll somit in einem neuen Tabellenblatt bzw. in einer Datenbank in einzelne Spalten untergebracht werden)
Das Ergebnis soll also folgendermaßen aussehen (177), (S), (3), (0,2)-> ohne k ist in der gesamten Spalte in jeder Zelle vorhanden, (66)-> ohne lk gleicher Grund wie bei k, (GDP), (3), (FDGS) -> alles was in Klammern steht soll wie beschrieben in eine eigene Spalte stehen. Beispiel:

Infos die in einer Zelle bzw. Spalte stehen
577 S 3 0,2k 66lk GDP 3 FD GS
288 P 6 4,4k 88lk SDP 7 PDRT
usw.--> Infos werden genauso dargestellt

neues Tabellenblatt bzw. Datenbanktabelle --> aufgesplittet in verschiedenen Spalten:
577 S 3 0,2 66 HGP 3 FD GS
288 P 6 4,4 88 SDP 7 PDRT

Ist dies mit VBA Programmierung möglich, wenn ja was für ein Programmcode könnt ihr mir hierfür empfehlen. Ich hoffe ihr könnt mir weiterhelfen. Vielen Dank schonmal im voraus.
MfG hopeless

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
20.12.2007 13:43:20 hopeless
NotSolved
21.12.2007 11:04:08 Oldschool
NotSolved
Rot Aw:aufsplitten eines Zusammenhängenden Datensatzes
21.12.2007 11:59:12 Holger
NotSolved