Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
344to348
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
344to348
344to348
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Bereich kopieren

Bereich kopieren
27.11.2003 11:49:16
toni
Hallo VBA'ler,

Habe folgendes Problem :

In "Tabelle1" meiner Arbeitsmappe gebe ich Werte ein und zwar in den Bereich B7:K26.
Diesen Bereich möchte ich nun in ein zweites Tabellenblatt "Tabelle2" kopieren.
Mit


Private Sub CommandButton1_Click()
Worksheets("Tabelle1").Range("B7:K26").Copy _
Destination:=Worksheets("Tabelle2").Range("B1")
End Sub


klappt das auch.

Nun möchte ich aber verhindern, dass vorhandene Einträge in "Tabelle2" überschrieben werden. Es soll erst in die nächste leere Zeile kopiert werden.

Mit


Private Sub CommandButton1_Click()
Worksheets("Tabelle1").Range("B7:K26").Copy _
Destination:=Cells(Worksheets("Tabelle2").UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1, 2)
End Sub


habe ich es versucht, klappt aber nicht. Die Werte werden nicht in "Tabelle2" sondern in "Tabelle1" gespeichert.

Was ist an dem Code falsch, bzw. wie bekomme ich es sonst hin.

Wäre schön, wenn mir jemand helfen könnte!

Gruss, Toni

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bereich kopieren
27.11.2003 12:03:23
Karl-Otto Reimann
Hallo Toni


Sub LastCell()
Dim rng As Range
Dim varCol As Variant
Sheets("Tabelle2").Activate
varCol = 1
If varCol = "" Then Exit Sub
Set rng = Cells(Rows.Count, CInt(varCol)).End(xlUp)
rng.Offset(1, 0).Select
With ActiveCell
'''Bereich mußt Du eventuell anpassen
Range(.Offset(0, 0), .Offset(20, 10)).Value = Sheets("Tabelle1").Range("B7:K26").Value
End With
End Sub


Gruß KO
AW: Bereich kopieren
27.11.2003 15:43:22
toni
Hallo KO,

zunächst vielen Dank für Deine Hilfe.
ich hoffe, dass Dich diese Nachricht noch erreicht.
Ich habe Deinen Vorschlag angepasst und ein wenig erweitert.
Zum einen gehe ich hin und lösche nachher alle Zeilen in "Tabelle2" die bestimmte Voraussetzungen nicht erfüllen. Zum anderen ergänze ich Spalte1 um eine "LFNR".

Ich habe das ganze an einen Commandbutton geknüpft und möchte die Speicherung im Hintergrund ablaufen lassen.
Das heisst, "Tabelle2" soll auch nicht zwischendurch zu sehen sein .
Geht es auch ohne "Sheets("Tabelle2").Activate" ???

So sieht mein Code zur Zeit aus:

Sub LastCell1()
Dim rng As Range
Dim varCol As Variant
Dim lzeile As Integer
Dim i As Integer

Set lfdnr = Worksheets("Tabelle3").Range("A25")


Sheets("Tabelle2").Activate
varCol = 2
If varCol = "" Then Exit Sub
Set rng = Cells(Rows.Count, CInt(varCol)).End(xlUp)
rng.Offset(1, 0).Select
With ActiveCell
'''Bereich mußt Du eventuell anpassen
Range(.Offset(0, 0), .Offset(19, 9)).Value = Sheets("Tabelle1").Range("B7:K26").Value
End With

lzeile = Cells(Rows.Count, 2).SpecialCells(xlLastCell).Row
'makro zählt Rückwärts!
For i = lzeile To 1 Step -1
If Cells(i, 9).Value = 0 And _
Cells(i, 10).Value = 0 And _
Cells(i, 11).Value = 0 Then
Rows(i).Delete
Else
If Cells(i, 1).Value = 0 Then
Cells(i, 1).Value = lfdnr
End If
End If
Next i


Private Sub CommandButton1_Click()
Call LastCell1
End Sub


Vielleicht noch ne Idee???

Ciao, Toni
Anzeige
AW: Bereich kopieren
28.11.2003 11:50:45
Karl-Otto Reimann
Sub LastCell2()
Application.Screenupdating = false
usw...

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige