• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Standaardveldlengte in Excel

  • Onderwerp starter Onderwerp starter marka
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

marka

Gebruiker
Lid geworden
14 jul 2009
Berichten
333
Ik wil in excel een standaardveldlengte hebben. Voorbeeld.

12345 = 5 karakters maar moet veldlengte 10 hebben. Dus de 5 karakters + 5 spaties (" ").

Nu heb ik zelf gedacht aan een als formule, als lengte is 5 dan 5 spaties, als lengte is 4 dan 6.

Maar dit werkt niet aangezien ik dan een hele lange als formule moet schrijven. Veld kan wel 30 verschillende lengtes hebben.

Iemand een idee?
 
Beste Marka,

Waarvoor dient het?
Doe er eens een voorbeeld-bestandje bij als je wil.
 
ik denk , dat hij de veldlengte 10 spaties groot wil. Maar als er een karakter bij komt dat die een plaats ineemt.

1 karakter = 9 spaties
2 karakter = 8 spaties
3 karakter = 7 spaties
4 karakter = 6 spaties
5 karakter = 5 spaties
6 karakter = 4 spaties
7 karakter = 3 spaties
8 karakter = 2 spaties
9 karakter = 1 spaties
10 karakter = 0 spaties
 
Code:
=A1&HERHALING("_";10-LENGTE(A1))


Je kan de underscore vervangen door spatie, of elk ander teken

Joske
 
Veld kan wel 30 verschillende lengtes hebben.
Volgens TS z'n eigen woorden :d
Code:
=A1&HERHALING("_";[COLOR="red"]30[/COLOR]-LENGTE(A1))
Of met een event-macro'tje
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 1 Then Target = Target & WorksheetFunction.Rept(" ", 30 - Len(Target))
End Sub
 
Laatst bewerkt:
Hi Marka,

Zet je de vraag nog op opgelost aub.

Bedankt,

Joske
 
De oplossing werkt, maar het doel waarvoor ik het nodig had niet.

Ik wilde namelijk geen problemen met de uitlijning krijgen in word met samenvoegvelden. Nu pakt word de spaties niet die ik erin heb gezet. Een idee hoe ik dit kan oplossen?
 
De oplossing werkt, maar het doel waarvoor ik het nodig had niet. Ik wilde namelijk geen problemen met de uitlijning krijgen in word met samenvoegvelden. Nu pakt word de spaties niet die ik erin heb gezet. Een idee hoe ik dit kan oplossen?
Toch jammer, dat dit pas na een aantal goede oplossingen komt en niet direct als antwoord op de vraag in #2. Misschien zijn een Excel- én een Wordfile met daarin ook handmatig wat je wilt bereiken, verhelderend.
 
Ik had geen reden om aan te nemen dat de oplossing niet zou werken vandaar. En ik weet niet of je het had opgemerkt, maar ik heb tussen alle oplossingen door niet gereageerd, ofwel ik had vraag 2 toen nog niet gelezen.

Voorbeeld van het word document.

Waarin op volgorde: [artikelcode], [omschrijving], [kleur], [aantal besteld], [prijs]

Deze wil ik gelijk uitgelijnd hebben. Soms kunnen er 2 artikelen staan soms 10 dit verschilt.

211105 KUNSTSTOF OMSLAG VOOR ZAKAGENDA (1) 600 € 0,73
2111S01 ZAKAGENDA IN KUNSTSTOF OMSLAG (1) 464 € 0,73
2111S04 ZAKAGENDA IN KUNSTSTOF OMSLAG(1)600€ 0,73
2111S10ZAKAGENDA IN KUNSTSTOF OMSLAG(1)634€ 0,73
2111Y0001INHOUD ZAKAGENDA 3 DGN PER(0)600€ 0
890601INT. BUROAGENDA 'LEADER'(1)100€ 4,79
890605INT. BUROAGENDA 'LEADER'(1)100€ 4,79
890610INT. BUROAGENDA 'LEADER'(1)50€ 4,79
 
Laatst bewerkt:
Hallo Marka,

Wast gebeurt er als je de volgende formule gebruikt?

=A1&HERHALING(TEKEN(160);10-LENGTE(A1))
 
Waarin op volgorde: [artikelcode], [omschrijving], [kleur], [aantal besteld], [prijs] Deze wil ik gelijk uitgelijnd hebben. Soms kunnen er 2 artikelen staan soms 10 dit verschilt.
Kun je in Word niet gewoon een tabel maken met de eerste drie kolommen linkslijnend en de laatste twee rechtslijnend? Of, als het om facturering gaat, het helemaal in Excel maken?
 
Ja maar als ik 3 artikelen heb en 12 tabel rijen ziet dat er zo vreemd uit ;). Dan heb ik namelijk 9 witregels.
 
Dan verberg je de lege rijen toch met een simpele macro :rolleyes:
 
Zoals al enkele malen geopperd, plaats een voorbeeldbestandje met je opzet zodat er een geircht antwoord kan gegeven worden op jouw vraag. Ik kan het uitleggen ook, maar dan ben je nog niets verder.
Maak met For....Each een lus doorheen je tabel in kolom A, waarbij je een controle uitvoert op het al dan niet gevuld zijn van elke cel. Indien leeg dan de gehele rij verbergen (EntireRow.Hidden = True)
 
Ik wil best een voorbeeldbestand plaatsen, maar het heeft vrij weinig nut volgens mij aangezien ik het al precies heb uitgelegd.

Maar bij deze
 

Bijlagen

Hallo Marka,

Als ik jouw bestand zie zou ik geneigd zijn dit anders op te lossen:
Geef per afnemer een unieke identificatie en neem de gegevens op in een aparte tabel.
Neem de bestellingen op op een ander tabblad en gebruik de unieke sleutel voor het ophalen van de afnemergegevens.
Zorg er wel voor dat je per besteld artikel 1 regel hebt.
Maak in Word bij het samenvoegen van het document gebruik van Word-velden (volgend record als), waarmee je bepaald of er al of niet een nieuw record (in casu een nieuw artikel) moet worden toegevoegd.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan