• 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.

inlezen van een aaneengesloten text bestand en dan in hele getalen een komma plaastse

Status
Niet open voor verdere reacties.

ton02

Gebruiker
Lid geworden
16 jan 2016
Berichten
18
dag iedereen

ik heb de volgende vraag
ik heb een aaneengesloten tekstbestand wat ik al wel kan inlezen.
maar nu komt het er staan kortingen in en netto prijzen
maar die worden nu weer gegeven als een getal
en als ik op de cel het aan wil passen krijg ik er nullen er achter te staan
bij de korting krijg ik nu bijvoorbeeld 5500 te zien en dat moet 55.00 zijn en voor het netto bedrag geld dat het zelfde
krijg bijvoorbeeld 20680 te zien en dat moet 206.80 worden

en dan zit ik dat er in de tekst file DRAKA XMVKAS t/m 5X2,5mm² maar in Excel geeft ie die kleine 2 niet weer maar een zwarte rechthoek

ik heb een stuk txt bestand er bij gedaan en het vba

m.v.g. ton
 

Bijlagen

Wat betreft de kleine 2, je kan ze vervangen met Excel zelf:
VV.jpg

In "Zoeken in" geef je dat teken in door 178 in te tikken op je numerieke toetsenbord terwijl je de linker ALT toets indrukt.
Bij "Vervangen door" doe je hetzelfde maar dan gebruik je 253.

Daarna op "Alles vervangen" klikken.
 
Laatst bewerkt:
Wat betreft de kleine 2, je kan ze vervangen met Excel zelf:
Bekijk bijlage 262507

In "Zoeken in" geef je dat teken in door 178 in te tikken op je numerieke toetsenbord terwijl je de linker ALT toets indrukt.
Bij "Vervangen door" doe je hetzelfde maar dan gebruik je 253.

Daarna op "Alles vervangen" klikken.

Maar dan moet ik dat handmatig iedere keer gaan doen
en het is de bedoeling dat er dadelijke niemand bij dat bestand op zich kan

omdat alles via Excel VBA wordt aangeroepen

dus dat zou meteen automatische moeten op het moment dat ik dat bestaand ga inlezen
het bestaand is nu maar een klein stukje normaal bestaat dat bestand uit 25.000 regels
 
Dat kan ook maar dan zou je die import opnieuw moeten schrijven. Dat is op zich geen probleem maar heb ik nu geen tijd voor. Wellicht iemand anders en zoniet dan zal ik eens zien of dat vanavond kan.
 
Als je al kolomkoppen hebt dan kan je deze net zo goed laten staan.

Probeer deze eens. Wel even het pad aanpassen.

Code:
Sub VenA()
With ActiveSheet
    .Cells(1).CurrentRegion.Offset(1).ClearContents
    With .QueryTables.Add(Connection:="TEXT;C:\Temp\k3540622.txt", Destination:=Range("$A$2"))
        .TextFileParseType = xlFixedWidth
        .TextFileFixedColumnWidths = Array(20, 20, 50, 5, 5, 5, 9, 8, 8, 2)
        .Refresh BackgroundQuery:=False
    End With
    ar = .Cells(1).CurrentRegion
    For j = 2 To UBound(ar)
        ar(j, 1) = IIf(ar(j, 1) <> "", ar(j, 1) * 0.01, ar(j, 1))
        ar(j, 4) = IIf(ar(j, 4) <> "", ar(j, 4) * 0.01, ar(j, 4))
        ar(j, 5) = IIf(ar(j, 5) <> "", ar(j, 5) * 0.01, ar(j, 5))
        ar(j, 6) = IIf(ar(j, 6) <> "", ar(j, 6) * 0.01, ar(j, 6))
        ar(j, 7) = IIf(ar(j, 7) <> "", ar(j, 7) * 0.01, ar(j, 7))
    Next j
    .Cells(1).Resize(UBound(ar), UBound(ar, 2)) = ar
End With
End Sub
 
het werk perfect

Heb alleen de eerste regel nog weg moeten halen omdat een groepsnummer is (ar(j, 1) = IIf(ar(j, 1) <> "", ar(j, 1) * 0.01, ar(j, 1)))

Maar ik heb nog een andere vraag

kan je in een commandobutton de tekst aan de linkse kant laten begingen in plaats in het midden
wat ze nu doen.
 
Met een trucje.
Ga met de cursor achter de laatste letter staan en Druk Alt+255.
Herhaal dit een paar keer.
Door nu de breedte aan te passen van de button lijkt het alsof het links uitgelijnd staat.
 
ik heb het gevonden
als je een keer achter de naam idd alt+255 toets en dan met de spatie er achter zet dan schuif de text naar de linkse kant toe
 
Laatst bewerkt:
Is inderdaad een handig trucje van HSV. Zelf gebruik ik meestal een autovorm omdat ik deze mooier en makkelijker op te maken vind.

In kolom A zag ik alleen korting staan en niet gezien dat er 'Korting groep' stond:d

De code heb ik ik nog een beetje aangepast. Dit is op veel regels sneller, denk ik, door een ander if constructie.

Code:
Sub VenA()
With ActiveSheet
    .Cells(1).CurrentRegion.Offset(1).ClearContents
    With .QueryTables.Add(Connection:="TEXT;C:\Temp\k3540622.txt", Destination:=Range("$A$2"))
        .TextFileParseType = xlFixedWidth
        .TextFileFixedColumnWidths = Array(20, 20, 50, 5, 5, 5, 9, 8, 8, 2)
        .Refresh BackgroundQuery:=False
    End With
    ar = .Cells(1).CurrentRegion
    For j = 2 To UBound(ar)
        For jj = 4 To 7
            If ar(j, jj) <> "" Then ar(j, jj) = ar(j, jj) / 100
        Next jj
    Next j
    .Cells(1).Resize(UBound(ar), UBound(ar, 2)) = ar
End With
End Sub
 
Is inderdaad een handig trucje van HSV. Zelf gebruik ik meestal een autovorm omdat ik deze mooier en makkelijker op te maken vind.




VenA hoe werkt de autovrom dan als ik vragen mag
 
?? Je hebt er zelf één in jouw bijlage in #1 staan. Dat blauwe vak waar je op kan klikken.
 
@VenA, jij moet de tekst nog even uitlijnen naar links doordat dit makkelijker gaat volgens jou met een Autovorm. :d
 
Geen tekst uitlijnen is niet echt nodig:d

In het voorbeeldje een aantal mogelijkheden die je niet makkelijk met een commandbutton voor elkaar krijgt.
 

Bijlagen

Nu moet @ton02 er nog maar achter zien te komen hoe die het voor elkaar krijgt.

Je kan je eigen creatie er mooi in kwijt, maar bij het uploaden of versturen van een bestand naar derden wil het wel eens voorkomen dat een gekoppelde macro niet uitgevoerd wordt.
 
maar bij het uploaden of versturen van een bestand naar derden wil het wel eens voorkomen dat een gekoppelde macro niet uitgevoerd wordt.

Is dit zo? vbtje is gemaakt in XL-2007. En anders is het even rechtsklikken op zo'n vorm en de juiste macro eraan koppelen. Maar we dwalen weer eens af.:d We lezen wel of de TS er wat mee kan of dat er nog iets aangepast moet worden.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan