Hi ik zit met een stuk code te worstelen die het volgende doet:
-> 1: ga naar een file op netwerk
-> 2: open de file en copieer column A-G
-> 3: ga naar de tab in originele werkboek
-> 4: paste de zooi in A-G
-> 5: pak volgende file
Nou staat bovenin de macro een call killall()
Echter tijdens het kopieren en plakken blijft dat ding af en toe rekenen....
Er is een andere data plugin active, maar buiten VBA om calc op manual zetten voorkomt dat dat update, dus aangenomen dat dat ook zo werkt binnen vba. (Dit is een bloomberg plugin en kan ik niet aanpassen)
Iemand enig idee waarom die blijft rekenen? En of hoe ik dat echt stop? Want dit rekenen van 1 cyclus kost 2 minuten... en dat 43x ofzo..
Dan heb ik die macro:
-> 1: ga naar een file op netwerk
-> 2: open de file en copieer column A-G
-> 3: ga naar de tab in originele werkboek
-> 4: paste de zooi in A-G
-> 5: pak volgende file
Nou staat bovenin de macro een call killall()
Echter tijdens het kopieren en plakken blijft dat ding af en toe rekenen....
Er is een andere data plugin active, maar buiten VBA om calc op manual zetten voorkomt dat dat update, dus aangenomen dat dat ook zo werkt binnen vba. (Dit is een bloomberg plugin en kan ik niet aanpassen)
Iemand enig idee waarom die blijft rekenen? En of hoe ik dat echt stop? Want dit rekenen van 1 cyclus kost 2 minuten... en dat 43x ofzo..
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| Sub killall() With Application ' .ScreenUpdating = False .Calculation = xlCalculationManual .EnableEvents = False End With End Sub Sub unkillall() With Application ' .ScreenUpdating = True .Calculation = xlCalculationAutomatic .EnableEvents = True End With End Sub |
Dan heb ik die macro:
code:
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
49
50
51
52
53
54
| Sub Import_Issuer_data() Call killall Dim worksheetnaam As String worksheetnaam = ActiveWorkbook.Name For i = 2 To 44 Dim tabnaam As String Dim naamfileurl As String Dim naamfile As String Dim update As Boolean Dim issuer As String update = 0 tabnaam = Sheets("BLA").Cells(i, 1).Value naamfileurl = Sheets("BLA").Cells(i, 17).Value naamfile = Sheets("BLA").Cells(i, 16).Value issuer = Sheets("BLA").Cells(i, 2).Value For j = 2 To 5 If (Sheets("BLA").Cells(j, 12).Value = issuer) Then update = Sheets("BLA").Cells(j, 13).Value End If Next j If update Then Workbooks.Open naamfileurl, Origin:=xlWindows Columns("A:G").Select Application.CutCopyMode = False Selection.Copy Windows(worksheetnaam).Activate Sheets(tabnaam).Select Range("A:G").Select ActiveSheet.Paste Application.CutCopyMode = False Windows(naamfile).Activate Application.DisplayAlerts = False ActiveWindow.Close End If update = 0 Next i Sheets("BLA").Select Call unkillall End Sub |
ja ja... niet iedereen heeft dezelfde kennis... wees daarom ook eens gewillig en geef een antwoord op een vraag ;)