Microsoft Excel

Herbers Excel/VBA-Archiv

Spaltenbereich kopieren

Betrifft: Spaltenbereich kopieren von: Golem
Geschrieben am: 20.09.2014 13:56:39

Hallo Excel-Fachleute,

ich benötige wieder Eure Hilfe.

In einem Tabellenblatt habe ich die Spalte „E“ mit einen Zellbereich von Zahlungsbeträgen ( Zeile 15 bis Zeile 1015 ). In diesem Zellbereich sind auch Leerzellen und Zellen mit doppelten Beträgen vorhanden.

Diesen Spaltenbereich möchte ich in die Spalte „G“ kopieren, aber lückenlos, ohne Leerzellen und ohne doppelte Beträge ( von Zeile 15 bis Zeile 1015 ).

Bisher verwende ich dafür folgende Matrixformel {=WENNFEHLER(INDEX(Spalte10;VERGLEICH(1;(ZÄHLENWENN(AE$259:AE267;Spalte10)=0)*(Spalte10<>"");0));"")}, die ich aber durch VBA ( evtl. UDF ) ersetzen möchte.

Für eine VBA-Lösung sind meine Kenntnisse zu bescheiden und umfangreiche Recherchen haben auch nicht zum Erfolg geführt.

Für evtl. Tipps oder Anregungen schon mal besten Dank!
Werner

  

Betrifft: AW: Spaltenbereich kopieren von: Matze Matthias
Geschrieben am: 20.09.2014 14:47:21

Hallo Werner,

ich hab keine Formellösung, aber der Code sollte das erledigen:

Per Doppelklick auf Zelle G14 wird das Makro dann gestartet
In das entsprechende Tabellenblatt einfügen

Option Explicit
Dim Beginn As Long, Ziel As Long

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("G14")) Is Nothing Then

Columns(7).ClearContents
Cells(14, 7).Value = "Ab hier listen:"
    For Beginn = 15 To Cells(Rows.Count, 5).End(xlUp).Row
        If Application.CountIf(Columns(7), Cells(Beginn, 5)) = 0 Then
            Ziel = Cells(Rows.Count, 7).End(xlUp).Row + 1
            Cells(Ziel, 7) = Cells(Beginn, 5)
        End If
    Next
End If
End Sub
Gruß Matze


  

Betrifft: AW: Spaltenbereich kopieren von: Matze Matthias
Geschrieben am: 20.09.2014 15:05:07

Hallo Werner,
füge vor End Sub noch folgendes ein: Cancel = True

Matze


  

Betrifft: AW: Spaltenbereich kopieren von: hary
Geschrieben am: 20.09.2014 15:09:13

Moin
Oder alles rueber und Dubletten entfernen.

With Range("G15:G" & Cells(Rows.Count, 7).End(xlUp).Row)
 .Clear
   Range("E15:E" & Cells(Rows.Count, 5).End(xlUp).Row).SpecialCells(xlCellTypeConstants).Copy  _
Range("G15")
.RemoveDuplicates (1)
End With

gruss hary


  

Betrifft: AW: Spaltenbereich kopieren von: Golem
Geschrieben am: 20.09.2014 15:28:01

Guten Tag, Hary!

Auch Deine Lösung funktioniert einwandfrei. Ich habe aber die Lösung von Matze eingebaut.

Einen schönen Dank für Deine Bemühung und schöne Grüße
Werner


  

Betrifft: AW: Spaltenbereich kopieren von: Golem
Geschrieben am: 20.09.2014 15:21:56

Guten Tag, Matze!

Ich habe Deinen Code ausprobiert und er funktioniert einwandfrei. Genau nach meiner Vorstellung.

Weiterhin einen schönen Tag
Werner


 

Beiträge aus den Excel-Beispielen zum Thema "Spaltenbereich kopieren"