Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: Nieuw VBA-projectje  (gelezen 5902 keer)

0 leden en 1 gast bekijken dit topic.

Offline BlackDevil

  • Ambassadeur
  • *****
  • Berichten: 1.029
  • Geslacht: Vrouw
  • veni vidi vici
Re: Nieuw VBA-projectje
« Reactie #15 Gepost op: 28 juni 2021, 16:20:56 »
Hey SoftAid,

Nee dat is totaal niet de bedoeling.
Elk van deze bestanden worden via 'php include' ingelezen in mijn webpagina's in een bepaalde opmaakvolgorde van de site zelf.
Elke kolom dient dus in een apart bestand te worden opgeslagen.

Wat jij voorstelt zou me elke keer uren/dagen aanpaswerk bezorgen, dan gaat het sneller om de inhoud van elke kolom handmatig te selecteren, kopieren, plakken en op te slaan.

Ik ben gewoon aan het zoeken hoe ik een bepaalde range kan laten opslaan als .txt bestand via vba.
Daarna kan ik de extensie handmatig wijzigen van .txt naar .php

Als vba een range kan opslaan als .pdf moet dat toch ook kunnen als .txt?

Ik zoek gewoon verder.

Bedankt voor het meedenken.


groetjes,
BlackDevil
1) HP ProDesk (Windows 10 Pro Edu / Intel(R) Core(TM) i5-7500 CPU@ 3.40Ghz 3.41Ghz)
2) Laptop ASUS (Windows 10 Home / Intel(R) Core(TM) i3-3110M CPU@ 2.40GHz 2.40GHz)
Beide (RAM : 8,00 GB / 64-bits besturingssysteem, x64-processor)
Extern (Seagate Backup+ Hub 6TB / Seagate BUP Slim 2TB / Seagate Expansion Desk 5TB / HP ENVY 6030e)
Bullguard Premium Protection / Office Pro Plus 2016 NL

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.169
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Nieuw VBA-projectje
« Reactie #16 Gepost op: 28 juni 2021, 17:33:19 »
Hallo BlackDevil,

Als je een bepaalde range kopieert en plakt in een (tijdelijk) werkblad, dan kan je dat werkblad opslaan als .txt (in Excel, Opslaan Als, Andere indelingen, txt).

Dit kan je ook via een macro:
Sub Macro1()
    ActiveWorkbook.SaveAs Filename:="C:\Users\Gebruiker\Desktop\Map1.txt", FileFormat:=xlText, CreateBackup:=False
End Sub
Maar dit werkt maar per werkblad. Daarom een specifiek nieuw werkblad gebruiken om steeds opnieuw excel data om te zetten naar txt-data

Helpt dit?

:) SoftAid :)             
Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Online JEC

  • Excel-Expert
  • Ervaren lid
  • *****
  • Berichten: 422
Re: Nieuw VBA-projectje
« Reactie #17 Gepost op: 28 juni 2021, 18:35:27 »
Je kunt met onderstaande code verschillende bereiken opslaan als tekst bestand.
Er wordt zo van de kolommen 1 t/m 5 een apart tekst bestand gemaakt.

Sub jvr()
c00 = "C:\Users\xx\xx\xx\"
 With CreateObject("scripting.filesystemobject")
    For j = 1 To 5
      .createtextfile(c00 & j & ".txt").write Join(Application.Transpose(Range(Cells(1, j), Cells(Rows.Count, j).End(xlUp))), vbLf)
    Next
 End With
End Sub

Offline BlackDevil

  • Ambassadeur
  • *****
  • Berichten: 1.029
  • Geslacht: Vrouw
  • veni vidi vici
Re: Nieuw VBA-projectje
« Reactie #18 Gepost op: 28 juni 2021, 19:12:14 »
Hey Veerj,

Hartelijk dank voor jouw oplossing  _/-\o_, deze werkt weer zoals gewoonlijk perfect zoals ik het wou.  :thumbsup:

Het enige wat ik nu nog moet doen is handmatig enerzijds de extensie wijzigen en anderzijds het toegewezen nummer in de bestandsnaam wijzigen in de correcte bestandsnaam. En natuurlijk voor elk werkblad afzonderlijk de macro starten maar sowieso, deze macro bespaard me gigantisch wat werk en tijd bij het bijwerken.  :thumbsup:


groetjes,
BlackDevil
1) HP ProDesk (Windows 10 Pro Edu / Intel(R) Core(TM) i5-7500 CPU@ 3.40Ghz 3.41Ghz)
2) Laptop ASUS (Windows 10 Home / Intel(R) Core(TM) i3-3110M CPU@ 2.40GHz 2.40GHz)
Beide (RAM : 8,00 GB / 64-bits besturingssysteem, x64-processor)
Extern (Seagate Backup+ Hub 6TB / Seagate BUP Slim 2TB / Seagate Expansion Desk 5TB / HP ENVY 6030e)
Bullguard Premium Protection / Office Pro Plus 2016 NL

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.169
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Nieuw VBA-projectje
« Reactie #19 Gepost op: 28 juni 2021, 19:17:38 »
Hey Veerj,

Weer een prachtoplossing van de hand van een meester  :thumbsup: :thumbsup:

Groeten en dank,

:) SoftAid :)             


Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Online JEC

  • Excel-Expert
  • Ervaren lid
  • *****
  • Berichten: 422
Re: Nieuw VBA-projectje
« Reactie #20 Gepost op: 28 juni 2021, 19:21:15 »
Graag gedaan!  :)
Je kan ook een loop door de werkbladen doen zodat je maar 1 druk op de knop hebt.
Ook de bestandsnaam kan met bvb een hulpcel in je bereik opgehaald worden.

Offline BlackDevil

  • Ambassadeur
  • *****
  • Berichten: 1.029
  • Geslacht: Vrouw
  • veni vidi vici
Re: Nieuw VBA-projectje
« Reactie #21 Gepost op: 28 juni 2021, 19:37:40 »
Hey Veerj,

Ik zal dat eens bestuderen als ik wat 'frisser van geest' ben  :D...

De definitieve bestandsnaam is opgebouwd uit twee delen gescheiden door een underscore, het eerste deel mbt het werkblad en het tweede deel mbt de kolom.

voor werkblad 2 tem 6 : '"gsk" / "gsv" / "gsm" / "gsd" / "gsp"

voor kolom 1 tem 7 : "gem" / "dat" / "kind" / "vader" / "moeder" / "peter" / "meter"

Dus bvb
kolom 3 uit werkblad 2 = "gsk_kind.txt"
kolom 2 uit werkblad 6 = "gsp_dat.txt"
enz...

groetjes,
BlackDevil
1) HP ProDesk (Windows 10 Pro Edu / Intel(R) Core(TM) i5-7500 CPU@ 3.40Ghz 3.41Ghz)
2) Laptop ASUS (Windows 10 Home / Intel(R) Core(TM) i3-3110M CPU@ 2.40GHz 2.40GHz)
Beide (RAM : 8,00 GB / 64-bits besturingssysteem, x64-processor)
Extern (Seagate Backup+ Hub 6TB / Seagate BUP Slim 2TB / Seagate Expansion Desk 5TB / HP ENVY 6030e)
Bullguard Premium Protection / Office Pro Plus 2016 NL

Online JEC

  • Excel-Expert
  • Ervaren lid
  • *****
  • Berichten: 422
Re: Nieuw VBA-projectje
« Reactie #22 Gepost op: 28 juni 2021, 19:41:36 »
Dus de afkortingen zijn exact de namen van de sheets?

Offline BlackDevil

  • Ambassadeur
  • *****
  • Berichten: 1.029
  • Geslacht: Vrouw
  • veni vidi vici
Re: Nieuw VBA-projectje
« Reactie #23 Gepost op: 28 juni 2021, 19:50:26 »
nee, eigenlijk niet....
vb : blad 2 heeft als naam "SortVnGeb" maar voor het eerste deel van de bestandnaam van de txt-file mbt deze sheet is dit "gsk"...

Tja, de benamingen hebben twee verschillende werk-doeleinden, vandaar....


groetjes,
BlackDevil
1) HP ProDesk (Windows 10 Pro Edu / Intel(R) Core(TM) i5-7500 CPU@ 3.40Ghz 3.41Ghz)
2) Laptop ASUS (Windows 10 Home / Intel(R) Core(TM) i3-3110M CPU@ 2.40GHz 2.40GHz)
Beide (RAM : 8,00 GB / 64-bits besturingssysteem, x64-processor)
Extern (Seagate Backup+ Hub 6TB / Seagate BUP Slim 2TB / Seagate Expansion Desk 5TB / HP ENVY 6030e)
Bullguard Premium Protection / Office Pro Plus 2016 NL

Online JEC

  • Excel-Expert
  • Ervaren lid
  • *****
  • Berichten: 422
Re: Nieuw VBA-projectje
« Reactie #24 Gepost op: 28 juni 2021, 19:59:43 »
Probeer het eens met deze

Sub jvr2()
  c00 = "C:\Users\xx\xx\xx\"
  arr = Array("gsk", "gsv", "gsm", "gsd", "gsp")
  arr2 = Array("gem", "dat", "kind", "vader", "moeder", "peter", "meter")
 
   With CreateObject("scripting.filesystemobject")
     For i = 2 To 6
       Set sht = Sheets(i)
         For j = 1 To 7
           .createtextfile(c00 & arr(jj) & "_" & arr2(j - 1) & ".txt").write Join(Application.Transpose(sht.Range(sht.Cells(1, j), sht.Cells(Rows.Count, j).End(xlUp))), vbLf)
         Next
        jj = jj + 1
     Next
   End With
End Sub

Offline BlackDevil

  • Ambassadeur
  • *****
  • Berichten: 1.029
  • Geslacht: Vrouw
  • veni vidi vici
Re: Nieuw VBA-projectje
« Reactie #25 Gepost op: 28 juni 2021, 20:11:32 »
 :thumbsup: :thumbsup: :thumbsup: _/-\o_ _/-\o_

werkt geweldig, hiermee ben ik ontzettend hard geholpen!

nu heb ik nog amper een half minuutje werk voor het handmatig wijzigen van de extensie aangezien ik daar een zéér handig tooltje voor heb dat ik al jaren gebruik om grote hoeveelheden bestanden in één keer te hernoemen.

groetjes,
BlackDevil
1) HP ProDesk (Windows 10 Pro Edu / Intel(R) Core(TM) i5-7500 CPU@ 3.40Ghz 3.41Ghz)
2) Laptop ASUS (Windows 10 Home / Intel(R) Core(TM) i3-3110M CPU@ 2.40GHz 2.40GHz)
Beide (RAM : 8,00 GB / 64-bits besturingssysteem, x64-processor)
Extern (Seagate Backup+ Hub 6TB / Seagate BUP Slim 2TB / Seagate Expansion Desk 5TB / HP ENVY 6030e)
Bullguard Premium Protection / Office Pro Plus 2016 NL

Online JEC

  • Excel-Expert
  • Ervaren lid
  • *****
  • Berichten: 422
Re: Nieuw VBA-projectje
« Reactie #26 Gepost op: 28 juni 2021, 20:13:14 »
Mooizo en succes verder! ;D


Offline RedHead

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 2.279
  • Geslacht: Man
  • Met Excel lukt 't wel.... (toch???)
Re: Nieuw VBA-projectje
« Reactie #27 Gepost op: 28 juni 2021, 21:02:41 »
Zet in de naamgeving van de code van Veerj gewoon een .php in plaats van .txt.
Dan ben je toch helemaal in 1x klaar?
______________________________

Groet, Leo

Online JEC

  • Excel-Expert
  • Ervaren lid
  • *****
  • Berichten: 422
Re: Nieuw VBA-projectje
« Reactie #28 Gepost op: 28 juni 2021, 22:07:09 »
Jazeker, dat werkt ook!

Offline BlackDevil

  • Ambassadeur
  • *****
  • Berichten: 1.029
  • Geslacht: Vrouw
  • veni vidi vici
Re: Nieuw VBA-projectje
« Reactie #29 Gepost op: 29 juni 2021, 11:12:19 »
@RedHead,

Ach ja, nu je het zegt, met de werkwijze in die code van Veerj kan dat direct in de code met de juiste extensie gezet worden.
Niet direct bij stil gestaan  :-[.

Dank om me erop te wijzen  :thumbsup:


groetjes,
BlackDevil
1) HP ProDesk (Windows 10 Pro Edu / Intel(R) Core(TM) i5-7500 CPU@ 3.40Ghz 3.41Ghz)
2) Laptop ASUS (Windows 10 Home / Intel(R) Core(TM) i3-3110M CPU@ 2.40GHz 2.40GHz)
Beide (RAM : 8,00 GB / 64-bits besturingssysteem, x64-processor)
Extern (Seagate Backup+ Hub 6TB / Seagate BUP Slim 2TB / Seagate Expansion Desk 5TB / HP ENVY 6030e)
Bullguard Premium Protection / Office Pro Plus 2016 NL

 


www.combell.com