Hallo Zusammen,
ich bin mal wieder an meine Grenzen gestoßen und hoffe hier den ein oder anderen Hinweis zu bekommen, wie ich mein Problem lösen kann.
Folgendes ist mein Problem:
ich habe auf einem Blatt "Endlosaufmaß" Einzelpositionen aufgelistet die einem Aufmaßblatt zugeordnet sind. Jede Zeile ist also eine Aufmaßblattnummer der eine Einzelposition aufgelistet ist.
Die Aufmaßblatt-Einzelpositionen können in dem Endolosaufmaß jedoch Durcheinander sein und sind nicht chronologisch sein.
Mein Ziel ist jedoch in einem neuen Blatt alle Einzelposition Pro Aufmaßblatt zusammenzufassen und zwar so, dass sie untereinander stehen ohne lücke.
Also ich möchte ein Aufmaß nach Aufmaßblattnummer sortiert aus einer Gesamtliste von Einzelpositionen erstellen.
Im Beispiel soll sich Blatt 02. Aufmaß durch Eingabe der Aufmaßnummer (in diesem Fall "A3") die Daten aus dem Blatt 01. Endlosaufmaß suchen und untereinander schreiben.
Ich hoffe Ihr könnt mir Hinweise geben, mit welcher Formel ich sowas erstellen kann...
Vielen Dank
Johannes
Hallo,
nett, die Datei enthält alle Angaben: Name, Firma und geändert durch einen IT-Dienstleister.
Zuwelcher Gruppe gehört den "Johnnes"? Zum IT-Dienstleister?
mfg
Danke für den Hinweis.
Johannes war immer noch ich
Und ich bin nicht der IT-Dienstleister, sonst würde ich wahrscheinlich nicht hier fragen :100:
Ich werde nochmal eine neue Datei einstellen
So ich habe jetzt Bilder von der Datei gemacht (siehe Anhang). Ich hoffe das ist nun anonymisiert genug.
Ist die Aufgabenstellung denn verständlich?
Nö! ;)
Unter Datei, Informationen, Auf Probleme überprüfen
kannst Du gewisse Sachen entfernen.
[
attachment=12475]
Klarnamen können bequem anonymisiert werden:
Name1
Name2
herunterziehen.
Gruß Ralf
Hallo,
wenn ich etwas für den Datenschutz sensibilisiert habe, mag das ok sein, jedenfalls wollte ich die Frage nicht "abwürgen".
Nach einer ersten Durchsicht war mir das Thema zu komplex. Jedenfalls ist es ohne Datei nicht zu bearbeiten.
Hier die anonymisierte Datei:
mfg
Hallo
wenn ich die Aufgabe richtig verstanden habe gibt es eine einfache Makro Lösung. Bitte mal testen ob es so klappt.
Der Kopierbereich ist in der Const Anweisung mit "A1:O1" festgelegt. Wenn es mehr Spalten sind bitte selbst aendern.
(Gibt es in den Tabellen "A1-x" eine Überschriftszeile dann den zu kopierenden Bereich mit "A2:O2" festlegen.)
Der Befehl "xlPasteAll" kopiert alles, mit Formate. Sollen nur die Werte kopiert werden "xlPasteValues" nehmen.
mfg Gast 123
Code:
Option Explicit '27.7.2017 Gast 123 Clever Forum
Const Copyber = "A1:O1" 'Kopier Bereich angeben
'Modul zum Aufmass Tabellen auflisten
Sub Aufmasse_auflisten()
Dim j, k, z As Integer, lz As Long
Dim xTb As Worksheet, Txt As String
With Worksheets("Endlosaufmaß")
.Cells.Delete 'Endlosaufmaß löschen
'Schleife zum kopieren aller Blaetter "A1 - A.."
For k = 1 To Worksheets.Count
Txt = Worksheets(k).Name
Set xTb = Worksheets(k)
'Blattnamen prüfen auf "A" und Namen Laenge
If Left(Txt, 1) = "A" And Len(Txt) < 5 Then
'LastZell im aktiven Blatt ermitteln
lz = xTb.Cells(Rows.Count, 1).End(xlUp).Row
'Schleife zum auflisten aller Masse
For j = 0 To lz - 1
z = z + 1 'naechste Zeile
'Alle Zeilen in Endlosaufmass kopieren
xTb.Range(Copyber).Offset(j).Copy
.Range("B" & z).PasteSpecial xlPasteAll
'Blattname in Spalte A angeben
.Range("A" & z) = xTb.Name
Next j
End If
Next k
Application.CutCopyMode = False
End With
End Sub
Nachtrag
ich sehe gerade die Beispielmappe von Fennek, schöne Arbeit.
Dann ist der Befehl falsch, er löscht die Farben und die Überschrift: .Cells.Delete 'Endlosaufmaß löschen
Bitte ersetzen durch: .UsedRange.Offset(1, 0).ClearContents
mfg Gast 123
okay, ich werde das mal so probieren, ich bin davon ausgegangen, dass es eine Möglichkeit gibt mit Funktionen zu arbeiten.
Ich denke aber, dass mir für Makros das gewisse Grundwissen fehlt.
Also das Suchkriterium ist "C3" aus 02. Aufmaß und es sollen aus 01. Endlosaufmaß alle Zeilen, die diesem Wert entsprechen in 02. Aufmaß´untereinander aufgelistet werden.
Das 02. Aufmaßblatt möchte ich dann später gerne kopieren um weitere Aufmaße damit aus der gleichen Endlosliste zu generieren.
Hi,
einfache Formel in 02. Aufmaß, Zelle B3, nach rechts und unten ziehen:
Code:
=WENNFEHLER(INDEX('01. Endlosaufmaß'!C:C;AGGREGAT(15;6;ZEILE('01. Endlosaufmaß'!$A$3:$A$1000)/('01. Endlosaufmaß'!$B$3:$B$1000=$C$1);ZEILE(A1)));"")
Arbeitsblatt mit dem Namen '02. Aufmaß' |
| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O |
1 | | Aufmaß: | A3 | | | | | | | | | | | | |
2 | Lfd.-Nr. | Raum-Nr. / Achsen | Medium | Positions-Nr. LV | | Menge | Einheit | DN | Bezeichnung | Ausführung | schweiss / press /--- | Länge
mm |
3 | 1 | Raum 232 | Brandschutz | 1 | 1 | 1 | 38 | 11138 | 6 | St | 100 | Muffe | Alublech, PUR | schweiss | 400 |
4 | 2 | Raum 232 | Brandschutz | 1 | 1 | 1 | 43 | 11143 | 14 | St | 32 | Muffe | Alublech, PUR | schweiss | 400 |
5 | 3 | Raum 232 | Brandschutz | 1 | 1 | 1 | 44 | 11144 | 24 | St | 25 | Muffe | Alublech, PUR | schweiss | 400 |
6 | | | | | | | | | | | | | | | |
7 | | | | | | | | | | | | | | | |
Zelle | Formel |
B3 | =WENNFEHLER(INDEX('01. Endlosaufmaß'!C:C;AGGREGAT(15;6;ZEILE('01. Endlosaufmaß'!$A$3:$A$1000)/('01. Endlosaufmaß'!$B$3:$B$1000=$C$1);ZEILE(A1)));"") |
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg |
Hi BoskoBiati,
also ich glaube das geht in die richtige Richtung, aber bisher schmeißt der mit der Formel nur leere Zellen aus.