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.

Excel Tool zur Auswertung
#1
Hallo zusammmen,
da es schon einige Zeit zurückliegt eröffne ich einen neuen Threat.
der alte Threat dazu, hier der Verweis:
https://www.clever-excel-forum.de/thread...age-4.html

ich habe die Dateien im Anhang  und den Code hier beigefügt.

Code:
Sub Auswertung_Absolutwerte()
Dim Pfad As String, i As Long, Z As Long, S As Long
Dim Zelle As Range, Bereich As Range

Application.ScreenUpdating = False
With Sheets("Tabelle1")
  For i = 2 To .Cells(.Rows.Count, "A").End(xlUp).Row
      If .Cells(i, "A") > 0 Then
          Pfad = ThisWorkbook.Worksheets("Tabelle1").Range("B" & i).Value
           
           With Workbooks.Open(Filename:=Pfad)
                .ActiveSheet.Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
                .Close savechanges:=False 'oder true, wenn Änderungen gespeichert werden sollen
           End With
           With ActiveSheet
               .Move After:=Sheets(Sheets.Count)
               Z = .Cells(.Rows.Count, "A").End(xlUp).Row
               S = .Cells(3, .Columns.Count).End(xlToLeft).Column
               Sheets("Tabelle1").Range("A" & i).Copy
               .Range(.Cells(3, "B"), .Cells(5, 5)).PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply  ' .Cells(Z, S) (8762,14)
               .Range("B3:E10").Copy 'Bereich für Ergebnissblatt ( Bereich eines Tabellenblattes welcher kopiert werden soll)
               Sheets("Ergebnisse").Range("B2").PasteSpecial Paste:=xlPasteAll, Operation:=xlAdd 'Einfügen der Additionen in das Ergebnisblatt ( Stelle B5)
           End With
           With ActiveSheet
           For j = 2 To 5 ' Spalten bestimmen von zwei bis 30 für MIN,MAX,SUMME
                  .Cells(2, j) = "W"
                  Next j
                  End With
           
        Application.CutCopyMode = False
       End If
  Next i
End With

Folgendes neues Problem:
Ich möchte die Auswertung stückweit umgestalten:
Der alte Code hat in der Exceldatei Spalte A überprüft ob die Fläche > 0 ist und dann die .Txt-Dateien eingelesen mit der hinterlegten Fläche multipliziert und im Tabellenblatt Ergebnisse alle miteinander wunderbar addiert.

Meine neue Auswertung:

Problem 1:

Bedingung 1:

Wenn A > 0 dann erstelle ein Tabellenblatt mit dem Namen aus Spalte " Bereich" aus der gleichen Zeile

Da mehrere Zeilen den gleichen Bereich haben soll am Ende aber nur ein Tabellenblatt mit dem jeweiligen Namen vorhanden sein.

Bedingung 2:

Wenn A > 0,  dann sollen alle Einträge der hinterlegten Datei ( Pfad) mit dieser Zahl multipliziert werden. ( wie alter Code)

Bedingung 3:

Wenn A>0 dann sollen die hinterlegten Dateien mit der Zahl multipliziert werden wie im alten Code , nun aber soll die Addition geändert werden. Im alten Code wurden alle Dateien im Tabellenblatt "Ergebnisse" addiert.

In diesem Fall soll nach der Multiplikation , die Addition in Bereiche aufgeteilt werden und in den neu erzeugten Tabellenblätter der jeweiligen Bereiche niedergeschrieben werden.

Jede Datei besitzt einen Bereich. Jede Datei die den gleichen Bereich besitzt soll miteinander addiert werden und in das Tabellenblatt mit dem "Bereichsnamen" kopiert werden.



Beispiel Tabellenblatt "Parkett":
da 45m² > 0 sollen alle Einträge der hinterlegten Datei ( Pfad) mit dieser Zahl multipliziert werden. 
da 20m² > 0 sollen alle Einträge der hinterlegten Datei ( Pfad) mit dieser Zahl multipliziert werden.

Anschließend sollen die zwei Dateien miteinander addiert werden und im Tabellenblatt "Parkett" dargestellt werden.



Problem 2:

Ich möchte das gleiche für die Nutzung. 
Es gelten die gleichen Bedingungen.
Betrachtet werden wieder nur die Dateien die eine Fläche > 0 haben.
Die hinterlegten Dateien sollen mit der Fläche multipliziert werden. 
Diesmal ist es nicht der Bereich sondern die Nutzung.
Es sollen Tabellenblätter mit den Nutzungen ON/OFF erstellt werden wenn A>0 ist.
Diesmal sollen aber nur  Spalte 1 , Spalte 3 und Spalte 4  der jeweiligen Datei betrachtet und addiert werden und in dem jeweiligen Tabellenblatt ON/OFF niedergeschrieben werden.



Ich hoffe ihr könnt mir helfen und habe es nicht zu kompliziert geschriebenSmile
Danke im voraus!


Angehängte Dateien
.txt   Dachboden.txt (Größe: 994 Bytes / Downloads: 9)
.xlsm   TESTDATEI.xlsm (Größe: 19,81 KB / Downloads: 4)
.txt   Gaube.txt (Größe: 994 Bytes / Downloads: 2)
.txt   Kinderzimmer.txt (Größe: 994 Bytes / Downloads: 2)
.txt   Klo.txt (Größe: 994 Bytes / Downloads: 5)
.txt   Schlafzimmer.txt (Größe: 994 Bytes / Downloads: 9)
.txt   WC.txt (Größe: 994 Bytes / Downloads: 3)
Antworten Top
#2
Hallo zusammen,
Ich hoffe es hatten alle einen guten Rutsch in neue JahrSmile
Hat jemand eine Idee bzw kann mir bei diesem Problem weiterhelfen.

Viele Grüße
Antworten Top


Gehe zu:


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