Jouw versie is net wat uitgebreider dan wat ik zelf al had, die stopte en startte alleen het herberekenen namelijk..quote:Op maandag 6 februari 2012 06:21 schreef KritischeMassa het volgende:
Zorg wel dat je altijd MOU draait dus ook na fout afhandeling in macro code
Anders doet je excel het niet meer(na herstart van excel wel trouwens hoor, maar omdat screenupdate uitstaat lijkt excel stuk)
In de application.statusbar kun je communiceren met de gebruiker, bijvoorbeeld percentage klaar weergeven, of gewoon de waarde van teller i bijvoorbeeld. Zo heeft de gebruiker ook het idee dat er wat gebeurt.
Edit:
Als jouw macro afhankelijk is van tussentijdse celuitkomsten moet je wel eerst de moa draaien en dan weer mou anders staat er niets in de cel want de berekeningen staan uit
quote:Op maandag 6 februari 2012 10:35 schreef Deetch het volgende:
mooi verhaal KM, deze ga ik veel gebruiken. Nog wel even puzzelen hoe die statusbar werkt.
| 1 2 3 4 5 6 7 8 9 10 11 | Sub StatBarDemo() 'Een simpel tellertje in de statusbar weergeven For i = 0 To 32000 Application.StatusBar = "Percentage uitgevoerd: " & CInt((i / 32000) * 100) & "%" Next 'statusbar weer resetten Application.StatusBar = False End Sub |
| 1 2 3 4 5 6 7 8 9 | Sub StatBarDemo() 'Een soort van progress bar in de statusbar weergeven For i = 0 To 32000 Application.StatusBar = (CInt((i / 32000) * 100)) & "% " & String(CInt((i / 32000) * 10), ChrW(9609)) Next 'statusbar weer resetten Application.StatusBar = False End Sub |
Dat zou je zelf kunnen uitvinden aan de hand van reeds gepostte code, maar ok, ik ben de kwaadste nietquote:Op maandag 6 februari 2012 19:28 schreef elkravo het volgende:
Hoi KM,
Dit moet een eitje zijn voor je:
In een lijst van 10.000 items (lengte beperking), staan in kolom B datums.
Willekeurig ontbreken op bepaalde regels/rijen datums (lege cel).
Er is nooit sprake van twee lege regels/rijen.
Is er een leuk VBAtje waarbij van cel B5 t/m B10.005 wordt doorlopen en indien lege cel, de datum(-waarde (paste value)) van de bovenstaande wordt gekopieerd en geplakt? Zou me handmatig een-voor-een copy-pasten schelen.
Bij voorbaat dank!
| 1 2 3 4 5 6 7 8 9 10 11 | Sub AddDate() MOA 'sub MOA is een paar posts terug te vinden For i = 5 To 10005 If ActiveSheet.Cells(i, 2) = "" Then ActiveSheet.Cells(i, 2) = ActiveSheet.Cells(i - 1, 2) End If Next MOU 'sub MOU is een paar posts terug te vinden End Sub |
Nee je bent de kwaadste niet...quote:Op maandag 6 februari 2012 19:41 schreef KritischeMassa het volgende:
[..]
Dat zou je zelf kunnen uitvinden aan de hand van reeds gepostte code, maar ok, ik ben de kwaadste niet
Deze code in het werkblad of een module plakken
[ code verwijderd ]
Zoeken jullie nog collega's?quote:Op maandag 6 februari 2012 17:17 schreef KritischeMassa het volgende:
Uit irritatie hierover ben ik ooit zelf begonnen met het maken van die dingen, zo erg dat ik mijn eigen werkzaamheden zowat had weggeprogrammeerd. Tegenwoordig mag ik een deel van mijn tijd besteden aan dit soort crea-bea gehobby
Inderdaad, als A1 blad 1 gelijk is aan A23 blad 2 dan moet ook B1 met B23 worden vergeleken en zo verder want er kan een "afwijking" in de volgende kolommen voorkomen.quote:Op dinsdag 7 februari 2012 08:38 schreef KritischeMassa het volgende:
Het antwoord van Wokkel in jouw eerste topic voldeed niet?
Stel dat A1 blad 1 gelijk is aan A23 blad 2 moet dan ook B1 met B23 worden vergeleken? en zo verder voor C t/m H of is een vergelijking van A met A voldoende?
Hmm, dan zit ik met mijn opleiding Small Business & Retail Management niet echt goed geloof ikquote:Op dinsdag 7 februari 2012 06:37 schreef KritischeMassa het volgende:
[..]
Goeie meettechnici zijn schaars, dus ja die zeker
Nee. Wen er maar aanquote:Op dinsdag 7 februari 2012 11:31 schreef Setting_Sun het volgende:
Excel 2010 de look van Excel 2007 geven, kan dat?
gewoon even eraan wennen.quote:Op dinsdag 7 februari 2012 11:31 schreef Setting_Sun het volgende:
Excel 2010 de look van Excel 2007 geven, kan dat?
Werkte de tip van Wokkel?quote:Op dinsdag 7 februari 2012 08:52 schreef Frixel het volgende:
[..]
Inderdaad, als A1 blad 1 gelijk is aan A23 blad 2 dan moet ook B1 met B23 worden vergeleken en zo verder want er kan een "afwijking" in de volgende kolommen voorkomen.
dat maakt het zo ingewikkeld vrees ik.
| 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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | Sub MergeFiles() If WB_1 = "" Then Exit Sub If WB_2 = "" Then Exit Sub MOA Workbooks.Open (WB_1) WB_1_Name = ActiveWorkbook.Name WB_1_LastCell = Workbooks(WB_1_Name).Sheets(1).Cells.SpecialCells(xlCellTypeLastCell).Row Workbooks.Open (WB_2) WB_2_Name = ActiveWorkbook.Name WB_2_LastCell = Workbooks(WB_2_Name).Sheets(1).Cells.SpecialCells(xlCellTypeLastCell).Row NewRow = WB_1_LastCell + 1 'regel i uit de slave file moet vergeleken worden met iedere regel j uit de masterfile 'als regel i voorkomt in de masterfile dan doet de routine niets 'als regel i niet voorkomt in de masterfile zet de routine regel i onder de masterfile For i = 1 To WB_2_LastCell Application.StatusBar = CInt(i / WB_2_LastCell * 100) & "% klaar" SlaveStr = "" MasterStr = "" UniqueRow = True For KolTel = 1 To 8 SlaveStr = SlaveStr & Workbooks(WB_2_Name).Sheets(1).Cells(i, KolTel) Next For j = 1 To WB_1_LastCell MasterStr = "" For KolTel = 1 To 8 MasterStr = MasterStr & Workbooks(WB_1_Name).Sheets(1).Cells(j, KolTel) Next If SlaveStr = MasterStr Then UniqueRow = False End If Next If UniqueRow = True Then For KolTel = 1 To 8 Workbooks(WB_1_Name).Sheets(1).Cells(NewRow, KolTel) = Workbooks(WB_2_Name).Sheets(1).Cells(i, KolTel) Next NewRow = NewRow + 1 End If Next Workbooks(WB_2_Name).Close False MOU End Sub |
Opgeslagen als .xlsm?quote:Op dinsdag 7 februari 2012 23:34 schreef elkravo het volgende:
Ik heb macro's verwijderd uit mijn spreadsheet.
Echter bij opstarten meld Excel "deze sheet bevat macro's"...
Wat ben ik vergeten?
Heb nog een oudere Excel 2003.... dus nog gewoon XLSquote:
Dan zou het opgeslagen kunnen zijn als .xlm, maar ik zie dat t al opgelost isquote:Op woensdag 8 februari 2012 18:28 schreef elkravo het volgende:
[..]
Heb nog een oudere Excel 2003.... dus nog gewoon XLS
Hoe kom ik van die macro melding af als ik geen macro in de sheet meen te hebben?
quote:Op donderdag 9 februari 2012 12:11 schreef actuarisje het volgende:
Hoihoi,
Ik heb een vraag over het kopieren van een tabblad. Ik heb een sheet met daarin een overzicht van een aantal medewerkers en een aantal 'template'-sheets voor elk functieprofiel. Ik wil nu met een druk op de knop voor alle medewerkers in de lijst een eigen tabblad aanmaken, gebaseerd op hun functieprofiel. Er wordt dus gekeken naar welk functieprofiel in de lijst staat en aan de hand daarvan wordt bepaald van welke 'template'-sheet er een kopie moet worden gemaakt.
Ik heb beovenstaande functionaliteit gebouwd mbv VBA en op zich gaat dat goed. Voor elke medewerker wordt een juist tabblad aangemaakt. Ik zi nu alleen dat het mis gaat bij het printen van deze tabbladen. Bij het kopieren van de template-sheet wordt wel netjes de info uit de sheet meegenomen (tekst, kolombreedtes, gekleurde cellen e.d), maar niet de pagina-instellingen (schaal, marges kop/voettekst e.d).
Mijn vraag is dus: Hoe kan ik mbv VBA een sheet zodanig kopieren dat ook de pagina-instellingen worden meegenomen?
Wat ik nu doe is eerste een nieuw, leeg tabblad aanmaken (Worksheets.Add) en dan de template daarheen copy-pasten. En daarbij gaat het blijkbaar mis, want de sheet krijgt dan de pagina-instellingen van een nieuwe, lege sheet en niet die van de kopieer-bron...
| 1 | sheet.Copy([before], [after]); |
| Forum Opties | |
|---|---|
| Forumhop: | |
| Hop naar: | |