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

Celwaardes kopieren en opslaan naar kladblok bestand

Status
Niet open voor verdere reacties.

MHamersma

Gebruiker
Lid geworden
10 aug 2009
Berichten
22
Collega's,

ik wil graag de waardes uit een aantal cellen (C12:C200) opslaan in een kladblok of wordpad bestand en opslaan met de extensie .los via een macro (VB)

Dit alles om een machineprogramma te kunnen genereren.

MVG,
Marco
Alvast bedankt !!
 
Gewoon een macro opnemen door het bereik te plakken naar een leeg tabblad en dat dan op te slaan als een tekstbestand (extensie 'los' zou je moeten kunnen forceren). Dan heb je het grootste deel van de benodigde code. Wellicht nog even aanpassen voor paden / standaard bestandnamen etc.
 
Laatst bewerkt:
Hé warm bakkertje,

je oplossing schijnt te werken, alleen zou ik graag het bestand willen opslaan met de naam uit een bepaalde cel (zie voorbeeld cel A2) met in 1 macro een extra toevoeging -1 en in de andere D1.


Voorbeeld : naam = testje , dan zou het opgslagen bestand uiteindelijk meoten heten : "Testje-1.los" en als het kan tegelijk "TestjeD1.los"

bijgaande je voorbeeld aangepast zoals het zou moeten werken

PS de macro moet zelf een bepaald gebied selecteren (is namelijk altijd hetzelfde gebied !)

bijv. C12:C46 en dan automatisch het geselecteerde gebied ongedaan maken en teruggaan naar cel A2

Ik hooop dat je / jullie eruit komen !

Groet Marco
 

Bijlagen

Dit is voldoende

Code:
Sub tst()
  ThisWorkbook.SavecopyAs "E:\" & Blad1.[A2] & "-1.los", xlTextMSDOS
  ThisWorkbook.SavecopyAs "E:\" & Blad1.[A2] & "D1.los", xlTextMSDOS
End Sub
 
Laatst bewerkt:
Staat het woord zelfwerkzaamheid niet in jouw woordenboek ?
 
denk je dat ik het zou vragen als ik zou weten hoe dat moet ?? :o

Sorry, maar in het programmeren ben ik helaas geen kei.

IEDER ZIJN VAK NIET !
 
denk je dat ik het zou vragen als ik zou weten hoe dat moet ?? :o

Er is wel een verschil als je 2 (!) minuten na de post van Snb al een antwoord geschreven hebt... Je zal zelf veel geprobeerd en opgezocht hebben op 1 minuut tijd.
 
Iedere Excel-versie heeft een hulpfunktie; in de boekhandel kun je boeken over Excel en VBA kopen, op internet kun je gratis cursussen volgen. Helpen (zie de naam van het forum) is iets anders dan kant en klaar leveren. Daarvoor kun je beter naar een automatiseringsbedrijf stappen.
Zelfwerkzaamheid heeft niets te maken met kennis, maar met je instelling.
 
Nou sorry hoor,

ik dacht dat dit een beetje vriendelijker FORUM zou zijn !!?!?

Maar de laatste van SNB werkt alleen voor de hele map op te lsaan, en als jullie de vraag (begin) goed hadden gelezen stond daar al dat ik alleen een selectie moets kunnen opslaan en niet een compleet programma, dit had ik namelijk op deze wijze al zelf (zelfwerkzaamheid !?!) al enigzins (met de help en zo !?) bij elkaar gezocht !!

Dim Bestandsnaam As String
Bestandsnaam = "C:\Temp\" & CStr(Range("C1").Value) & CStr("t") & ".los"
ActiveWorkbook.SaveAs Bestandsnaam

dit werkte voor het complete bestand, maar niet voor een geselecteerd gebied ?

Misschien laat ik hiermee zien dat ik ook echt wel verder zoek hoor, maar als ik vast zit dan vraag ik het, daar is dit forum toch voor ?
 
PS de macro moet zelf een bepaald gebied selecteren (is namelijk altijd hetzelfde gebied !)

bijv. C12:C46 en dan automatisch het geselecteerde gebied ongedaan maken en teruggaan naar cel A2



Groet Marco

Dit hier kan je zelf met de macro recorder opnemen en dan hier en daar wat opkuisen ( in de macro )
Code:
Nou sorry hoor, 

ik dacht dat dit een beetje vriendelijker FORUM zou zijn !!?!?
ik las in een vorige topic " welkom " ze zijn hier vriendelijk op het forum enkel willen ze dat de TS er iets aan opsteekt ! als deze laat zien wat hij al heeft geprobeerd > macrocode schrijven posten en ze verbeteren dat .
 
Bestudeer eens goed de code in de procedure ExportToTextFile, meer bepaald dit stuk:

Code:
If SelectionOnly = True Then
    With Selection
        StartRow = .Cells(1).Row
        StartCol = .Cells(1).Column
        EndRow = .Cells(.Cells.Count).Row
        EndCol = .Cells(.Cells.Count).Column
    End With
Else
    With ActiveSheet.UsedRange
        StartRow = .Cells(1).Row
        StartCol = .Cells(1).Column
        EndRow = .Cells(.Cells.Count).Row
        EndCol = .Cells(.Cells.Count).Column
    End With
End If

Dit stuk bepaalt wat er geëxporteerd wordt.

Wigi
 
Beste MHamersma, blijkbaar zit je nog steeds 'vast'. Daarom en omdat dit wel degelijk een 'zeeeeeer' vriendelijk forum is een nieuwe poging
 

Bijlagen

Enorm bedankt !!

ik had hem gisterenavond al gevonden !!

Heb hiermee een echte limburgse vlaai verdient !!

Groetjes en tot een volgende keer !

Marco
 
@Rudi

waarom niet:
Code:
Sub tst()
  ThisWorkbook.Sheets(1).[C12].CurrentRegion.Copy
  With Workbooks.Add
    .Sheets(1).Paste
    .SaveAs "E:\" & ThisWorkbook.Sheets(1).[A1] & "-1.los", xlTextMSDOS
    .SaveAs "E:\" & ThisWorkbook.Sheets(1).[A1] & "D1.los", xlTextMSDOS
  End With
End Sub

En om terug te komen op de door jou geplaatste code:
Een eenvoudiger methode om waarden uit een gebied om te zetten in tekst (in dit voorbeeld een csv-bestand):

Code:
For Each rw In Sheets(1).[C12].CurrentRegion.Rows
  c0 = c0 & Join(WorksheetFunction.Transpose(WorksheetFunction.Transpose(rw)), ",") & vbCr
Next
of voor het hele werkblad
Code:
For Each rw In Sheets(1).Usedrange.Rows
  c0 = c0 & Join(WorksheetFunction.Transpose(WorksheetFunction.Transpose(rw)), ",") & vbCr
Next
 
@snb Als het rechttoe rechtaan mag ben je inderdaad beter met jouw code
Code:
Sub tst()
  ThisWorkbook.Sheets(1).[C12:C20].Copy
  With Workbooks.Add
    .Sheets(1).Paste
    .SaveAs "D:\Mijn documenten\" & ThisWorkbook.Sheets(1).[A2] & "-1.los", xlTextMSDOS
    .SaveAs "D:\Mijn documenten\" & ThisWorkbook.Sheets(1).[A2] & "D1.los", xlTextMSDOS
  End With
  ActiveWorkbook.Close False
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan