Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Aufmaß aus Gesamtaufmaßtabelle
#1
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
Antworten Top
#2
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
Antworten Top
#3
Danke für den Hinweis.
Johannes war immer noch ich Wink
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?
Antworten Top
#4
Nö! ;)
Unter Datei, Informationen, Auf Probleme überprüfen
kannst Du gewisse Sachen entfernen.

   

Klarnamen können bequem anonymisiert werden:
Name1
Name2
herunterziehen.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#5
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


Angehängte Dateien
.xlsx   Beispiel Aufmaß anonym.xlsx (Größe: 502,62 KB / Downloads: 15)
Antworten Top
#6
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
Antworten Top
#7
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
Antworten Top
#8
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. Undecided
Antworten Top
#9
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ß'
 ABCDEFGHIJKLMNO
1 Aufmaß:A3            
2Lfd.-Nr.Raum-Nr. / AchsenMediumPositions-Nr. LV MengeEinheitDNBezeichnungAusführungschweiss / press /---Länge

mm
31Raum 232Brandschutz11138111386St100MuffeAlublech, PURschweiss400
42Raum 232Brandschutz111431114314St32MuffeAlublech, PURschweiss400
53Raum 232Brandschutz111441114424St25MuffeAlublech, PURschweiss400
6               
7               

ZelleFormel
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
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
[-] Folgende(r) 1 Nutzer sagt Danke an BoskoBiati für diesen Beitrag:
  • Ameisenbändiger
Antworten Top
#10
Hi BoskoBiati,
also ich glaube das geht in die richtige Richtung, aber bisher schmeißt der mit der Formel nur leere Zellen aus.
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste