Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
|
27.09.2015 12:33:41 |
Markus |
|
|
CSV einlesen, Datensätze zusammenfassen und in Tabelle einsortieren |
30.09.2015 13:53:57 |
BigBen |
|
|
|
30.09.2015 15:02:41 |
Markus |
|
|
Von:
BigBen |
Datum:
30.09.2015 13:53:57 |
Views:
1006 |
Rating:
|
Antwort:
|
Thema:
CSV einlesen, Datensätze zusammenfassen und in Tabelle einsortieren |
Hallo,
mit den folgenden Code werden die importierten csv-Daten aufbereitet:
Sub Aufbereitung()
Dim rngRw As Range
Dim strTMP As String
Dim strName As String
For Each rngRw In ActiveWorkbook.Worksheets("Daten").UsedRange.Rows
strName = rngRw.Cells(3) & ", " & rngRw.Cells(4)
Person strName, rngRw.Cells(5), rngRw.Cells(7)
End If
Next
End Sub
Sub Person(strName As String, strEigenschaft As String, strWert As String)
' Tabelle: Personen
' Suche nach strName in Spalte A
' Zeile 1: Eigenschaften einer Person
Dim rng As Range
Dim rngPerson As Range
Dim rngFind As Range
Dim rngProp As Range
With ActiveWorkbook.Worksheets("Personen")
Set rngFind = .Range("A:A").Find(strName)
If rngFind Is Nothing Then
' Person Nicht vorhanden -> Neu anlegen
Set rngPerson = .Rows(.UsedRange.Rows.Count + 1)
rngPerson.Cells(1) = strName
Else
Set rngPerson = .Rows(rngFind.Row)
End If
' Eigenschaften
Set rng = .Range("1:1")
Set rngFind = rng.Find(strEigenschaft)
If rngFind Is Nothing Then
' Eigenschaft nicht vorhanden -> anlegen
Set rngProp = .Columns(.UsedRange.Columns.Count + 1)
rngProp.Cells(1) = strEigenschaft
Else
Set rngProp = .Columns(rngFind.Column)
End If
If Not rngProp Is Nothing And Not rngPerson Is Nothing Then
' Wert eintragen
.Cells(rngPerson.Row, rngProp.Column) = strWert
End If
End With
End Sub
Damit der Code fehlfrei durchläuft müssen in der Arbeitsmappe zwei Tabellen vorhanden sein:
- Tabelle 1: Daten
Beinhaltet alles csv-Daten (Wichtig ist hierbei, dass der Name in Spalte C und D befindet)
- Tabelle 2: Personen
Es muss hier nur die Zelle A1 mit "Name" vorausgefüllt werden
Der Befehl "Aufbereitung" füllt die Tabelle "Personen".
VG, BigBen
|
- 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
Bitte geben Sie ein aussagekräftiges Thema an.
Bitte geben Sie eine gültige Email Adresse ein!
- 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
|
|
27.09.2015 12:33:41 |
Markus |
|
|
CSV einlesen, Datensätze zusammenfassen und in Tabelle einsortieren |
30.09.2015 13:53:57 |
BigBen |
|
|
|
30.09.2015 15:02:41 |
Markus |
|
|