Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1008to1012
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
Inhaltsverzeichnis

Wenn Wert in Zelle grösser 0, dann kopiere...

Wenn Wert in Zelle grösser 0, dann kopiere...
11.09.2008 12:35:49
Bernhard
Hallo Excel Experten,
wer kann mir bei folgender Aufgabenstellung helfen:
In einer Tabelle1 werden Käufe/ Verkäufe erfasst (Spalten A - F). Wenn nun in der Spalte H ein Wert grösser Null steht, dann sollen der Inhalt der Zellen A bis C und E, F und H zeilenweise in Tabelle2 kopiert werden.
https://www.herber.de/bbs/user/55321.xls
Danke für Eure Hilfe,
Bernhard

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Bereich kopieren
11.09.2008 13:10:45
Backowe
Hi,
VBA-Code:
Private Sub Worksheet_Change(ByVal Target As Range)
'Code in das entsprechende Tabellenblatt!
If Not Intersect(Target, Range("H2:H" & Cells(Rows.Count, "H").End(xlUp).Row)) Is Nothing And Target.Count = 1 Then
  If Target > 0 Then
    Range(Cells(Target.Row, "A"), Cells(Target.Row, "H")).Copy _
      Destination:=Sheets("Tabelle2").Range("A" & Sheets("Tabelle2").Cells(Rows.Count, "A").End(xlUp).Row + 1)
  End If
End If
End Sub
Gruß Jürgen
AW: Bereich kopieren
Bernhard

Hallo Jürgen,
Danke auch Dir. Konnte Deinen Code noch nicht ausprobieren, da jetzt anderweitig beschäftigt. Rückmeldung morgen.
Gruss
Bernhard
AW: Bereich kopieren
Bernhard

Hallo Jürgen,
habe heute Deinen Code in meine Tabelle eingefügt, aber es tut sich nichts? Da meine VBA-Kenntnisse (noch) gering sind komme ich nicht auf den Fehler.
Danke aber trotzdem für Deine Mühe
Gruss
Bernhard
Ich habe so getestet!
Backowe

Hi Bernhard,
ich habe eine Tabelle 1 und eine Tabelle2 angelegt. Der Code kommt in die Tabelle1, da hatte ich dein Beispiel hin kopiert. Jedes Mal, wenn in Spalte H ein Wert größer 0 eingegeben wird, wird automatisch der Bereich von A bis H in die Tabelle 2 kopiert, immer in den nächste leere Zeile in Tabelle 2. Das Marko wird nicht angestoßen, sondern startet automatisch!
Also nochmals testen! :)
Gruß Jürgen
AW: Wenn Wert in Zelle grösser 0, dann kopiere...
Peter

Huhu,
oder so. Füg dir einen CommandButton auf Tabelle1 ein und weis dem Click-Ereignis diesen Code zu.
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
Dim intWert As Integer, intSpalte As Integer, intZeile As Integer, intAnz As Integer
ActiveWorkbook.Worksheets("Tabelle2").Range("a1:A60000").ClearContents
intSpalte = 8
intZeile = 1
intAnz = WorksheetFunction.CountA(ActiveWorkbook.Worksheets("Tabelle1").Range("A2:A60000"))
Zae2 = 0
For Zae1 = 1 To intAnz
    intWert = ActiveWorkbook.Worksheets("Tabelle1").Cells(intZeile + Zae1, intSpalte)
    If intWert > 0 Then
        ActiveWorkbook.Worksheets("Tabelle1").Range(Cells(intZeile + Zae1, 1), Cells(intZeile + Zae1, 8)).Copy
        ActiveWorkbook.Worksheets("Tabelle2").Cells(intZeile + Zae2, 1).PasteSpecial
        Application.CutCopyMode = False
        Zae2 = Zae2 + 1
    End If
Next Zae1
Application.ScreenUpdating = True
End Sub
Gruß Henrik
AW: Wenn Wert in Zelle grösser 0, dann kopiere...
Bernhard

Hi Henrik,
bin gerade erst dazu gekommen Deinen Code zu testen. Klappt prima.
Herzlichen Dank
Gruss
Bernhard
per Formel
WF

Hi Bernhard,
schreib in A2 der Tabelle2 folgende Arrayformel:
{=WENN(ZÄHLENWENN(Tabelle1!$H:$H;">0")<ZEILE(A1);"";INDEX(Tabelle1!A:A; KKLEINSTE(WENN(Tabelle1!$H$2:$H$99>0;ZEILE($2:$99));ZEILE(A1)))) }
nach rechts und nach unten kopieren / Spalte D dann löschen
ARRAY-Formel {=geschweifte Klammern} nicht eingeben;
Abschluß der Formel mit gleichzeitig Strg / Shift / Enter; - das erzeugt sie.
Salut WF
AW: per Formel
Bernhard

Hallo WF,
auch Dir sage Dankeschön. Die Formellösung werde ich auch erst morgen testen können. Dann auch Dir eine Rückmeldung.
Gruss
Bernhard
Anzeige
AW: Bereich kopieren
11.09.2008 17:20:00
Bernhard
Hallo Jürgen,
Danke auch Dir. Konnte Deinen Code noch nicht ausprobieren, da jetzt anderweitig beschäftigt. Rückmeldung morgen.
Gruss
Bernhard
AW: Bereich kopieren
12.09.2008 11:33:25
Bernhard
Hallo Jürgen,
habe heute Deinen Code in meine Tabelle eingefügt, aber es tut sich nichts? Da meine VBA-Kenntnisse (noch) gering sind komme ich nicht auf den Fehler.
Danke aber trotzdem für Deine Mühe
Gruss
Bernhard
Ich habe so getestet!
12.09.2008 12:03:46
Backowe
Hi Bernhard,
ich habe eine Tabelle 1 und eine Tabelle2 angelegt. Der Code kommt in die Tabelle1, da hatte ich dein Beispiel hin kopiert. Jedes Mal, wenn in Spalte H ein Wert größer 0 eingegeben wird, wird automatisch der Bereich von A bis H in die Tabelle 2 kopiert, immer in den nächste leere Zeile in Tabelle 2. Das Marko wird nicht angestoßen, sondern startet automatisch!
Also nochmals testen! :)
Gruß Jürgen
Anzeige
AW: Wenn Wert in Zelle grösser 0, dann kopiere...
11.09.2008 13:35:00
Peter
Huhu,
oder so. Füg dir einen CommandButton auf Tabelle1 ein und weis dem Click-Ereignis diesen Code zu.
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
Dim intWert As Integer, intSpalte As Integer, intZeile As Integer, intAnz As Integer
ActiveWorkbook.Worksheets("Tabelle2").Range("a1:A60000").ClearContents
intSpalte = 8
intZeile = 1
intAnz = WorksheetFunction.CountA(ActiveWorkbook.Worksheets("Tabelle1").Range("A2:A60000"))
Zae2 = 0
For Zae1 = 1 To intAnz
    intWert = ActiveWorkbook.Worksheets("Tabelle1").Cells(intZeile + Zae1, intSpalte)
    If intWert > 0 Then
        ActiveWorkbook.Worksheets("Tabelle1").Range(Cells(intZeile + Zae1, 1), Cells(intZeile + Zae1, 8)).Copy
        ActiveWorkbook.Worksheets("Tabelle2").Cells(intZeile + Zae2, 1).PasteSpecial
        Application.CutCopyMode = False
        Zae2 = Zae2 + 1
    End If
Next Zae1
Application.ScreenUpdating = True
End Sub
Gruß Henrik
AW: Wenn Wert in Zelle grösser 0, dann kopiere...
Bernhard

Hi Henrik,
bin gerade erst dazu gekommen Deinen Code zu testen. Klappt prima.
Herzlichen Dank
Gruss
Bernhard
per Formel
WF

Hi Bernhard,
schreib in A2 der Tabelle2 folgende Arrayformel:
{=WENN(ZÄHLENWENN(Tabelle1!$H:$H;">0")<ZEILE(A1);"";INDEX(Tabelle1!A:A; KKLEINSTE(WENN(Tabelle1!$H$2:$H$99>0;ZEILE($2:$99));ZEILE(A1)))) }
nach rechts und nach unten kopieren / Spalte D dann löschen
ARRAY-Formel {=geschweifte Klammern} nicht eingeben;
Abschluß der Formel mit gleichzeitig Strg / Shift / Enter; - das erzeugt sie.
Salut WF
AW: per Formel
Bernhard

Hallo WF,
auch Dir sage Dankeschön. Die Formellösung werde ich auch erst morgen testen können. Dann auch Dir eine Rückmeldung.
Gruss
Bernhard
Anzeige
AW: Wenn Wert in Zelle grösser 0, dann kopiere...
11.09.2008 16:52:00
Bernhard
Hi Henrik,
bin gerade erst dazu gekommen Deinen Code zu testen. Klappt prima.
Herzlichen Dank
Gruss
Bernhard
per Formel
11.09.2008 13:38:00
WF
Hi Bernhard,
schreib in A2 der Tabelle2 folgende Arrayformel:
{=WENN(ZÄHLENWENN(Tabelle1!$H:$H;">0")<ZEILE(A1);"";INDEX(Tabelle1!A:A; KKLEINSTE(WENN(Tabelle1!$H$2:$H$99>0;ZEILE($2:$99));ZEILE(A1)))) }
nach rechts und nach unten kopieren / Spalte D dann löschen
ARRAY-Formel {=geschweifte Klammern} nicht eingeben;
Abschluß der Formel mit gleichzeitig Strg / Shift / Enter; - das erzeugt sie.
Salut WF
AW: per Formel
11.09.2008 17:22:21
Bernhard
Hallo WF,
auch Dir sage Dankeschön. Die Formellösung werde ich auch erst morgen testen können. Dann auch Dir eine Rückmeldung.
Gruss
Bernhard
Anzeige

289 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige