Thema Datum  Von Nutzer Rating
Antwort
Rot Laufzeitfehler 1004 - Resize Range auf ListObjekts
06.08.2014 14:44:31 madn3x
Solved
08.08.2014 10:12:45 madn3x
Solved

Ansicht des Beitrags:
Von:
madn3x
Datum:
06.08.2014 14:44:31
Views:
1202
Rating: Antwort:
 Nein
Thema:
Laufzeitfehler 1004 - Resize Range auf ListObjekts

Hallo Experten,

ich habe ein problem damit, ein ListObjekt in der Größe zu verändern. bzw die ursprüngliche Größe nach einer Verkleinerung wiederherzustellen.

Mit dem Code generiere ich eine XML Datei, was soweit auch alles wunderbar funktioniert.

Es geht allein darum, die Messwerttabelle (ListObjekt) und die Busbereiche (ListObjekt) zur erstellung der XML Datei zu verkleinern (um in der XML leerzeilen zu vermeiden) und nach der Erstellung wieder auf die Ursprungsgröße zu vergrößern mittels Rezise Range.


Das verkleinern funzt einwandfrei, die Datei wird erstellt, nur am Ende wenn ich die Ausgangsgröße wiederherstellen will, kommt exakt folgende Fehlermeldung:

 

Laufzeitfehler '1004':

Die Zelle oder das Diagramm, die bzw. das Sie ändern möchten, ist schreibgeschützt.

 

Im code ziemlich weit unten, hab ich kenntlich gemacht, wo er immer abbricht.

Vielen Dank für eure Hilfe.

 

 

Sub subXMLExport()

        Dim AnzahlDatensätzeBB As String
        Dim AnzahlDatensätzeMW As String
        Sheets("Übersicht Datentypen & Steigung").Select
        AnzahlDatensätzeBB = Range("M15").Value
        AnzahlDatensätzeMW = Range("M9").Value

        Dim Zelle As Range
        Dim bAllesOkBB As Boolean
        
        Dim Status As Range
        Dim bAllesOkMW As Boolean
        
        Dim bStart As Boolean
        
        Dim sName As String
        Dim sFolder As String, FullDatNam As String
        
        Dim Zelle2 As String
    
    
'..... Prüfen auf Vollständigkeit der Busbereiche
        
        Sheets("4.Busbereiche").Select
        bAllesOkBB = True
        Range("D3:D" & AnzahlDatensätzeBB).Select
        For Each Zelle In Selection
        
        If Zelle.Value = "" Then
        
        bAllesOkBB = False
    
        'Else
        'bAllesOkBB = True
        End If
        Next
    
        If bAllesOkBB = True Then
    
        Else
        If MsgBox("Bei einem oder mehreren Busbereichen wurde kein DatenTyp angegeben! Trotzdem Fortfahren?", vbYesNo) = vbYes Then
    
        bAllesOkBB = True
    
        Else
    
        bAllesOkBB = False
    
        End If
        End If
        
        
'..... Prüfen auf Vollständigkeit der Messwerttabelle
        Sheets("5.Ausgabe").Select
        Range("P3:P" & AnzahlDatensätzeMW).Select
        bAllesOkMW = True
        For Each Status In Selection
        If Status.Value <> "OK" Then

        bAllesOkMW = False

        End If
        Next

        If bAllesOkMW = True Then

        Else
        If MsgBox("Ein oder mehrere Datensätze der Messwerttabelle sind fehlerhaft/nicht vollständig! Trotzdem Fortfahren?", vbYesNo) = vbYes Then

        bAllesOkMW = True

        Else

        bAllesOkMW = False

        End If
        End If


'...... Start Prüfen

        If bAllesOkBB = True And bAllesOkMW = True Then
        
        bStart = True
        
        Else
        
        bStart = False
        Sheets("5.Ausgabe").Select
        Zelle2 = "A3:D38"
        Range(Zelle2).Select
        
        End If

'..... Starten

        If bStart = True Then
        ActiveWorkbook.Unprotect "limon"
        Worksheets("5.Ausgabe").Unprotect Password:="limon"
        Worksheets("4.Busbereiche").Unprotect Password:="limon"
    
        Sheets("5.Ausgabe").ListObjects("Messwerte").Resize Range("E2:N" & AnzahlDatensätzeMW)
        Sheets("4.Busbereiche").ListObjects("Busbereiche").Resize Range("A2:E" & AnzahlDatensätzeBB)
        
        Const DatNam = "abc.xml"

        sName = Sheets("Start").Cells(11, 3)
        ' .....
        sFolder = Ordnerauswahl()
        If Len(sFolder) > 0 Then
             FullDatNam = sFolder & "\" & sName
        End If
    
          'An der stelle prüfen Ob datei bereits vorhanden
          If Dir(FullDatNam) = "" Then
            ActiveWorkbook.XmlMaps("Messgroessentabelle_Zuordnung").Export URL:=FullDatNam
            MsgBox "Datei " & sFolder & "\" & sName & " erzeugt"
         Else
         
           If MsgBox("Datei existiert bereits unter diesem Namen! Datei Ersetzen?", vbYesNo) = vbYes Then
            Kill FullDatNam
            ActiveWorkbook.XmlMaps("Messgroessentabelle_Zuordnung").Export URL:=FullDatNam
            MsgBox "Datei " & sFolder & "\" & sName & " überschrieben"
            Else
            End If
            
         End If
         
'.... ursprüngliche Größe wiederherstellen
         
         Sheets("5.Ausgabe").ListObjects("Messwerte").Resize Range("E2:N1502")
         Sheets("4.Busbereiche").ListObjects("Busbereiche").Resize Range("A2:E52")


'#####    Hier Springt er dann immer wieder raus und erzeugt den Fehler!


    Else
      MsgBox "Abbruch"
      Exit Sub
    End If
    
    ThisWorkbook.Sheets("4.Busbereiche").Protect "limon"
    ThisWorkbook.Sheets("5.Ausgabe").Protect "limon"
    
    Sheets("5.Ausgabe").Select
    Zelle2 = "A3:D38"
    Range(Zelle2).Select

End Sub

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Laufzeitfehler 1004 - Resize Range auf ListObjekts
06.08.2014 14:44:31 madn3x
Solved
08.08.2014 10:12:45 madn3x
Solved