Oude database in Excel Ordenen

Status
Niet open voor verdere reacties.

1roydeboy1

Nieuwe gebruiker
Lid geworden
31 okt 2008
Berichten
4
Hallo allemaal,

Voor me werk ben ik bezig met een 30 jaar oude database, het is de bedoeling een paar missende records toe te voegen aan de nieuwe database. Het probleem waar ik tegen aanloop is dat de oude database 1 lange regel van informatie is.
Ik zou deze lange regel in de cellen van Excel willen verdelen zodat ik een goed overzicht krijg van de data en deze vervolgens kan vergelijken met de nieuwe database.

De regel bestaat uit onderstaande namen met een vaste karakterlengte:
Naam + karakterlengte:
Debiteur/crediteur nummer 6
Zoekargument 6
Titulatuur 2
Naam 25
Adres 25
Woonplaats 20
Postcode 6
Contactpersoon 25
Telefoonnummer 12
Alternatief telefoonnummer 15
Faxnummer 15
Kredietbeperking 2
Vertegenwoordiger 2
Projectleider 2

Ik wil het overzicht graag zo hebben dat deze namen van links naar rechts lopen en wanneer ik alle punten van een klant gehad heb de volgende klant op de volgende regel komt.

Kan iemand mij vertellen als dit mogelijk is en hoe ik dit kan realiseren.

Bij voorbaat dank,

Roy van Heusden
 
Tekst naar kolommen

Tekst naar kolommen gebruiken.
http://www.adhocdata.nl/help/tekst_naar_kolommen.pdf
Voorbeeld gaat uit van data die gescheiden is door een ;
In jou geval even optie Vaste breedte kiezen ipv Gescheiden als dat niet zo is, wijst zich verder van zelf.

In Excel 2007 zit deze optie onder Gegevens.
 
Laatst bewerkt:
Voorbeeld Regel

Tekst naar kolommen gebruiken.
http://www.adhocdata.nl/help/tekst_naar_kolommen.pdf
Voorbeeld gaat uit van data die gescheiden is door een ;
In jou geval even optie Vaste breedte kiezen ipv Gescheiden als dat niet zo is, wijst zich verder van zelf.

In Excel 2007 zit deze optie onder Gegevens.

Bedankt voor je antwoord, maar jammer genoeg is het zo nog niet opgelost.
Ik had de "tekst naar kollommen" optie in Excel ook al bekeken, maar ik denk dat Excel zoveel vaste lengtes niet aankan. Of ik gebruik de functie verkeerd.
Hieronder heb ik een voorbeeld van een regel geplakt, misschien dat dit je een wat duidelijker beeld geeft.

Volgorde
Debiteur/crediteur nummer Titalatuur Naam Adres Woonplaats Postcode Telefoonnummer Zoekargument onbekend Faxnummer Kontaktpersoon Kredietbeperking Alternatief Telefoon nummer Projectleider
Voorbeeld Regel
1000011 Roestelberg v.o.f. Roestelberseweg 3 KAATSHEUVEL 5171RL0416-561575 ROESTE270416-561576 Dhr. A.M. Megens 01. .

Ik hoop dat iemand me hiermee verder kan helpen.
 
Zou geen enkel probleem moeten zijn hoor, En zelfs als zo zou zijn kan je het bv ook in twee keer doen.

Data plakken in de A kolom (en vergeet nog even de juiste kolom koppen op dit moment).
A kolom selecteren.
Naar de optie Tekst naar kolommen gaan
De optie Vaste breedte selecteren, klik op Volgende.
Excel doet een automatische poging een logische indeling te maken, komt in de beurt van wat je wilt maar is het toch niet helemaa, aanpassen dus.
De zwarte lijntjes kan je zelf verplaatsen.
Klik op een plek waar je ze wilt hebben en dubbel klik op een scheidingslijn die niet juist staat om deze te verwijderen.
Staan alle scheidingslijnen op de juiste plek klik dan op Voltooien.
Voeg nu bovenaan een rij in en geef de kolommen de juiste namen.

Als je er echt niet uit komt mag je me ook even een prive mail sturen (klik even op m´n naam) dan mail ik je een adres waar je het bestand heen kan mailen, dan doe ik het even voor je.
 
Laatst bewerkt:
Zou geen enkel probleem moeten zijn hoor, En zelfs als zo zou zijn kan je het bv ook in twee keer doen.

Data plakken in de A kolom (en vergeet nog even de juiste kolom koppen op dit moment).
A kolom selecteren.
Naar de optie Tekst naar kolommen gaan
De optie Vaste breedte selecteren, klik op Volgende.
Excel doet een automatische poging een logische indeling te maken, komt in de beurt van wat je wilt maar is het toch niet helemaa, aanpassen dus.
De zwarte lijntjes kan je zelf verplaatsen.
Klik op een plek waar je ze wilt hebben en dubbel klik op een scheidingslijn die niet juist staat om deze te verwijderen.
Staan alle scheidingslijnen op de juiste plek klik dan op Voltooien.
Voeg nu bovenaan een rij in en geef de kolommen de juiste namen.

Als je er echt niet uit komt mag je me ook even een prive mail sturen (klik even op m´n naam) dan mail ik je een adres waar je het bestand heen kan mailen, dan doe ik het even voor je.

Dit is niet mogelijk, ik heb dit geprobeerd maar kom er niet mee uit. En al zou ik er mee uitkomen dan nog heb ik alleen nog maar kolommen gemaakt en heb heb ik de regels nog niet onder elkaar.
En ik wil je bedanken voor het aanbod dat jij het wel wilt doen, maar dit is niet mogelijk. De informatie is bedrijfsinformatie en dat is niet de bedoeling dat dat naar buiten gaat.
Ik hoop dat jij of iemand anders nog een andere oplossing weet.
 
Even een Excel vba marco gemaakt die je ene lange regel in stukjes hakt en telkens een stukje in een cel zet. Na deze macro kan de de optie tekst naar kolommen wel gewoon gebruiken.

Code:
Sub GroteDbImport()
     '
    Dim intFileNum As Integer
    Dim strBuffer As String
    Dim lngRow As Long
    Dim lngPos As Long
    Dim lngStart As Long
    Dim strFileName As String
   
     ' file opzoeken (moet in de zelfde directory staan als dit excel bestand)
    strFileName = InputBox("Typ de naam van de file in")
     
     'Geen file dan stoppen
    If strFileName = "" Then End
     
     'volgende file handle opvragen
    intFileNum = FreeFile()
     
     'Open text file for input.
    Open strFileName For Input As #intFileNum
     
    lngStart = 1 ' karakters tellen, start bij 1
    lngPos = 163 ' Aantal karakters per regel
    lngRow = 1 ' Begin op rij 1
        
    Line Input #intFileNum, strBuffer ' file in buffer inlezen

Lusje:
    Cells(lngRow, 1) = "'" & Mid(strBuffer, lngStart, lngPos) 'regel in excel zetten
        If Cells(lngRow, 1) = "" Then GoTo Stoppen ' als hele regel leeg dan (vermoedelijke) EOF en stoppen
    lngRow = lngRow + 1
    lngStart = lngStart + lngPos
GoTo Lusje 'volgende regel

Stoppen:
    Close intFileNum
End Sub

Totale lengte per record is als ik goed geteld heb 163 in jou geval, deze waarde moet in lngPos staan en is eigenlijk de enige variabele.
Ik heb helaas geen héél groot bestand om te controlen of het ook dan nog goed gaat. De test bestanden die ik heb gebruikt gaven in ieder geval geen problemen.
 
Laatst bewerkt:
Gelukt:D

Even een Excel vba marco gemaakt die je ene lange regel in stukjes hakt en telkens een stukje in een cel zet. Na deze macro kan de de optie tekst naar kolommen wel gewoon gebruiken.

Code:
Sub GroteDbImport()
     '
    Dim intFileNum As Integer
    Dim strBuffer As String
    Dim lngRow As Long
    Dim lngPos As Long
    Dim lngStart As Long
    Dim strFileName As String
   
     ' file opzoeken (moet in de zelfde directory staan als dit excel bestand)
    strFileName = InputBox("Typ de naam van de file in")
     
     'Geen file dan stoppen
    If strFileName = "" Then End
     
     'volgende file handle opvragen
    intFileNum = FreeFile()
     
     'Open text file for input.
    Open strFileName For Input As #intFileNum
     
    lngStart = 1 ' karakters tellen, start bij 1
    lngPos = 163 ' Aantal karakters per regel
    lngRow = 1 ' Begin op rij 1
        
    Line Input #intFileNum, strBuffer ' file in buffer inlezen

Lusje:
    Cells(lngRow, 1) = "'" & Mid(strBuffer, lngStart, lngPos) 'regel in excel zetten
        If Cells(lngRow, 1) = "" Then GoTo Stoppen ' als hele regel leeg dan (vermoedelijke) EOF en stoppen
    lngRow = lngRow + 1
    lngStart = lngStart + lngPos
GoTo Lusje 'volgende regel

Stoppen:
    Close intFileNum
End Sub

Totale lengte per record is als ik goed geteld heb 163 in jou geval, deze waarde moet in lngPos staan en is eigenlijk de enige variabele.
Ik heb helaas geen héél groot bestand om te controlen of het ook dan nog goed gaat. De test bestanden die ik heb gebruikt gaven in ieder geval geen problemen.


Heel erg bedankt, het is helemaal gelukt.:thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan