Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
976to980
976to980
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Letzte 10 Zahlen ohne Leerzellen mit VBA

Letzte 10 Zahlen ohne Leerzellen mit VBA
12.05.2008 20:46:21
Martin
Hallo und guten Abend,
könnte mir bitte jemand bei dieser Aufgabe helfen:
Ich möchte die letzten 10 Zahlen aus einer Spalte, die Leerzellen enthält,
mit VBA zusammenfassen und so setzen, daß sie mit der letzten Zahl der
ursprünglichen Spalte enden. So:
Userbild
Die Datei:
https://www.herber.de/bbs/user/52300.xls
Ich muß es mit VBA machen, da die Datei mit einer Matrixformel leider
viel zu langsam würde.
Mit Dank,
Born

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Letzte 10 Zahlen ohne Leerzellen mit VBA
12.05.2008 22:00:00
Holger
Hallo Born,
ich gehe in meinem Vorschlag davon aus, dass du die Zahlen in Spalte A hast und das Ergebnis in Spalte C schreiben willst. Sonst musst du den zweiten Index in Cells jeweils anpassen (A entspricht 1, B 2, C 3 usw.):

Sub LetzteZahlen()
a = Range(Cells(Rows.Count, 1), Cells(Rows.Count, 1)).End(xlUp).Row
b = 0
For i = a To 1 Step -1
If Cells(i, 1)  "" Then
Cells(a - b, 3) = Cells(i, 1)
Cells(a - b, 2) = b + 1
b = b + 1
If b = 10 Then Exit Sub
End If
Next i
End Sub


Gruß
Holger

AW: Letzte 10 Zahlen ohne Leerzellen mit VBA
13.05.2008 11:49:00
Martin
Hallo Holger,
danke für die Hilfe. Dein Skript zählt bis 10 und das ist gut, aber
ich wollte eigentlich die Zahlen aus spalte A aufgelistet haben.
Bernd hat mir dafür die Zeilen geliefert.
Trotzdem herzlichen Dank,
Born

Anzeige
AW: Letzte 10 Zahlen ohne Leerzellen mit VBA
13.05.2008 17:39:00
Holger
Mein Makro erzeugt genau das, was du vorgegeben hast. Mir ist es egal, ob du es verwendest oder nicht. Aber du solltest es wenigstens richtig ausprobieren.

AW: Letzte 10 Zahlen ohne Leerzellen mit VBA
13.05.2008 20:18:39
Martin
Hallo Holger,
da muß ich vorher wohl irgendwie gepennt haben. Natürlich probiere ich alles aus,
was man mir anbietet. Ich als Anfänger kann ja immer was lernen. Aber da muß
ich wohl was verpeilt haben, du hast Recht, es macht genau das, was ich wollte.
Sogar am genauesten.
Dürfte ich Dir noch ne Frage dazu stellen?
Ich schaff es nicht, ausgehend von dem, was du geschrieben hast,
eine Spalte A nach spalte D
und eine Spalte B (ohne Leerzeilen) nach Spalte E zu bekommen.
(Jetzt mal ohne das bis 10 zählen)
Nur A nach D klappt. Weißt Du Rat?
Gruß und Dank,
Born

Anzeige
AW: Letzte 10 Zahlen ohne Leerzellen mit VBA
14.05.2008 11:19:00
Holger
Hallo Martin,
er gibt dazu viele Möglichkeiten, z.B.

Sub Spalten_verschieben_ohne_Leerzellen()
Dim b, i
'von A nach D
b = 0
For i = 1 To Range(Cells(Rows.Count, 1), Cells(Rows.Count, 1)).End(xlUp).Row
If Cells(i, 1)  "" Then
b = b + 1
Cells(b, 4) = Cells(i, 1)
End If
Next i
'von B nach E
b = 0
For i = 1 To Range(Cells(Rows.Count, 2), Cells(Rows.Count, 2)).End(xlUp).Row
If Cells(i, 2)  "" Then
b = b + 1
Cells(b, 5) = Cells(i, 2)
End If
Next i
End Sub



Sub ganze_Spalten_verschieben_1()
'A und B nach D und E
Range("A:B").Copy
Range("D:E").PasteSpecial 'oder z.B. Range("D:E").Insert
End Sub



Sub ganze_Spalten_verschieben_2()
Columns("A:B").Copy
Columns("D:E").PasteSpecial
End Sub


Viel Erfolg
Holger

Anzeige
AW: Letzte 10 Zahlen ohne Leerzellen mit VBA
14.05.2008 11:41:00
Martin
Danke Holger,
da werd ich mich nochmal gründlich dransetzen.
Born

AW: Letzte 10 Zahlen ohne Leerzellen mit VBA
12.05.2008 22:01:00
Mustafa
Hallo Martin
Versuch mal folgenden Code:
Option Explicit

Sub Zusammenfassen()
Dim iZeile As Double
Dim xInt As Integer
Dim zInt As Integer
iZeile = Range("A65536").End(xlUp).Row
For xInt = iZeile To 1 Step -1
If Cells(xInt, 1)  "" Then
zInt = zInt + 1
Select Case zInt
Case Is 


Rückmeldung obs hilft wäre nett.
Viele Grüße aus der Domstad Köln.

AW: Letzte 10 Zahlen ohne Leerzellen mit VBA
13.05.2008 11:51:01
Martin
Hallo Mustafa,
danke für das Angebot. Dein Skript stellt die Zahlen an den Anfang der Zeilen,
nicht ans ende. Aber trotzdem Danke, Bernds Skript haut hin.
Gruß,
Born

Anzeige
AW: Letzte 10 Zahlen ohne Leerzellen mit VBA
13.05.2008 23:30:00
Mustafa
Hallo Martin,
ich würde sagen das kommt davon wenn man den thread nicht richtig zuende liest.
Du hast recht, den teil der Aufgabenstellung hab ich übersehen.
Ich entschuldige mich dafür.
Gruß aus der Domstadt Köln.

AW: Letzte 10 Zahlen ohne Leerzellen mit VBA
12.05.2008 22:02:00
bst
Abend,
HTH, Bernd
--
Option Explicit

Sub x()
    Dim lngRows As Long, i As Long, j As Long
    Dim ar(1 To 10) As Variant
    Dim intCount As Integer
    
    lngRows = IIf(Len(Cells(Rows.Count, 1)), Rows.Count, Cells(Rows.Count, 1).End(xlUp).Row)
    
    j = lngRows
    intCount = 10
    For i = lngRows To 1 Step -1
        If Len(Cells(i, 1)) Then
            Cells(j, 2) = Cells(i, 1)
            j = j - 1
            intCount = intCount - 1
            If intCount < 1 Then Exit Sub
        End If
    Next
End Sub

Anzeige
AW: Letzte 10 Zahlen ohne Leerzellen mit VBA
13.05.2008 11:49:00
Martin
Hallo Bernd,
herzlichen Dank, das ist genau das, was ich gesucht habe.
funktioniert perfekt.
Born

AW: Letzte 10 Zahlen ohne Leerzellen mit VBA
13.05.2008 20:26:00
Gerd
Hallo Martin,
dein Versuch geht auch, falls die Variablen vor der 2. Schleife neu lädst.

Sub Start_letzte_werte()
Call Letze_Werte_in_neue_Spalte(10, 1, 4)
Call Letze_Werte_in_neue_Spalte(10, 2, 5)
End Sub



Function Letze_Werte_in_neue_Spalte(ByVal intcount As Integer, _
ByVal Col As Long, ByVal newCol As Long)
Dim i As Long, j As Long
j = IIf(Len(Cells(Rows.Count, Col)), Rows.Count, Cells(Rows.Count, Col).End(xlUp).Row)
For i = j To 1 Step -1
If Len(Cells(i, Col)) Then
Cells(j, newCol) = Cells(i, Col)
j = j - 1
intcount = intcount - 1
End If
If intcount 


Gruß Gerd

Anzeige
AW: P.S.
13.05.2008 22:01:19
Gerd
Hallo Martin,
falls die letzten gefüllten Zellen paralell liegen, würde die Ermittlung der letzten Zelle in Spalte A = 1
genügen.
Gruß Gerd

AW: Letzte 10 Zahlen ohne Leerzellen mit VBA
14.05.2008 11:54:12
Martin
Wau, das war spannend! Das mit dem "Variablen landen" kannte ich noch nicht.
Danke,
Born

342 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige