########## Ik heb het probleem opgelost, ik dacht dat het misschien voor andere extreme newbies wel hanidg zou zijn om te zien
Beste mensen,
Ik wilde een macro schrijven in VBA maar had dit nog nooit gedaan. Nu is het niet meer nodig want ik heb de taak met de hand gedaan, maar nu wil ik ook weten hoe je het doet:D
Ik snap niet op welke manier ik mijn code moet schrijven zodat hij doet wat ik wil want ik heb (nog) weinig idee van hoe alles precies werkt. Als jullie mij hier mee zouden kunnen helpen zou dat geweldig zijn.
Heel erg bedankt!
-Jelle
De macro in woorden:
Selecteer cell C3,
Terwijl A < 5
Als geselecteerde cell leeg is, zet A naar A +1
kopieer de linker cel en die daarboven (-2. -1 met hoogte 2) # B2+B3
plak 2 cellen hoger dan geselecteerde cel #wat C3 is in dit geval en uiteindelijk worden B2+B3 op C1 en C2 geplakt)
Zoniet
A = 0
End als
Selecteer de cell 1 naar rechts #D4
Loop
Mijn code (Error is "Synhax Error":
Beste mensen,
Ik wilde een macro schrijven in VBA maar had dit nog nooit gedaan. Nu is het niet meer nodig want ik heb de taak met de hand gedaan, maar nu wil ik ook weten hoe je het doet:D
Ik snap niet op welke manier ik mijn code moet schrijven zodat hij doet wat ik wil want ik heb (nog) weinig idee van hoe alles precies werkt. Als jullie mij hier mee zouden kunnen helpen zou dat geweldig zijn.
Heel erg bedankt!
-Jelle
De macro in woorden:
Selecteer cell C3,
Terwijl A < 5
Als geselecteerde cell leeg is, zet A naar A +1
kopieer de linker cel en die daarboven (-2. -1 met hoogte 2) # B2+B3
plak 2 cellen hoger dan geselecteerde cel #wat C3 is in dit geval en uiteindelijk worden B2+B3 op C1 en C2 geplakt)
Zoniet
A = 0
End als
Selecteer de cell 1 naar rechts #D4
Loop
Mijn code (Error is "Synhax Error":
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| Sub Colum() Workbooks("ROSproduction_timecourses_students_morning.xlsx").Activate Dim U As Integer U = 0 Dim I As Range Set I = Cells(3, 1) Dim Selection As Range Do While U < 5 If IsEmpty(I) Then U = U + 1 I.Offset(-2, -1)Resize((1),(2)).Copy #Het probleem zit hier, ik kan niet offset met width gebruiken om wat voor een reden dan ook. Maar ook zonder Resize doet hij het niet. I.Offset(2, 0).PasteSpecial xlPasteAll # en hier hetzelfde Else U = 0 End If I.Offset(0, 1).Select Loop End Sub |
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| Oplossing:Sub Colum() Workbooks("ROSproduction_timecourses_students_morning.xlsx").Activate Dim U As Integer U = 0 Dim I As Range Set I = Cells(3, 6) Dim Selection As Range Do While U < 5 If IsEmpty(I) Then U = U + 1 I.Offset(-1, -1).Resize(2, 1).Copy I.Offset(-2, 0).PasteSpecial xlPasteAll Else U = 0 End If Set I = I.Offset(0, 1) Loop End Sub |
[ Voor 14% gewijzigd door Lustucru op 01-12-2016 22:36 . Reden: code tags toegevoegd ]