online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon Ala vom 15.03.2020, 19:50 Options

Sort

Hallo,

mein vba code läuft geht nicht. kann mir jmd. bitte helfen.
Ich möchte gerne nach meinen vorgaben sortiert haben.



Dim LoI As Long ' 1. Schleifenvariable
Dim LoJ As Long ' 2. Schleifenvariable
Dim LoLetzte1 As Long ' Variable letzte Zeile in Spalte A
Dim LoLetzte2 As Long ' Variable letzte Zeile in Spalte B
Dim Loletzte3 As Long ' Variable letzte Zeile in Tabelle3
Application.ScreenUpdating = False ' Bildschirmaktualisierung aus
With Worksheets("Abrechnung").Range("IU65484:IU65520") ' letzte Zeile in Spalte A Tabelle1
LoLetzte1 = IIf(IsEmpty(.Cells(Rows.Count, 2)), .Cells(Rows.Count, 2).End(xlUp).Row, .Rows.Count)
End With
With Worksheets("Tabelle2") ' letzte Zeile in Spalte B Tabelle2
LoLetzte2 = IIf(IsEmpty(.Cells(Rows.Count, 2)), .Cells(Rows.Count, 2).End(xlUp).Row, .Rows.Count)
End With
For LoI = 1 To LoLetzte1 ' 1. Schleife alle Werte Spalte A
For LoJ = 1 To LoLetzte2 ' 2. Schleife alle Werte Spalte B
If Worksheets("Tabelle1").Cells(LoI, 1) <> "" Then ' Leerzellen nicht kennzeichnen
If Worksheets("Tabelle1").Cells(LoI, 1) = Worksheets("Tabelle2").Cells(LoJ, 2) Then
Worksheets("Tabelle1").Rows(LoI).Copy ' Zellen sind gleich, Zeile Kopieren
With Worksheets("Tabelle3")
' letzte belegte Zeile in Tabelle3 ermitteln
Loletzte3 = .UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1
If Loletzte3 > Rows.Count Then ' ermittelte Zeilennummer mit max. Anzahl vergleichen
MsgBox "In Tabelle3 ist keine Zeile mehr frei"
Application.CutCopyMode = False ' Zwischenspeicher löschen
Exit Sub
End If
.Rows(Loletzte3).PasteSpecial Paste:=xlValues ' Werte übertragen
.Rows(Loletzte3).PasteSpecial Paste:=xlFormats ' Formate übertragen
End With
Exit For ' innere Schleife verlassen da Datensatz gefunden
End If
End If
Next LoJ
Next LoI
Application.CutCopyMode = False ' Zwischenspeicher löschen
Application.ScreenUpdating = True


Antwort schreiben

Antwort 1 von Saarbauer vom 15.03.2020, 22:22 Options

Hallo,

ohne genau nachzuvollziehen was du da machst, da uns passende Daten fehlen, aber

With Worksheets("Abrechnung").Range("IU65484:IU65520") ' letzte Zeile in Spalte A Tabelle1
LoLetzte1 = IIf(IsEmpty(.Cells(Rows.Count, 2)), .Cells(Rows.Count, 2).End(xlUp).Row, .Rows.Count)
End With
With Worksheets("Tabelle2") ' letzte Zeile in Spalte B Tabelle2
LoLetzte2 = IIf(IsEmpty(.Cells(Rows.Count, 2)), .Cells(Rows.Count, 2).End(xlUp).Row, .Rows.Count)
End With
For LoI = 1 To LoLetzte1 ' 1. Schleife alle Werte Spalte A
For LoJ = 1 To LoLetzte2 ' 2. Schleife alle Werte Spalte B
If Worksheets("Tabelle1").Cells(LoI, 1) <> "" Then ' Leerzellen nicht kennzeichnen
If Worksheets("Tabelle1").Cells(LoI, 1) = Worksheets("Tabelle2").Cells(LoJ, 2) Then
Worksheets("Tabelle1").Rows(LoI).Copy ' Zellen sind gleich, Zeile Kopieren
With Worksheets("Tabelle3")

Läuft aus meiner Sicht deshalb nicht, da du einmal "Abrechnung" nutzt und dann "Tabelle1"

Gruß

Helmut

Antwort 2 von ala vom 17.03.2020, 22:15 Options

Hallo Saarbauer,

könntest du mir jetzt helfen?

meine Vorgaben befinden sich in den Zellen von / bis (IU65484:IU65520) - so soll es sein/aussehen!!!!!

Analoger Anschluss
ISDN
DSL 2000
DSL 4000
DSL 8000
DSL 16000


Die Daten unten sollen mit "meinen Vorgaben " verglichen und sortiert werden - befinden sich in den Zellen von / bis (B26:B51)
Menge Artikel Betrag
9 DSL 2000 10,00 €
1 DSL 4000 20,00 €
8 Analoger Anschluss 10,00 €
4 ISDN 20,00€

Eine Bitte noch!
Es soll komplett die Zeile Menge/Artikel/Betrag sortiert werden!
Es befindet sich alles in einer Datei.
Danke im Voraus

Antwort 3 von Saarbauer vom 18.03.2020, 07:36 Options

hallo,

geht nicht mit der Sortierfunktion von Excel, musst du ein Makro haben.

Ich würde an deiner Stelle ein Makro ausfzeichen in dem die Zeilen entsprechend getauscht werden und dann den Rest manuell ergänzen

Gruß

Helmut

Ähnliche Themen

Anlage brummt wenn PC angeschlossen
maybedoo  13.01.2007 - 196 Hits - 7 Antworten

Monitor
Ole  07.05.2007 - 91 Hits -

kann mir mal jemand ein Makro übersetzen?
Jan1105  11.05.2007 - 66 Hits - 2 Antworten

Makro nachträglich ein Shortcut zuweisen
m-o-m  11.07.2007 - 61 Hits - 7 Antworten

linux befehl
leonie  16.10.2007 - 83 Hits - 7 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026