Discussion:
Bereich kopieren wenn Bedingung erfüllt
(zu alt für eine Antwort)
Peter
2010-04-01 06:59:00 UTC
Permalink
Hallo zusammen,

ich benutze Excel 2003 und habe folgendes Problem: Im Bereich A2:A500
stehen Formeln, die ich per Makro in den Bereich B2:AG500 kopieren
möchte, allerdings nur, wenn im Bereich B1:AG1 etwas steht. Beispiel:
Zelle B1 ist ausgefüllt, also sollen die Formeln in B2:B500 kopiert
werden; Zellen C1:D1 sind leer, also soll hier nichts in C2:D500
kopiert werden; E1 ist wieder ausgefüllt, also sollen die Formeln in
E2:E500 kopiert werden, usw.

Danke schonmal für die Hilfe!

Beste Grüße,
Peter
Andreas Killer
2010-04-01 07:14:52 UTC
Permalink
Post by Peter
ich benutze Excel 2003 und habe folgendes Problem: Im Bereich A2:A500
stehen Formeln, die ich per Makro in den Bereich B2:AG500 kopieren
Sub Test()
Dim Quelle As Range, Zielspalten As Range, R As Range
Set Quelle = Range("A2:A500")
Set Zielspalten = Range("B1:AG1")
For Each R In Zielspalten
If Not IsEmpty(R) Then
Quelle.Copy
R.Offset(1, 0).Resize(Quelle.Rows.Count).PasteSpecial
xlPasteFormulas
End If
Next
Application.CutCopyMode = False
End Sub
Peter Schleif
2010-04-01 07:16:38 UTC
Permalink
Post by Peter
ich benutze Excel 2003 und habe folgendes Problem: Im Bereich A2:A500
stehen Formeln, die ich per Makro in den Bereich B2:AG500 kopieren
möchte, allerdings nur, wenn im Bereich B1:AG1 etwas steht.
Sub BereichKopierenWennBedingungErfuellt()
Dim zelle As Range

For Each zelle In [B1:AG1]
If Trim(zelle) <> "" Then
[A2:A500].Copy
zelle(2).Resize(499).PasteSpecial xlPasteFormulas
Application.CutCopyMode = False
End If
Next
End Sub


Zusätzlich kannst Du bei leerer Zelle in [B1:AG1] den Bereich darunter
ebenfalls leeren:

If Trim(zelle) <> "" Then
'...
Else
zelle(2).Resize(499).ClearContents
End If

Peter
Peter
2010-04-01 07:30:21 UTC
Permalink
Post by Peter Schleif
Post by Peter
ich benutze Excel 2003 und habe folgendes Problem: Im Bereich A2:A500
stehen Formeln, die ich per Makro in den Bereich B2:AG500 kopieren
möchte, allerdings nur, wenn im Bereich B1:AG1 etwas steht.
Sub BereichKopierenWennBedingungErfuellt()
   Dim zelle As Range
   For Each zelle In [B1:AG1]
      If Trim(zelle) <> "" Then
         [A2:A500].Copy
         zelle(2).Resize(499).PasteSpecial xlPasteFormulas
         Application.CutCopyMode = False
      End If
   Next
End Sub
Zusätzlich kannst Du bei leerer Zelle in [B1:AG1] den Bereich darunter
      If Trim(zelle) <> "" Then
         '...
      Else
         zelle(2).Resize(499).ClearContents
      End If
Peter
Danke für die schnellen Antworten und eure Hilfe.

@Peter: klappt einwandfrei.
@Andreas: klappt nur beim ersten Eintrag, danach kommt die Meldung
"Objekt erforderlich".

Beste Grüße,
Peter

Lesen Sie weiter auf narkive:
Suchergebnisse für 'Bereich kopieren wenn Bedingung erfüllt' (Fragen und Antworten)
14
Antworten
Vernunft..?
gestartet 2006-09-04 08:44:07 UTC
kunst & geisteswissenschaft
Loading...