La methode Range de l'objet Worksheets a échoué

La methode Range de l'objet Worksheets a échoué - VB/VBA/VBS - Programmation

Marsh Posté le 30-10-2009 à 14:47:35    

Bonjour, je recois ce message d'erreur lorsque je lance mon programme, mais seulement quand certaines feuilles sont présentes.
 
le début de la partie "ecriture du resultat" de mon code  
 
 
 
j'ouvre un nouveau classeur
Set Betriebskosten_Mappe = Workbooks.Add
   
Application.DisplayAlerts = False
Sheets(Array("Tabelle2", "Tabelle3" )).Delete
 
 
je lui dis que BK_Tabelle est la première feuille de ce classeur
Set BK_Tabelle = Betriebskosten_Mappe.Worksheets("Tabelle1" )
 
'Schriftstil und Schriftgröße
BK_Tabelle.Cells.Select
With Selection
        .Font.Name = "Arial"
        .Font.Size = 8
End With
 
si une certaine case est cochée, il est censé récupérer des feuilles préformatées et les copier derrière la première feuille du classeur
 
If BB_Gebaut = True Or SBR_Gebaut = True Then
    Z_AbwAb.Show
    Workbooks("Berechner.xls" ).Sheets("Abwasserabgabe" ).Copy After:=Betriebskosten_Mappe.Sheets(Betriebskosten_Mappe.Sheets.Count)
    Workbooks("Berechner.xls" ).Sheets("CSB" ).Copy After:=Betriebskosten_Mappe.Sheets(Betriebskosten_Mappe.Sheets.Count)
    Workbooks("Berechner.xls" ).Sheets("Phosphor" ).Copy After:=Betriebskosten_Mappe.Sheets(Betriebskosten_Mappe.Sheets.Count)
    Workbooks("Berechner.xls" ).Sheets("Stickstoff" ).Copy After:=Betriebskosten_Mappe.Sheets(Betriebskosten_Mappe.Sheets.Count)
    Workbooks("Berechner.xls" ).Sheets("Kosten_Abwasserabgabe" ).Copy After:=Betriebskosten_Mappe.Sheets(Betriebskosten_Mappe.Sheets.Count)
End If

 
 
'Umbenennung Tabelle
BK_Tabelle.Name = "BK " & Anlagename_Box.Value
 
'Formatierung
'Spalten Breite
BK_Tabelle.Columns(1).ColumnWidth = 18.86
BK_Tabelle.Columns(2).ColumnWidth = 9.86
BK_Tabelle.Columns(3).ColumnWidth = 12.86
BK_Tabelle.Columns(4).ColumnWidth = 12.86
BK_Tabelle.Columns(5).ColumnWidth = 12.14
BK_Tabelle.Columns(6).ColumnWidth = 13.43
BK_Tabelle.Columns(7).ColumnWidth = 11
BK_Tabelle.Columns(8).ColumnWidth = 12.86
 
 
et je commence à formater ma première feuille (taille de colonnes, police etc)
 
'Oberen Rahmen
BK_Tabelle.Range(Cells(1, 1), Cells(4, 8)).Select
With Selection
.BLABLABLA...
End With
 
 
et le problème que j'ai, c'est que dans le cas ou il n'a pas besoin de récupérer ces feuilles préexistantes, mon programme fonctionne très bien.
Mais lorsqu'il rajoute ces feuilles préexistantes, cette fois à la première apparition de
 
BK_Tabelle.Range
 
il me sort que la méthode range de l'objet worksheets a échoué
 
et  
 
Si quelqu'un a une idée pour résoudre ce problème, je vous en serai très reconnaissant

Reply

Marsh Posté le 30-10-2009 à 14:47:35   

Reply

Marsh Posté le 30-10-2009 à 21:28:07    

Salut, placer un  


BK_Tabelle.Activate


aux endroits idoines

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed