Je had een messagebox moeten krijgen met het pad en de filenaamquote:Op zaterdag 11 februari 2012 18:05 schreef elkravo het volgende:
[..]
Hoi, ik zie geen verschil::
Wat nu gebeurt is...
Er wordt een nieuw excel-map gemaakt, en ik krijg deze pop-up:
[ afbeelding ]
Vervolgens zet ik er een nieuwe naam in... maar wordt het blad toch als FALSE.xls bewaard.
In de oorspronkelijke code staat o.a.:
[ code verwijderd ]
mist dit op een of andere manier niet?
Ok, de vba uit jouw file gebruikt... de file creatie werkt nu wel. Dank.quote:Op zaterdag 11 februari 2012 19:49 schreef KritischeMassa het volgende:
[..]
Je had een messagebox moeten krijgen met het pad en de filenaam
Zet die hele code nu eens in een nieuwe sheet en test het vanaf daar (opgeslagen en wel)
En nee , je geeft het filetype immers al op in het dialoog
hier de sheet die ik heb
In de bovenstaande sheet draai de macro "export"
| 1 2 3 4 5 | 1;2;3;4;5 q;q;q;q;q w;w;w;w;w 2;3;4;5;6 etc |
Ok, we komen verder iigquote:Op zaterdag 11 februari 2012 20:13 schreef elkravo het volgende:
[..]
Ok, de vba uit jouw file gebruikt... de file creatie werkt nu wel. Dank.
Alleen lijkt de format van de geëxporteerde file "intern" niet "comma separated".
Als ik de file open in kladblok verwacht ik (uit jouw file)
[ code verwijderd ]
Maar de uitkomst van de export maakt dit niet, bij openen in kladblok zie ik allerlei rare tekens, dus ik denk dat het toch nog op een of andere manier intern nog xls-format is of zo...
| 1 | ActiveWorkbook.SaveAs Filename:=filesavename, FileFormat:=xlCSV, CreateBackup:=False |
That was the missing piece!quote:Op zaterdag 11 februari 2012 20:20 schreef KritischeMassa het volgende:
[..]
Ok, we komen verder iig
dus het is geen csv als gehoopt...
hmmm
[ code verwijderd ]
en zo?
Ik was met opzet vrij cryptisch in mijn antwoorden, je was al zo lekker op wegquote:Op zaterdag 11 februari 2012 20:28 schreef elkravo het volgende:
[..]
That was the missing piece!Hij doet 't!
KM ik ben je enorm dankbaar!![]()
En ik heb weer nieuwe dingen geleerd ook zo, waarvoor ook dank!
Hah nee dat was me niet opgevallen. Maar goed als ik die codes zie snap ik een en ander, en veel ook weer niet. Weet niet waar mensen dit soort spul leren, maar dit moet je dus gewoon leren, en lezen, het is niet altijd redeneerbaar. Lijkt me bij computertaal in het algemeen het geval.quote:Op zaterdag 11 februari 2012 20:31 schreef KritischeMassa het volgende:
[..]
Ik was met opzet vrij cryptisch in mijn antwoorden, je was al zo lekker op weg
Heb je gezien dat ik je "select" actie heb weggehaald in jouw code?
Als je gebruik maakt van macro opnemen zitten er een hoop select acties in, die zijn helemaal niet nodig en laten het scherm flikkeren. Je kan vrij direct ranges aanwijzen en manipuleren namelijk.
Basic is in al zijn vormen een bitchquote:Op zaterdag 11 februari 2012 20:57 schreef elkravo het volgende:
[..]
Hah nee dat was me niet opgevallen. Maar goed als ik die codes zie snap ik een en ander, en veel ook weer niet. Weet niet waar mensen dit soort spul leren, maar dit moet je dus gewoon leren, en lezen, het is niet altijd redeneerbaar. Lijkt me bij computertaal in het algemeen het geval.
| 1 | Range("I87:M138").Copy |
| 1 | Range("I86:M137").Copy |
| 1 | Range("I87:M137").Copy |
Ik vind jouw beschreven optie goed, ik wil dat een gebruiker niets hoeft te doen. En die regels met start en einde gaan niet weg.quote:Op zondag 12 februari 2012 19:34 schreef KritischeMassa het volgende:
Ja hoor
Je kan range en cells combineren
Cells kun je tellen -> Cells(i,j)
Door nu door de kolom heen te lopen kun je het start en einde van de range detecteren
pseudocode
For i = 1 to 32000
if cells(i,1)= "start" then
SelStart = i
end if
if cells(i,1) = "einde" then
SelEnd = i
exit for
end if
next
Nu weet je het begin en het eind
nu kun je de range specificeren
range(cells(StartSel,1),cells(EndSel,8))
de 1 en de 8 slaan op de kolomnummers
edit:
Dit gaat natuurlijk grandioos de mist in als je de regel met start of einde verwijderd
kun je niet beter de gebruiker de range laten selecteren met inputbox type 8? (zie post #4 in dit topic voor een voorbeeld)
haha dat was grappig hequote:Op zondag 12 februari 2012 20:08 schreef elkravo het volgende:
(ook als ik over StartSel en EndSel gebruik en niet SelStart hier en SelEnd)
quote:Op maandag 13 februari 2012 17:02 schreef mrrrtijn1975 het volgende:
Hi, ik zit met een uitdaging in Excel.
Stel ik wil dagelijks bijhouden in welk merk auto ik rijd en voer dat als volgt in :
[ afbeelding ]
Met de knop ' toevoegen aan lijst' wil ik dat een lijst wordt aangevuld, dat ziet er dan zo uit :
[ afbeelding ]
Hoe moet ik die knop programmeren? Is daar een formule voor, of moet ik met VB gaan werken, of kan ik eventueel met een macro werken? En hoe doe ik dat?
eeuwige roem voor degene die me hiermee kan helpen!
thx
| 1 2 3 4 5 6 7 8 9 10 11 12 13 | For i = 1 To 3200 'Kijken welke regel leeg is 'Uitgaande van de datum kolom If ActiveWorkbook.ActiveSheet.Cells(i, 1) = "" Then Exit For Next 'elke ingevoerde waarde in het formulier wordt in de sheet geplaatst ActiveWorkbook.ActiveSheet.Cells(i, 1) = DTPicker1.Value ActiveWorkbook.ActiveSheet.Cells(i, 2) = TextBox1.Value ActiveWorkbook.ActiveSheet.Cells(i, 3) = TextBox2.Value 'userform sluiten Unload Me |
Aantal.als een idee?quote:Op maandag 13 februari 2012 19:51 schreef teamlead het volgende:
iemand een idee?
Ik heb een sheet met 52 tabbladen (voor iedere week 1).
In zo'n tabblad staat in kolom A de naam van een medewerker en in kolom B tot en met L komt wel of geen "x" om bij te houden of iemand wel of niet in die week gecoacht is.
Nu wil ik een "overzichtspagina" hebben, waar ik in kolom A de naam van de medewerker heb staan en in kolom B (week 1) tot en met BA (week 52) het aantal "x" per medewerker voor de betreffende week.
Een aantal.arg per tabblad zou kunnen... als we iedere week dezelfde medewerkers zouden hebben. En dat is niet per definitie zo
Iemand een idee hoe ik een formule of macro kan gebruiken die kijkt naar de naam van de medewerker en dan per tabblad het aantal x-jes van die medewerker telt
| 1 2 3 | For i kan op cellen slaan maar ook op sheets (sheet(i)) Dan tellen in die sheets For j bijvoorbeeld Sheet(i).cells(j,1) Dan tellen in kolomen for k bijvoorbeeld sheet(i),cells(j,k) |
Google en KM zullen je helpenquote:Op maandag 13 februari 2012 20:02 schreef mrrrtijn1975 het volgende:
Hi Kritische massa, ik had nog niet aan deze oplossing gedacht om te werken met een user form. Ik moet me toch eens bezig gaan houden met VB, voor de eerste keer programmeren in 15 jaar. Het zal niet meevallen. ;-) thx!
met aantal.als loop ik er tegenaan dat ik óf de naam als criterium moet hanteren of de ingevulde "x" .quote:
macro knutselen dusquote:Macro kan ook
In dit topic zijn een aantal voorbeelden van code en tellers die je opweg kunnen helpen
[ code verwijderd ]
Probeer eens wat zou ik zeggen en als het echt niet lukt zie ik je hier vanzelf weer
Combinatie van vert.zoeken() en aantal.als()quote:Op maandag 13 februari 2012 19:51 schreef teamlead het volgende:
iemand een idee?
Ik heb een sheet met 52 tabbladen (voor iedere week 1).
In zo'n tabblad staat in kolom A de naam van een medewerker en in kolom B tot en met L komt wel of geen "x" om bij te houden of iemand wel of niet in die week gecoacht is.
Nu wil ik een "overzichtspagina" hebben, waar ik in kolom A de naam van de medewerker heb staan en in kolom B (week 1) tot en met BA (week 52) het aantal "x" per medewerker voor de betreffende week.
Een aantal.arg per tabblad zou kunnen... als we iedere week dezelfde medewerkers zouden hebben. En dat is niet per definitie zo
Iemand een idee hoe ik een formule of macro kan gebruiken die kijkt naar de naam van de medewerker en dan per tabblad het aantal x-jes van die medewerker telt
Kan ook wel met formule: =INT(A1)&":"&60*(A1-INT(A1))quote:Op dinsdag 14 februari 2012 16:40 schreef Puckzzz het volgende:
Ik heb 'm al
formule gewoon ='NL Maarssen (Stichtse Vecht)'!G3/24
en dan de cel eigenschap [uu]:mm
ik dacht ik deel 'm ff
Dat is wel heel ingewikkeld vind je niet?quote:Op dinsdag 14 februari 2012 18:51 schreef McGilles het volgende:
[..]
Kan ook wel met formule: =INT(A1)&":"&60*(A1-INT(A1))
nee, dat was toch iets anders. Dat zou de 24 uur niet overschrijden.quote:Op dinsdag 14 februari 2012 19:27 schreef KritischeMassa het volgende:
[..]
Dat is wel heel ingewikkeld vind je niet?
Wel grappig dat deze vraag voor de tweede keer van dezelfde user in dit deel voorkomt (zie post #29).
Of ging het nu om de opmaak >24 uur in [uu]?
Doe eens 63.25 uur delen door 24 en dan opmaken als dd-mm-jjjj uu:mmquote:Op dinsdag 14 februari 2012 19:43 schreef Puckzzz het volgende:
[..]
nee, dat was toch iets anders. Dat zou de 24 uur niet overschrijden.
Je kan de veldopmaak veranderen naar datum, werkt dat met deze opmaak? Anders de punten vervangen door "-"quote:Op donderdag 16 februari 2012 09:00 schreef M_Schtoppel het volgende:
Beste Excel-specialisten,
Ik werk met Excel 2010 en ik zit met het volgende. Ik heb een veld dat er als volgt uit ziet:
01.01.2012 14:45:23
Dus het tijdstip en dag dat iets gebeurd is. Zo heb ik ruim 100.000 van dat soort velden onder elkaar.
De categorie staat nu op standaard. Hoe kan ik van zo'n veld een datumveld maken zonder tijd? Bestaat er een functie die die tijd eraf kan trimmen?
Hartelijk dank alvast!
als je het format naar "nummer" veranderd wordt het dan een getal?quote:Op donderdag 16 februari 2012 09:00 schreef M_Schtoppel het volgende:
Beste Excel-specialisten,
Ik werk met Excel 2010 en ik zit met het volgende. Ik heb een veld dat er als volgt uit ziet:
01.01.2012 14:45:23
Dus het tijdstip en dag dat iets gebeurd is. Zo heb ik ruim 100.000 van dat soort velden onder elkaar.
De categorie staat nu op standaard. Hoe kan ik van zo'n veld een datumveld maken zonder tijd? Bestaat er een functie die die tijd eraf kan trimmen?
Hartelijk dank alvast!
Het is ook van de ene kant een makkelijk functie maar er zitten nog wat retricties aan wat sommige mensen zich niet realiseren.quote:Op woensdag 15 februari 2012 12:27 schreef DaFan het volgende:
Typisch hoeveel vragen er zijn over VLOOKUP
dan is het dus een tekst en kun je idd mijn formule gebruiken.quote:Op donderdag 16 februari 2012 09:55 schreef M_Schtoppel het volgende:
Hallo mensen, nee, als ik de categorie op getal zet, verandert er niets, ook visueel niet.
En de categorie op datum zetten laat ook niets anders zien. Categorie aangepast heb ik ook geprobeerd maar ook daar geen sjoegem.
Ik kom deze datumnotatie vaak tegen in logfiles (durag/sick). Vervangen zoals ik aangaf zet het ook om naar datum/tijd.quote:Op donderdag 16 februari 2012 12:59 schreef Deetch het volgende:
[..]
dan is het dus een tekst en kun je idd mijn formule gebruiken.
Een handige tip ten aanzien van datums: Een datum is in excel gewoon een getal waarbij het cijfers achter de komma het deel van een dag is. Dus 12:00 is 0.5.
Als je data dus echt als data hebt staan kun je deze gewoon van elkaar aftrekken en afronden etc.
klopt maar dan moet je dus elke keer je ruwe data aanpassen terwijl je op deze manier een formule hebt die met je ruwe data gewoon aan de slag gaat.quote:Op vrijdag 17 februari 2012 07:16 schreef M_Schtoppel het volgende:
KritischeMassa heeft inderdaad gelijk. Zoeken en vervangen werkt prima! Daarna met control 1 de categorie op datum zetten en je hebt een normaal datumveld. Wel moet ik even testen of dit echt goed werkt want ik moet er draaitabellen van maken waar voor mijn werk financiele dingen aanhangen.
Bedankt!
Ach ik heb dat soort dingen in een importmacro gestopt, je kan er namelijk meteen integers vanmaken )hele dagen.quote:Op vrijdag 17 februari 2012 08:01 schreef Deetch het volgende:
[..]
klopt maar dan moet je dus elke keer je ruwe data aanpassen terwijl je op deze manier een formule hebt die met je ruwe data gewoon aan de slag gaat.
Verder verdwijnt het getal achter de komma niet als je van een datum tijd notatie alleen de datum laat zien via format. Dit kan vervelend zijn bij vlookup functies en misschien ook wel met draiabellen.
=ALS(E18="Boston";B26;ALS(F18="Ja";B27;B28)).quote:Op vrijdag 17 februari 2012 17:15 schreef OudeBok het volgende:
Ik zit met een probleempje. Ik wil twee ALS functies nesten, maar het lukt niet.
Ik heb nu dit staan : =ALS(E18="Boston";B26;B28;ALS(F18="Ja";B27;)).
Excel geeft dan de melding dat ik teveel argumenten heb gebruikt. Hoe los ik dit op ?
Aan de ene kant wel, maar aan de andere kant, heb zelf wiskunde gestudeerd en heb niks met programmeren dus over het algemeen schud ik 9 van de 10 keer binnen een minuut wel een wiskundige oplossing uit mijn mouw, neemt niet weg dat het soms omslachtig is en soms weer enorm handig en efficientquote:Op dinsdag 14 februari 2012 19:27 schreef KritischeMassa het volgende:
[..]
Dat is wel heel ingewikkeld vind je niet?
Wel grappig dat deze vraag voor de tweede keer van dezelfde user in dit deel voorkomt (zie post #29).
Of ging het nu om de opmaak >24 uur in [uu]?
Welke taal heb je?quote:Op zaterdag 18 februari 2012 15:36 schreef M_Schtoppel het volgende:
Ik heb de formule EXACT overgenomen en toch komt hij met een foutmeldig.
jouw oplossing was niet handig want die zorgt ervoor dat je niet meer kan rekenen met tijd omdat het een string wordt, als je de opmaak [hh] gebruikt dan blijft het legale tijd binnen excel.quote:Op zaterdag 18 februari 2012 15:11 schreef McGilles het volgende:
[..]
Aan de ene kant wel, maar aan de andere kant, heb zelf wiskunde gestudeerd en heb niks met programmeren dus over het algemeen schud ik 9 van de 10 keer binnen een minuut wel een wiskundige oplossing uit mijn mouw, neemt niet weg dat het soms omslachtig is en soms weer enorm handig en efficient
Oooh, ik keek puur en alleen naar de 'uitkomst', het is inderdaad een string ja.quote:Op zaterdag 18 februari 2012 15:41 schreef KritischeMassa het volgende:
[..]
jouw oplossing was niet handig want die zorgt ervoor dat je niet meer kan rekenen met tijd omdat het een string wordt, als je de opmaak [hh] gebruikt dan blijft het legale tijd binnen excel.
Ik zou gebruik maken van de volgende functie:quote:Op zaterdag 18 februari 2012 16:51 schreef M_Schtoppel het volgende:
Ik hoef niet te rekenen met die datum. Ik wil alleen een draaitabel hebben (ik weet hoe dat moet) met links een rij van unieke datums zodat ik kan zien hoe vaak iets op een datum gebeurd is.
Ikzelf vind de =countifs( functie van excel2007 fantastisch, ideaal in grote tabellen en zeer vaak te gebruiken.quote:Op zaterdag 18 februari 2012 17:14 schreef M_Schtoppel het volgende:
Wat vind je zelf de mooiste functie van Excel? Ik draaitabellen, daar werd ik toch wel even lyrisch van toen ik dat zag. Niet op de financiele manier, maar meer op de database manier, dus uittreksels van databases maken.
kun je beter sumproduct gebruiken, daar krijg ik nou een harde plasser vanquote:Op zaterdag 18 februari 2012 17:21 schreef McGilles het volgende:
[..]
Ikzelf vind de =countifs( functie van excel2007 fantastisch, ideaal in grote tabellen en zeer vaak te gebruiken.
In combinatie met jouw ava geeft dat een verontrustend beeld!quote:Op zondag 19 februari 2012 17:17 schreef Deetch het volgende:
[..]
kun je beter sumproduct gebruiken, daar krijg ik nou een harde plasser van
Ik gok een macro die door al je afbeeldingen loopt, maar dat zal KM vast beter uit kunnen leggenquote:Op maandag 20 februari 2012 09:19 schreef Twentsche_Ros het volgende:
Als je doet:
Invoegen
Vormen
En dan
Tekst bewerken
Kortom:
Je zet tekst in een "vorm". Een rechthoek bv. Of iets anders. Voor bv een systeemstroomschema.
Hoe kun je die dan vinden met Ctrl-F.
Dit kan namelijk wel met tekst in "opmerkingen".
En natuurlijk ook met tekst in iedere cel.
Maar net even niet met tekst in vormen.
Wie weet een oplossing?
Ja dat is de manierquote:Op maandag 20 februari 2012 10:00 schreef qu63 het volgende:
[..]
Ik gok een macro die door al je afbeeldingen loopt, maar dat zal KM vast beter uit kunnen leggen
Deze beter?quote:Op zondag 19 februari 2012 17:28 schreef qu63 het volgende:
[..]
In combinatie met jouw ava geeft dat een verontrustend beeld!
Ligt eraan wat je wilt. Groot nadeel van sumproduct is dat hij niet kan verwijzen naar hele kolommen (A:A bijvoorbeeld) maar altijd A1:A1000 wil. Countifs formules (en andere 2007 functies) kunnen dit welquote:Op zondag 19 februari 2012 17:17 schreef Deetch het volgende:
[..]
kun je beter sumproduct gebruiken, daar krijg ik nou een harde plasser van
Onwaar.quote:Op maandag 20 februari 2012 18:37 schreef McGilles het volgende:
[..]
Ligt eraan wat je wilt. Groot nadeel van sumproduct is dat hij niet kan verwijzen naar hele kolommen (A:A bijvoorbeeld) maar altijd A1:A1000 wil. Countifs formules (en andere 2007 functies) kunnen dit wel
Nou ok... was wel wat nieuw voor me en de code kan waarschijnlijk beter (for each textbox...)quote:Op maandag 20 februari 2012 09:19 schreef Twentsche_Ros het volgende:
Als je doet:
Invoegen
Vormen
En dan
Tekst bewerken
Kortom:
Je zet tekst in een "vorm". Een rechthoek bv. Of iets anders. Voor bv een systeemstroomschema.
Hoe kun je die dan vinden met Ctrl-F.
Dit kan namelijk wel met tekst in "opmerkingen".
En natuurlijk ook met tekst in iedere cel.
Maar net even niet met tekst in vormen.
Wie weet een oplossing?
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | Private Sub CommandButton1_Click() Dim Gevonden As Boolean Gevonden = False If ActiveSheet.Shapes.count = 0 Then Exit Sub For i = 1 To ActiveSheet.Shapes.count On Error Resume Next If ActiveSheet.Shapes(i).TextFrame.Characters.Text = TextBox1.Value Then Gevonden = True Exit For End If Next On Error GoTo 0 If Gevonden = True Then ActiveSheet.Shapes(i).TopLeftCell.Select ActiveSheet.Shapes(i).Select End If Unload Me End Sub |
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | Sub T() ' ' T Macro ' ' Sneltoets: Ctrl+t ' Columns("A:A").Select Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _ Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _ :=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _ Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1)), TrailingMinusNumbers:=True ChDir "C:\Users[..VERWIJDERD..]\Persoon1" ActiveWorkbook.SaveAs Filename:= _ "C:\Users\[..VERWIJDERD..]\Tijdspecificatie.xlsx", _ FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False End Sub |
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | Sub T() ' ' T Macro ' ' Sneltoets: Ctrl+t ' Columns("A:A").Select Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _ Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _ :=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _ Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1)), TrailingMinusNumbers:=True ActiveWorkbook.SaveAs Filename:= _ CurDir & "\Tijdspecificatie.xlsx", _ FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False End Sub |
Vul in B2:quote:Op dinsdag 21 februari 2012 22:04 schreef kanovinnie het volgende:
Nog een vraagje van mijn kant.
In cel A2 t/m A20 vul ik namen in.
Die zelfde namen wil ik in Cel B1 t/m U1 ingevuld krijgen. Dus in Cel B1 begin ik met "=A2". Cel C1 krijgt"=A3".
Dit omdat de namen elke keer anders zijn.
Maar hoe kan ik het voor elkaar krijgen om het verder te slepen? Nu heb ik alles met de hand ingevuld omdat Excel 't niet kan. Of ik doe iets verkeerd. Dat lijkt me waarschijnlijker
Tot nu toe heb ik dit..quote:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | Sub Macro1() ' ' Macro1 Macro ' ' Sneltoets: Ctrl+t ' Columns("A:A").Select Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _ Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _ :=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _ Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1)), TrailingMinusNumbers:=True Range("C3").Select Columns("A:A").EntireColumn.AutoFit Columns("C:C").EntireColumn.AutoFit Columns("D:D").EntireColumn.AutoFit Columns("G:G").EntireColumn.AutoFit Columns("H:H").EntireColumn.AutoFit ChDir "C:\Users\crossover\Documents\My Dropbox\xOverig\ZO\" ActiveWorkbook.SaveAs Filename:= _ "C:\Users\crossover\Documents\My Dropbox\xOverig\ZO\Tijdspecificatie.xlsx" _ , FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False End Sub |
Als je dit topic had doorgelezen had je gezien dat deze vraag al een keer voorbij was gekomen maar dan met een CSV functie, lees maar vanaf deze post verderquote:
quote:Op vrijdag 10 februari 2012 20:13 schreef elkravo het volgende:
Ik exporteer een deel van een Excel blad met onderstaande VBA naar een csv-file.
Gevonden op internet, en werkt goed.
Toch ben ik over een ding niet tevreden. In deze export-VBA zit ingebakken een vaste plaats op de harde schijf... in dit geval: C:\Users\Elkravo\Desktop\File.csv
Is deze opdracht te vervangen door iets waarbij ik zelf een plaats kan aanwijzen in het proces.
Deze vraag is ingegeven door het feit dat meerdere personen het sheet op eigen computer gebruiken, en dus de macro niet te specifiek een locatie moet aanwijzen.
[ code verwijderd ]
| 1 2 | bestandsnaam = ThisWorkbook.Path & "\Tijdspecificatie.xlsx" ActiveWorkbook.SaveAs Filename:=bestandsnaam, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False |
Wat doet die CreateBackup:=False?quote:Op woensdag 22 februari 2012 13:39 schreef Deetch het volgende:
verwijderer de CHDir regel maar helemaal het padnaam zit nl. al in je saveas functie verwerkt.
Eerst stop je het pad en de bestandsnaam in een variabele "bestandsnaam" en dan sla je je bestand op
[ code verwijderd ]
geen idee, deze zit er standaadr achter als je de save as dialoog opneemt.quote:
Hoe moet ik het pad en de bestandsnaam in de variabele 'bestandsnaam' doen?quote:Op woensdag 22 februari 2012 13:39 schreef Deetch het volgende:
verwijderer de CHDir regel maar helemaal het padnaam zit nl. al in je saveas functie verwerkt.
Eerst stop je het pad en de bestandsnaam in een variabele "bestandsnaam" en dan sla je je bestand op
[ code verwijderd ]
Ja ik weet niet maar als ik jouw code draai zonder het hele save gebeuren krijg ik ook een berg foutmeldingen, dus de fout zit voordat je opslaat.quote:Op woensdag 22 februari 2012 12:08 schreef crossover het volgende:
Sorry hoor, maar ik heb overal gezocht, en bij alles wat ik lees gaat het mis bij het toepassen op mijn situatie. Ik krijg allerlei foutmeldingen en moet telkens opnieuw beginnen, dus als je zegt dat ik gewoon even dit topic had moeten lezen, vind ik dat niet redelijk want dan had ik overal in deze reeks van 30 kunnen gaan zoeken. Waarschijnlijk is mijn vraag voor ervaren gebruikers een eitje. Ook bij het voorbeeld wat je hierboven aangeeft, KM, lukt het me niet om het in mijn code toe te passen.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | Sub Macro1() ' ' Macro1 Macro' ' Sneltoets: Ctrl+t' Columns("A:A").Select 'hier gaat het mis Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _ Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _ :=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _ Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1)), TrailingMinusNumbers:=True 'einde foute code Range("C3").Select Columns("A:A").EntireColumn.AutoFit Columns("C:C").EntireColumn.AutoFit Columns("D:D").EntireColumn.AutoFit Columns("G:G").EntireColumn.AutoFit Columns("H:H").EntireColumn.AutoFit End Sub |
ja je kan natuurlijk een stukje code draaien dat elke keer als het tabblad wordt geselecteerd wordt gedraaid:quote:Op woensdag 22 februari 2012 08:54 schreef Jeroen_S. het volgende:
Ik heb momenteel een bestand bestaande uit 4 pagina's.
Nu wil ik graag op elke pagina ons bedrijfslogo hebben staan, maar dan wel
natuurlijk op elke pagina op exact dezelfde positie. Kan ik dat ergens instellen?
Bij Powerpoint kun je bijvoorbeeld een logo plakken en dan plakt ie hem steeds op dezelfde positie maar bij Excel heb ik dat nog niet gevonden!
Who can help me?
Cheers,
| 1 2 3 4 | Private Sub Worksheet_Activate() ActiveSheet.Shapes("Picture 1").Left = 1 ActiveSheet.Shapes("Picture 1").Top = 1 End Sub |
Heb jij code om een gerunde macro te undo-en? Die wil ik wel!!!quote:Op woensdag 22 februari 2012 19:42 schreef KritischeMassa het volgende:
[..]
ja je kan natuurlijk een stukje code draaien dat elke keer als het tabblad wordt geselecteerd wordt gedraaid:
deze code zet het plaatje netjes in de linkerbovenhoek
[ code verwijderd ]
Je kan ook de code draaien bij openen van de worksheet en zo alle bladen langslopen
Het voordeel daarvan is dat niet je undostack continu leeg is (elke keer als je een stukje vbs code draait is je undostack leeg. Ik heb wel code om daar weer wat mee te doen maar dta voert wat ver in dit kader...
in plaats van left en top kun je ook wat aanklooien met topleftcell...
Ik heb een app waarmee ik mijn gewerkte uren bijhoud. Dat wordt geexporteerd als .csv, ik wil dat bestand opslaan als .xlx met een andere naam en daarbij de datum/tijd. Ik heb 'm zo opgenomen, en dat stukje werkte telkens eigenlijk goed.quote:Op woensdag 22 februari 2012 19:26 schreef KritischeMassa het volgende:
[..]
Ja ik weet niet maar als ik jouw code draai zonder het hele save gebeuren krijg ik ook een berg foutmeldingen, dus de fout zit voordat je opslaat.
Het is sowieso een beetje een wazige macro die je daar hebt, heb je die zo opgenomen?
Wat wil je dat hij doet?
Jouw probleem zit hem niet in het opslaan iig, de code die we je daarvoor hebben aangegeven klopt gewoon en werkt in alle gevallen (test het maar znder de code die ik hieronder quote en die foutmeldingen geeft.
Sowieso, die hele record functie van excel is bagger
[ code verwijderd ]
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | Sub Macro1() ' ' Macro1 Macro ' ' Sneltoets: Ctrl+t ' Columns("A:A").Select Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _ Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _ :=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _ Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1)), TrailingMinusNumbers:=True Columns("A:A").EntireColumn.AutoFit Columns("G:G").EntireColumn.AutoFit Columns("H:H").EntireColumn.AutoFit Columns("J:J").EntireColumn.AutoFit bestandsnaam = ThisWorkbook.Path & "/Tijdspecificatie" & Range("G2").Value & ".xls" ActiveWorkbook.SaveAs Filename:=bestandsnaam, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False End Sub |
"/Tijdspecificatie"quote:Op donderdag 23 februari 2012 14:59 schreef crossover het volgende:
Tot nu werkt alles prima, ook nadat ik (helemaal zelf!) een functie heb toegevoegd in de bestandsnaam. Echter, wat ik in eerste instantie wilde, werkt nog niet. Het bestand wordt opgeslagen in de map XLSTART (C:\Users\crossover\AppData\Roaming\Microsoft\Excel\XLSTART).
M'n code is nu:
[ code verwijderd ]
Ook zonder mijn toevoeging werkt het niet... nog tips?
Geen verschil..quote:Op donderdag 23 februari 2012 15:25 schreef KritischeMassa het volgende:
[..]
"/Tijdspecificatie"
"\Tijdspecificatie" een idee?
| Forum Opties | |
|---|---|
| Forumhop: | |
| Hop naar: | |