Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
252to256
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
252to256
252to256
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Tabelle löschen und UsedRange einfügen

Tabelle löschen und UsedRange einfügen
07.05.2003 00:17:55
Jürgen
Hallo Forum!

Es dürfte nicht schwierig sein, doch bisher ist mir keine Lösung eingefallen...

Ich möchte zwei Tabellenblätter (Tabelle4 und Tabelle5, auf Worksheets bastle ich später um) per VBA löschen und dabei von allen möglichen 'Missetaten' wie Formeln usw. befreien. Tabelle4 soll nun ausschließlich den UsedRange der ersten Zeile von Tabelle1 erhalten, Tabelle5 soll den kompletten UsedRange von Tabelle1. Bei dem Füllen per For-Schleife habe ich die EXCEL-Fehlermeldung "Die Methode '_Default' für das Objekt Range ist fehlgeschlagen" hinnehmen müssen...

Der Fehler taucht auf in der Quellcode-Zeile 25: "Tabelle5.Cells(i, j) = Tabelle1.Cells(i, j)" in Zeile i=490 und Spalte j=4

Quellcode:
Public Sub TabellenFuellen()
Dim i, j As Long
For i = 3 To Tabelle3.UsedRange.Rows.Count
Tabelle3.Rows(i).Clear
Next i
For i = 1 To Tabelle4.UsedRange.Rows.Count
Tabelle4.Rows(i).Clear
Next i
For i = 1 To Tabelle5.UsedRange.Rows.Count
Tabelle5.Rows(i).Clear
Next i
For i = 1 To Tabelle6.UsedRange.Rows.Count
Tabelle6.Rows(i).Clear
Next i
For i = 1 To Tabelle7.UsedRange.Rows.Count
Tabelle7.Rows(i).Clear
Next i
If (Tabelle4.UsedRange.Count < 2 And Tabelle5.UsedRange.Count < 2) Then
For i = 1 To Tabelle1.UsedRange.Columns.Count
Tabelle4.Cells(1, i) = Tabelle1.Cells(1, i)
Tabelle5.Cells(1, i) = Tabelle1.Cells(1, i)
Next i
For i = 2 To Tabelle1.UsedRange.Rows.Count
For j = 1 To Tabelle1.UsedRange.Columns.Count
Tabelle5.Cells(i, j) = Tabelle1.Cells(i, j)
Next j
Next i
Else
MsgBox ("Fehler: Tabellen 4 und 5 sind bereits gefüllt!")
Warteschleife
frmEinstellungen.lblZustand.Caption = "Fehler: Tabellen 4 und 5 sind bereits gefüllt!"
'Abbruch
End If
If (Tabelle6.UsedRange.Count < 2 And Tabelle7.UsedRange.Count < 2) Then
For i = 1 To Tabelle2.UsedRange.Columns.Count
Tabelle6.Cells(1, i) = Tabelle2.Cells(1, i)
Tabelle7.Cells(1, i) = Tabelle2.Cells(1, i)
Next i
For i = 2 To Tabelle2.UsedRange.Rows.Count
For j = 1 To Tabelle2.UsedRange.Columns.Count
Tabelle7.Cells(i, j) = Tabelle2.Cells(i, j)
Next j
Next i
Else
MsgBox ("Fehler: Tabellen 6 und 7 sind bereits gefüllt!")
Warteschleife
frmEinstellungen.lblZustand.Caption = "Fehler: Tabellen 6 und 7 sind bereits gefüllt!"
'Abbruch
End If
End Sub

Jedoch möchte ich eigentlich keine For-Schleifen nutzen, brauche andererseits aber die ordnungsgemäßen UsedRange-Angaben...

Bereits jetzt besten Dank für eure Hilfe

Jürgen



2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Tabelle löschen und UsedRange einfügen
07.05.2003 06:42:22
heinz

hi
habs laufen lassen - kein fehler - allerdings wird bei mur nur in tabelle 1 die erste zeile gelöscht?
fg heinz

Re: Tabelle löschen und UsedRange einfügen
07.05.2003 21:42:04
Jürgen

Vielen Dank für's Quellcode-Testen! Der Fehler lag intern an den Formatierungen der zu kopierenden Tabelle... EXCEL kann manchmal ganz schön seltsam sein...

Anzeige

38 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige