Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
740to744
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
740to744
740to744
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

VBA - Filter

VBA - Filter
06.03.2006 16:39:09
J.
Hallo Freunde,
ich habe eine Tabelle in der Artikelnummern stehen,
10061823
10061823
02090612
02090612
00344333
00627770
10061823
10061823
02090612
02090612
00344333
00627770
so etwa.
Jetzt möchte ich diese Nummern auf eine zweite Tabelle kopieren, dort doppelte Einträge löschen dann sortieren.
Hinter jeder Nummer ist eine Stückzahl hinterlegt die auf dem zweiten Tabellenblatt addiert werden, (das fuktioniert bereits) sobald diese Nummer eingetragen werden.
Ich weiß es gibt einen Experten da draußen:-)
Danke im voraus;
J. B.

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA - Filter
06.03.2006 19:09:50
Manuel
Hi J.B.
Versuche es hiermit:
Du musst evtl die Namen der Tabellenblätter anpassen, sowie die Spalte.
Ich bin davon ausgegangen, dass die Artikelnummern in Spalte "A" sind und von Typ Text.
Bei Rückfragen gerne melden.

Sub kopieren_und_sortieren()
Dim quelle As Worksheet, ziel As Worksheet
Dim i As Integer, j As Integer
Dim vorhanden As Boolean
Set quelle = Application.Worksheets("Tabelle1")
Set ziel = Application.Worksheets("Tabelle2")
ReDim artnr(quelle.Cells(Rows.Count, 1).End(xlUp).Row) As String
j = -1
For i = 1 To Sheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp).Row
vorhanden = False
For k = 0 To j
If quelle.Cells(i, 1) <> "" And quelle.Cells(i, 1) = artnr(k) Then
vorhanden = True
End If
Next k
If vorhanden = False Then
j = j + 1
artnr(j) = quelle.Cells(i, 1)
End If
Next i
For i = 0 To j
ziel.Cells(i + 1, 1) = artnr(i)
Next i
'absteigend
ziel.Columns("A:A").Sort Key1:=ziel.Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
'aufsteigend
'ziel.Columns("A:A").Sort Key1:=ziel.Range("A1"), Order1:=xlDescending, Header:=xlGuess, _
'OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
'DataOption1:=xlSortNormal
End Sub

Mit freundlichen Grüßen
Manuel Marhold
Anzeige
AW: VBA - Filter
07.03.2006 08:20:29
J.
Hallo Manuel,
danke für die Lösung, ABER!
Wenn ich mir eine Tabelle stricke die genau auf Dein Makro zugeschnitten ist dann fuktioniertes.
In meiner Tabelle auch soweit, aber es sind immer die ersten 2 Zellen frei. Könnte damit leben, sieht aber nicht gut aus.
Hast Du da noch eine Idee.
Danke
Gruß
J. B.
AW: VBA - Filter
07.03.2006 11:39:29
Manuel
Hi J.B.
könntest du dafür evtl die Datei uploaden.
ich habe an sich eine abfrage drin, ob es leere zellen gibt, aber das reciht anscheinend nicht.
Mit freundlichen Grüßen
Manuel Marhold
AW: VBA - Filter
07.03.2006 14:47:23
J.
Hi Manuel,
kann Dir die Datei leider nicht von diesem Rechner uploaden, da es ein Firmen-PC ist.
Aber eins weiß ich, es sind nicht die leer Zellen.
Trotzdem Danke;-)
Gruß
J. B.
Anzeige
AW: VBA - Filter
07.03.2006 15:20:49
J.
Hi Manunel,
werde die Datei heute nach 18:00 Uhr uploaden.
Vieleicht findest Du meinen Fehler!
J. B.
AW: VBA - Filter
07.03.2006 19:05:02
J.
Hi Manuel,
habe 2 mal versucht die Datei upzuloaden, klappt leider nicht, upload nicht möglich, vieleicht zu groß. 450 kb
Also das Makro fuktioniert so ganz gut nur die sortierten Daten werden in unregelmäßigen Zellen reinkopiert. Also nicht in A1 sondern in A?.
Noch einmal danke
J. B.
AW: VBA - Filter
08.03.2006 06:56:45
Manuel
Hi.
Meinst du mit "aber es sind immer die ersten 2 Zellen frei" dann "A1" und "A2" ?
du hast das makro doch mit Sicherheit anpassen müssen.
kannste das mal hier hinschreiben?
und ersetzen mal in der For mit der Variable "k":
If quelle.Cells(i, 1) "" And
mit:
If quelle.Cells(i, 1) = "" And
bis denne
Manuel
Anzeige
AW: VBA - Filter
08.03.2006 07:33:23
J.
Hi Manuel,
danke für Formelergänzung, aber leider nichts geholfen.
Ich versuche einmal Dir mein Problem zubeschreiben:
Tabelle "Materialnachweis" werden in Zelle C11, C12, C13 usw. 8 stellige Zahlen (als Text formatiert) eingegeben die dann in Zelle D11, D12, D13 usw. Artikelbezeichnungen aufrufen. Hier kann es auch schon mal vorkommen das Zellen leer bleiben.
Um eine Auswertung hin zubekommen werden die Daten aus Tabelle "Materialnachweis" in Tabelle "AuswertungLS" Zelle A1, A2, A3 usw. übernommen und anschließend in die Tabelle "Leiterseil" Zelle A1, A2, A3 usw. ausgegeben.
In der Tabelle "Leiterseil" werden nun aber die sortierten Daten nicht in die Zelle A1 kopiert sondern irgentwo in die Spalte "A". Es ist auch nicht zuerkennen das die Leerzellen mit übernommen werden.
Hier die von mir geänderte Formel

Sub Leiterseil()
Dim quelle As Worksheet, ziel As Worksheet
Dim i As Integer, j As Integer
Dim vorhanden As Boolean
Set quelle = Application.Worksheets("AuswertungLS")
Set ziel = Application.Worksheets("Leiterseil")
ReDim artnr(quelle.Cells(Rows.Count, 1).End(xlUp).Row) As String
j = -1
For i = 1 To Sheets("AuswertungLS").Cells(Rows.Count, 1).End(xlUp).Row
vorhanden = False
For k = 0 To j
If quelle.Cells(i, 1) <> "" And quelle.Cells(i, 1) = artnr(k) Then
vorhanden = True
End If
Next k
If vorhanden = False Then
j = j + 1
artnr(j) = quelle.Cells(i, 1)
End If
Next i
For i = 0 To j
ziel.Cells(i + 1, 1) = artnr(i)
Next i
'absteigend
ziel.Columns("A:A").Sort Key1:=ziel.Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Sheets("Leiterseil").Select
Range("A3").Select
End Sub

Ich hoffe das ich mein Problem einigermaßen beschrieben habe.
Es dürfen ja über diese Adresse keine e-mail- Adressen ausgetauscht werden!
Oder?
Gruß
J. B.
Anzeige
AW: VBA - Filter
09.03.2006 13:53:06
Manuel
Hi J.B.
Sry, dass ich gerstern nicht geantwrotet habe.
Ich versuche das ganze heute abend nach dem Kurs nachzuvollziehen..
Bitte noch etwas geduld, ja?
Mit freundlichen Grüßen
Manuel Marhold
AW: VBA - Filter
09.03.2006 23:20:00
Manuel
Hi J.B.
Also.
Noch eine Änderung:
If quelle.Cells(i, 1) "" And quelle.Cells(i, 1) = artnr(k) Then
in
If quelle.Cells(i, 1) = "" Or quelle.Cells(i, 1) = artnr(k) Then
Und meine email: manum86@gmx.de
bis denne
Manuel
AW: VBA - Filter
10.03.2006 07:53:46
J.
Hi Manuel,
Besten Dank jetzt funktioniert es:-))
Gruß
J. B.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige