Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
248to252
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
248to252
248to252
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

in richtiger tabelle ausführen

in richtiger tabelle ausführen
29.04.2003 18:20:13
Remo
Ich möchte in der tabelle die zellen leere in die auch kopiert wird
ist das machbar?
remo

Sub kopieren3()
'
' kopieren3 Makro
' Makro am 08.04.2003 von Remo Wyss aufgezeichnet
'

'
Range("H3").Select
Application.CutCopyMode = False
Selection.Copy
Range("A3").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("A4").Select


Dim rg As Range
Dim Ziel As Range
x = Range("A3")
Set rg = Sheets("K" & x).Range("A65536").End(xlUp).Offset(1, 0)
Set Ziel = Range(rg, rg.Offset(3, 8))

Range("H3:P6").Copy

For Each cell In ActiveSheet.UsedRange
If cell.Value = "" And Len(cell) = 0 Then cell.ClearContents
Next


Ziel.PasteSpecial xlPasteValues

Range("B11:E11").Select
ActiveCell.FormulaR1C1 = ""
Range("B12:E12").Select
ActiveCell.FormulaR1C1 = ""
Range("B13:E13").Select
ActiveCell.FormulaR1C1 = ""
Range("B14:E14").Select
ActiveCell.FormulaR1C1 = ""
Range("C16").Select
ActiveCell.FormulaR1C1 = ""
Range("C18").Select
ActiveCell.FormulaR1C1 = ""
Range("C19").Select
ActiveCell.FormulaR1C1 = ""
Range("C2").Select
End Sub


1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: in richtiger tabelle ausführen
30.04.2003 09:59:57
Martin Beck

Hallo Remo,

mein Code-Schnipsel bezog sich auf das ActiveSheet. Da Du aber in eine andere Tabelle kopierst, mußt Du selbstverständlich auf diese Tabelle referenzieren. Hinzu kommt, daß das Löschen der scheinbar leeren Zellen logischerweise erst dann erfolgen kann, nachdem das Einfügen aus der Zwischenablage erfolgt ist, m.a.W. der Code-Schnipsel steht an der falschen Stelle.

Statt

For Each cell In ActiveSheet.UsedRange
If cell.Value = "" And Len(cell) = 0 Then cell.ClearContents
Next

Ziel.PasteSpecial xlPasteValues

sollte

Ziel.PasteSpecial xlPasteValues
For Each cell In Sheets("K" & x).UsedRange
If cell.Value = "" And Len(cell) = 0 Then cell.ClearContents
Next

funktionieren.

Dein aufgezeichneter Code ist darüber hinaus sehr unübersichtlich, und da schleichen sich solche Fehler leicht ein. Insbesondere sie Selects, die halt mit aufgezeichnet werdden, sollte man vermeiden. Schau Dir mal Hans' Ausführungen dazu unter http://www.xlfaq.herber.de/xlbasics/main_sel.htm an.

Und noch was: Die Variablendeklaration (Dim ...) gehört an den Anfang des Codes und Du solltest alle Variablen deklarieren.

Gruß
Martin Beck


Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige