Macro stopzetten

Status
Niet open voor verdere reacties.

Jamara

Gebruiker
Lid geworden
15 aug 2008
Berichten
21
Ik heb een bestand dat middels een macro bewerkt wordt.
Er zit een for next formule in die niet eindigt als de bewerking
feitelijk af is.
Het bewerkte bestand moet opgeslagen worden en het
workbook met de macro moet dan weer beschikbaar zijn voor
een volgende beweerking.
Bestand is bijgevoegd.
Wie kan mij verder helpen.
Alvast bedankt
Jamara
 

Bijlagen

Ik heb een bestand dat middels een macro bewerkt wordt.
Er zit een for next formule in die niet eindigt als de bewerking
feitelijk af is.
Het bewerkte bestand moet opgeslagen worden en het
workbook met de macro moet dan weer beschikbaar zijn voor
een volgende beweerking.
Bestand is bijgevoegd.
Wie kan mij verder helpen.
Alvast bedankt
Jamara


zal hem vanavond even aanpassen voor je.
 
Laatst bewerkt:
'Verwijderen van lege regels
Range(Cells(blad - 48, 1), Cells(blad - 1, 1)).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
If Cells(blad + 1, 1).Value = 0 Then
ActiveWorkbook.SaveAs "C:\Documents and Settings\Jaap\Mijn documenten\Decloverz31072008 test3.xls"
ActiveWorkbook.Close
End If
Application.Quit
End If
Next blad

End Sub
 
De macro stopt in dit geval omdat het actieve werkbook gesloten wordt
en dat is nu net niet de bedoeling.
Haal in de macro na "end if" Application.Quit als instructie weg
en de macro voert de instructies End if en Next blad uit in het
bestaande workbook en gaat dus gewoon verder met het uitvoeren
van de in de macro opgenomen bewerking.
En dat is nu wat ik niet wil. Als het bewerkte bestand is opgeslagen
(onder een andere naam) wil ik in het "oude bestand"terugkeren om
vervolgens van daaruit verder te gaan met bewerkingen.
Hopelijk ben ik duidelijk genoeg. Zo niet , laat het me ff weten.
Gedeelte van de macro
'Verwijderen van lege regels
Range(Cells(blad - 48, 1), Cells(blad - 1, 1)).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
If Cells(blad + 1, 1).Value = 0 Then
ActiveWorkbook.SaveAs "C:\Documents and Settings\Jaap\Mijn documenten\Decloverz31072008 test3.xls"
ActiveWorkbook.Close
End If
Application.Quit
End If
Next blad

End Sub
 
Code:
    Range(Cells(blad - 48, 1), Cells(blad - 1, 1)).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
    If Cells(blad + 1, 1).Value = 0 Then exit for 
  Next
  ActiveWorkbook.SaveAs "C:\Documents and Settings\Jaap\Mijn documenten\Decloverz31072008 test3.xls"
  ActiveWorkbook.Close
End Sub
 
Macro verder aangepast

Macro aan het einde als volgt aangepast:
If Cells(blad +1,1).Value = Empty Then Exif For
End if
Next blad
ActiveWorkbook.SaveAs "C:\Documents and Settings\Jaap\Mijn documenten\Decloverz31072008 test3.xls"
ActiveWorkbook.Close
End Sub

En zie hier het werkt.
Bedankt voor de aanvullende tips,
Jamara::thumb:
 
Jamara

Goed zo.

In het vervolg nog code tags gebruiken aub, dan wordt jouw code hier op het forum veel leesbaarder. Bedankt.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan