mediomatri
Gebruiker
- Lid geworden
- 29 nov 2013
- Berichten
- 6
Goedenmiddag
Ik heb een macro waarbij ik de code "application.screenupdating = False" gebruik.
Enerzijds omdat ik het irritant vind dat je anders de schermpjes heen en weer ziet gaan, maar vooral ook in de hoop de macro hiermee wat sneller te laten zijn.
Het tegengestelde is echter waar. Als ik deze code niet gebruik is hij minuten sneller klaar.
Weet iemand waar dit door wordt veroorzaakt? Is er een combinatie met deze code die de boel juist vertraagd ipv versneld?
Hieronder de code:
Ik heb een macro waarbij ik de code "application.screenupdating = False" gebruik.
Enerzijds omdat ik het irritant vind dat je anders de schermpjes heen en weer ziet gaan, maar vooral ook in de hoop de macro hiermee wat sneller te laten zijn.
Het tegengestelde is echter waar. Als ik deze code niet gebruik is hij minuten sneller klaar.
Weet iemand waar dit door wordt veroorzaakt? Is er een combinatie met deze code die de boel juist vertraagd ipv versneld?
Hieronder de code:
Code:
Sub SelectData()
Dim Customer As String
Dim Datum As String
Dim Rijen As Long
'Selecteren Klantnummer
Customer = InputBox(prompt:="Please enter Customernumber", _
Title:="Data Entry")
If Customer = Empty Then Exit Sub 'Terminates here if empty
Range("D11").Value = Customer
' screenupdating uit
With Application
.Calculation = xlCalculationManual
.ScreenUpdating = False
.DisplayAlerts = False
.StatusBar = True
.EnableEvents = False
End With
Application.StatusBar = ">>>> DATA IS BEING IMPORTED... THIS MAY TAKE A WHILE... THANKS FOR YOUR PATIENCE! <<<<"
'datum bepalen voor opslaan bestand
Range("J1").Select
ActiveCell.FormulaR1C1 = "=+YEAR(TODAY())&MONTH(TODAY())&DAY(TODAY())"
Datum = Range("J1")
'**** Ophalen van de Seqfile van de FTP
Workbooks.Open Filename:="ftp://" & FTPusername & ":" & FTPpassword & FTPPath & FTPFile
'**** Tekst naar kolommen omzetten
Columns("A:A").TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=False, Comma:=False _
, Space:=False, Other:=True, OtherChar:="|"
'selectie klantgegevens
Windows("artikel_tot_110").Activate
Selection.AutoFilter
'tellen aantal rijen
Rijen = Range("A" & Rows.Count).End(xlUp).Row
'klantgegevens filteren
ActiveSheet.Range("$A$1:$FB$" & Rijen & "").AutoFilter Field:=9, Criteria1:= _
"Maakdeel"
ActiveSheet.Range("$A$1:$FB$" & Rijen & "").AutoFilter Field:=10, Criteria1:= _
"MAAAA"
ActiveSheet.Range("$A$1:$FB$" & Rijen & "").AutoFilter Field:=1, Criteria1:= _
"=" & Customer & "*", Operator:=xlAnd
'kopieren gegevens
Range("A1").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
'plakken gegevens in basisbestand
Windows("product margins ALGEMEEN.xlsm").Activate
Sheets("artikel_tot_110").Select
Range("A2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'sluiten artikelbestand
Windows("artikel_tot_110").Activate
ActiveWorkbook.Saved = True
Application.CutCopyMode = False
ActiveWorkbook.Close
'kopieren maakdelen
Windows("product ALGEMEEN.xlsm").Activate
Sheets("artikel_tot_110").Select
Range("A3").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
'plakken in summary
Sheets("summary").Select
ActiveSheet.Outline.ShowLevels RowLevels:=2
Range("D13").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True
'hulpje einde markering doorvoeren formules
Range("D13").Select
Selection.End(xlToRight).Select
ActiveCell.Offset(1, 0).Select
ActiveCell.FormulaR1C1 = "x"
'formules naar einde kopieren
Range("D14:D85").Select
Selection.Copy
Range(Selection, Selection.End(xlToRight)).Select
ActiveSheet.Paste
'opmaak kolommen
Range("D13:D85").Select
Selection.Copy
Range(Selection, Selection.End(xlToRight)).Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Selection.ColumnWidth = 15
Rows("13:13").RowHeight = 113.3
'"filters" inklappen
ActiveSheet.Outline.ShowLevels RowLevels:=1
'verwijderen "button"
ActiveSheet.Shapes.Range(Array("Striped Right Arrow 1")).Delete
Range("D11").Select
'opslaan bestand met klantnummer en datum
ActiveWorkbook.SaveAs Filename:= _
"G:\Output\" & Customer & " -productS" & Datum & ".xlsm", _
FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
' screenupdating aan
With Application
.Calculation = xlCalculationAutomatic
.ScreenUpdating = True
.DisplayAlerts = True
.StatusBar = False
.EnableEvents = True
End With
'textbox met bericht dat data is geimporteerd
MsgBox "Data Imported" & vbNewLine & "Good luck analyzing!"
End Sub
Laatst bewerkt: