Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Tabelle löschen und UsedRange einfügen

Forumthread: 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



Anzeige

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
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige