Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1160to1164
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 Spalte A >1 Werte kopiern

Wenn Spalte A >1 Werte kopiern
Armin
Hallo ExcelFreunde!
Habe eine Tabelle in Blatt 1 mit Werten im Bereich A10 : J109.
Wenn Wert im Bereich A10:A109 größer 0, dann Werte (Copy, Paste Special: nur Werte)
in Blatt 2 in die nächsten freien Zeilen. Kopierbefehl über Button.
Könnt Ihr mir bitte mit dem VBA-Code aushelfen?
Danke+Gruß
Armin

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Wenn Spalte A >1 Werte kopiern
16.06.2010 21:25:43
Holger
Hallo,
bin auch noch Anfänger, aber ich würde es so lösen (kriegst bestimmt noch was Besseres),
wobei es noch unvollständig ist. Also Kollegen,. helft mir weiter bitte.
Sub AufDieSchnelle
Dim intSum as integer
Dim rngCells as range
Dim rngTarget as range
Set rngCells = WorkSheet("Tabelle 1).Range("A10:J109")
Set rngTarget = WorkSheet("Tabelle 2).Range("A10:J109")
Range("A1").Select
ActiveCell.FormulaR1C1 = "=SUM(A10:A109)"
intSUm = Range("A1").Value
if intSum > 0 then
rngCells.Select
rngCells.copy
rngtarget.Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
else
exit sub
end if
End Sub

Anzeige
AW: Wenn Spalte A >1 Werte kopiern
16.06.2010 22:36:23
Armin
Hallo Holger,
habe deine Code eingefügt. Bekomme die Meldung "Sub oder Function nicht definiert".
Kann also nicht sagen ob Deine Code funktioniert.
Trotzdem Danke+Grüße
Armin
vlt so:
16.06.2010 22:00:16
CitizenX
Hallo Armin,
Probiere mal das:
Private Sub CommandButton1_Click()
Dim lngLastRow As Long, lngZeile As Long, lngSpalte As Long
Dim myBereich
Const myWert = 0

With Sheets("Tabelle1")
myBereich = .Range(.Cells(1, 1), .Cells(109, 10))
For lngZeile = 10 To Ubound(myBereich, 1)
    For lngSpalte = Lbound(myBereich, 2) To Ubound(myBereich, 2)
        If .Cells(lngZeile, lngSpalte) > myWert Then
            lngLastRow = Sheets("Tabelle2").Cells(Rows.Count, lngSpalte).End(xlUp).Row + 1
            Sheets("Tabelle2").Cells(lngLastRow, lngSpalte) = .Cells(lngZeile, lngSpalte)
        End If
    Next lngSpalte
Next lngZeile
End With

End Sub

viele Grüße
Steffen
Anzeige
AW: vlt so:
16.06.2010 22:50:07
Armin
Hallo Steffen,
funktioniert teilweise. Anscheinend verschieben sich die Spalteneinträge in Spalte D, das Prog. schreibt alle Einträge untereinander also nicht in die passende Zeile.
Die Zeilen geraten durcheinander.
Danke dir trotzdem
Viele Grüße
Armin
AW: vlt so:
17.06.2010 06:45:33
hary
Moin Armin
meinst Du so?

Dim i As Long
Application.ScreenUpdating = False
For i = 10 To 109
If Sheets("Tabelle1").Cells(i, 1) > 0 Then
Sheets("Tabelle1").Range(Cells(i, 1), Cells(i, 10)).Copy
Sheets("Tabelle2").Cells(i, 1).PasteSpecial Paste:=xlPasteValues
End If
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True

gruss hary
Anzeige
AW: vlt so:
17.06.2010 11:37:05
villacampo
Hallo Harry,
komme erst jetzt dazu deinen Code auszuprobieren.
Das kopieren klappt gut, aber in der 2 Tabelle, meine "Datenbank", werden die alten Werte überschrieben.
Habe noch von Bosco einen Vorschlag bekommen, hier werden die Werte nicht überschrieben, jedoch nicht nur die Werte kopiert, sondern auch die Formeln und Formate.
Danke dir erstmal für Deine Hilfe
Viele Grüße
Armin
AW: Wenn Spalte A >1 Werte kopiern
17.06.2010 06:43:53
BoskoBiati
Hallo,
evtl so:
Option Explicit
Private Sub CommandButton1_Click()
Dim loA As Long
Dim loLetzte As Long
loLetzte = Sheets("Tabelle2").Cells(Rows.Count, 1).End(xlUp).Row 'Tabellenname anpassen
For loA = 10 To 109
If Cells(loA, 1) > 0 Then
'Rows(loA).Copy Destination:=Sheets("Tabelle2").Rows(loLetzte) 'ganze Zeile kopieren
Range(Cells(loA, 1), Cells(loA, 10)).Copy Destination:=Sheets("Tabelle2").Cells(loLetzte, 1) ' _
Spalte A bis J kopieren
loLetzte = loLetzte + 1
End If
Next
End Sub
Gruß
Bosko
Anzeige
AW: Wenn Spalte A >1 Werte kopiern
17.06.2010 11:41:58
villacampo
Hallo Bosko!
Erstmal danke für deine Hilfe!
Habe deinen Code ausprobiert. Das Kopieren in Blatt2 klappt sehr gut, allesdings werden die Formeln und Formate mitkopiert. Müsste auf die Werte beschränkt bleide, das die Werte über Verweise in Tabelle 1 eingegeben werden, die Verweise führen in Blatt 2 dann ins Nirvana. Außerdem steht in Spalte B das aktuelle Datum. In Tabelle 2 soll das Datum als statischer Wert gespeichert werden.
Viele Grüße
Armin
AW: Wenn Spalte A >1 Werte kopiern
17.06.2010 12:05:52
BoskoBiati
Hallo,
dann so:
Option Explicit
Private Sub CommandButton1_Click()
Dim loA As Long
Dim loLetzte As Long
loLetzte = Sheets("Tabelle2").Cells(Rows.Count, 1).End(xlUp).Row 'Tabellenname anpassen
For loA = 10 To 109
If Cells(loA, 1) > 0 Then
Range(Cells(loA, 1), Cells(loA, 10)).Copy
Sheets("Tabelle2").Cells(loLetzte, 1).PasteSpecial Paste:=xlPasteValues
loLetzte = loLetzte + 1
End If
Next
End Sub
Gruß
Bosko
Anzeige
AW: Wenn Spalte A >1 Werte kopiern
17.06.2010 14:04:02
villacampo
Hallo Bosko,
nun ist alles perfekt.
Vielen Dank für die Unterstützung!
Gruß Armin

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige