Mijn vraag
Ik heb in excel een factureer programmaatje gemaakt.
Dit is mijn eerste VBA project.
Nadat de (PDF) factuur gemaakt is, worden de gegevens opgeslagen in de diverse tabbladen.
Dit zijn de diverse grootboekrekeningen (1100 debiteuren 1500 BTW 21%, 1505 BTW 9% en 8000 Verkopen), een tabblad verkopen, en bij de desbetreffende debiteur. Elke debiteur heeft een eigen tabblad onder zijn eigen naam.
Mijn probleem is als ik een factuur wil verwijderen.
Ik heb een userform gemaakt waarmee ik de Factuurnummer en de Debiteurennaam ophaal.
Deze kopieer ik tijdelijk in het Sheet "Instellingen" .
Deze staan onder cel "T2" (Factuurnummer) en "T3" (Debiteurennaam)
Dan wil ik met een andere knop de regels verwijderen.
Met de tabbladen met een vaste naam is het geen probleem.
Maar het lukt niet met de tabblad met de Debiteuren.
Met
Met
Met onderstaande code probeer ik de regel te verwijderen
Het factuurnummer is het Tabblad "Debiteurennaam" staat in kolom B
Bij alle andere tabbladen werkt het dus perfect
Bij het debiteuren tabblad krijg ik een foutcode dat "methode Delete van klasse range is mislukt"
Wat ik al gevonden of geprobeerd heb
Ik heb andere Delete regels geprobeerd (entirerow.delete etc) maar die geven allemaal dezelfde foutmelding.
Nu vermoed ik dat het Sheet (Tabblad)"Debiteurennaam" niet herkend wordt
Ik zie onder "instellingen"Cel"T3" de Debiteurennaam staan.
Volgens mij is K = Debiteurennaam en Sheets(K) dus Sheets("Debiteurennaam")?
Nog een andere vraag:
Via F8 kan ik stap voor stap de code volgen.
Is het ook mogelijk om stap voor stap de code te volgen in het betreffende userform/sheet?
Dan kan ik meteen zien waar het fout loopt
...
Ik heb in excel een factureer programmaatje gemaakt.
Dit is mijn eerste VBA project.
Nadat de (PDF) factuur gemaakt is, worden de gegevens opgeslagen in de diverse tabbladen.
Dit zijn de diverse grootboekrekeningen (1100 debiteuren 1500 BTW 21%, 1505 BTW 9% en 8000 Verkopen), een tabblad verkopen, en bij de desbetreffende debiteur. Elke debiteur heeft een eigen tabblad onder zijn eigen naam.
Mijn probleem is als ik een factuur wil verwijderen.
Ik heb een userform gemaakt waarmee ik de Factuurnummer en de Debiteurennaam ophaal.
Deze kopieer ik tijdelijk in het Sheet "Instellingen" .
Deze staan onder cel "T2" (Factuurnummer) en "T3" (Debiteurennaam)
Dan wil ik met een andere knop de regels verwijderen.
Met de tabbladen met een vaste naam is het geen probleem.
Maar het lukt niet met de tabblad met de Debiteuren.
Met
code:
Geef ik "K" de naam van de debiteur1
| K = Sheets("Instellingen").Range("T3").value |
Met
code:
Geef ik "I" het factuurnummer aan1
| I = Sheets("Instellingen").Range("T2").value |
Met onderstaande code probeer ik de regel te verwijderen
Het factuurnummer is het Tabblad "Debiteurennaam" staat in kolom B
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| Worksheets(K).Activate Worksheets(K).Unprotect With (K) 'Zoek de rij op die gebruikt is bij het opzoeken van de debiteur Set Zrange = Sheets(K).Columns(2).Find(What:=I, LookIn:=xlValues, LookAt:=xlWhole) R = Zrange.Row 'Kopieert de waarden van de Userform naar het I Sheets(K).Cells(R, 2).value = I 'Verwijderd rij For A = ActiveSheet.UsedRange.Rows.Count To 1 Step -1 If Range("B" & A) = I Then Rows(A).Delete Else End If |
Bij alle andere tabbladen werkt het dus perfect
Bij het debiteuren tabblad krijg ik een foutcode dat "methode Delete van klasse range is mislukt"
Wat ik al gevonden of geprobeerd heb
Ik heb andere Delete regels geprobeerd (entirerow.delete etc) maar die geven allemaal dezelfde foutmelding.
Nu vermoed ik dat het Sheet (Tabblad)"Debiteurennaam" niet herkend wordt
Ik zie onder "instellingen"Cel"T3" de Debiteurennaam staan.
Volgens mij is K = Debiteurennaam en Sheets(K) dus Sheets("Debiteurennaam")?
Nog een andere vraag:
Via F8 kan ik stap voor stap de code volgen.
Is het ook mogelijk om stap voor stap de code te volgen in het betreffende userform/sheet?
Dan kan ik meteen zien waar het fout loopt
...
[ Voor 0% gewijzigd door g0tanks op 19-05-2020 19:27 . Reden: [code]-tags toegevoegd ]