[VBA/Excel] Probleem met range *

Pagina: 1
Acties:
  • 121 views sinds 30-01-2008
  • Reageer

  • wortelsoft
  • Registratie: Februari 2001
  • Laatst online: 21-08 16:57
Ik kom er niet achter waarom het volgende stukje code soms wel en soms niet werkt

code:
1
2
Worksheets("OpcFile").Range(Cells(lRegelTeller, 1)
, Cells(lRegelTeller, 147)).Delete Shift:=xlShiftUp


het stuk binnen de range geeft de problemen. Als ik .range("a1:eq1") gebruik werkt het wel. Maar dat is natuurlijk niet bruikbaar om een willekeurige regel te wissen.

ik krijg een runtime error 1004
application or object defined error

[ Voor 10% gewijzigd door wortelsoft op 17-09-2003 14:55 . Reden: code tags toegevoegt en opgemaakt met enter ]


Verwijderd

.

[ Voor 106% gewijzigd door Verwijderd op 31-10-2023 21:52 ]


  • wortelsoft
  • Registratie: Februari 2001
  • Laatst online: 21-08 16:57
Je eerste oplosing heb ik al gebruikt en dan met een for lus door de cellen stappen.
ik vindt dat ook vanwege een merkbare vertraging (147 kolommen) niet echt een mooie oplossing maar het werkt. dus dat is zeker te gebruiken.

lRegelTeller is nooit 0 hier zorgt de rest van de code voor.

Het heeft echter gewoon gewerkt. Het lijk er op dat er iet geblokeerd wordt.
Ik had het zelfde probleem met het kopieren van een blok dit heb ik dus met je eerste oplossing gedaan en dan een for lus

het is alleen zo raar de code is op zich goed maar na een tijdje werkt het niet meer.

Verwijderd

.

[ Voor 125% gewijzigd door Verwijderd op 31-10-2023 21:52 ]


  • wortelsoft
  • Registratie: Februari 2001
  • Laatst online: 21-08 16:57
De inhoud van lRegelTeller heb ik met de debugger gecontroleerd die staat netjes op de waarde die hij op dat moment moet hebben.
ik heb het geheel net weer aan de praat gekregen. Ik heb het vinkje bij menu -> format -> cells -> protection -> locked uitgezet
Het vreemde is echter ik heb de beveiliging voor het sheet niet ingeschakeld. Het lijkt er echter op dat op een of andere manier de protection wordt ingeschakeld.

De inhoud van de excell sheet moet uiteindelijk regel voor regel in een tekstbestand met vaste kolombreedte komen.
Lege regels mogen hierin niet voorkomen, omdat het tekstbestand aan een computerprogramma gevoerd wordt. (kan natuurlijk wel lege regel overslaan bij het wegschrijven, maar de lege regel verwijderen lijkt me makkelijker)

Ik denk dat ik maar een extra regeltje in de code zet om van te voren de protectie op te heffen.


Ik gebruik een template om een aantal standaard waarden in de kolommen te kopieeren, deze komen uit een beveiligt gebied waardoor de beveiliging meegekopieerd wordt. Deze beveiliging wordt braaf meegekopieerd.

[ Voor 17% gewijzigd door wortelsoft op 18-09-2003 10:45 ]


  • wortelsoft
  • Registratie: Februari 2001
  • Laatst online: 21-08 16:57
Ik heb het echte probleem nu gevonden.

De situatie:

workbook met twee sheets:
"start" met hierop een startknop en wat basisdata voor het programma
"opcfile" de uiteindelijke data sheet

Als start het actieve sheet is treed deze fout op. (gestart met knop of vanuit de vba editor)

Als opcfile het actieve sheet is treed de fout niet op.

Wat ik dus wil doen is als erop de knop gedrukt wordt opcfile het actieve sheet maken.
Ik blijf het echter een vreemde fout vinden, dus als iemand weet wat er mis is hoor ik het graag. (ik gebruik Excell 2000 SP3)
Pagina: 1