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.

Werte aus unterschiedlichen Dateien zusammenführen
#11
Hallo

das kommt darauf an wo die Zellen liegen, ob sie schön nebeneinander liegen, oder weit verstreute Bereiche???
Bei Zellen die nebeneinander sind kann man eine For Next Schleife machen, und den Offset über i oder j angeben.
Bei verstreuten Zellen gibt es noch die Union Methode, damit kenne ich mich aber leider nicht aus!
Auf jeden Fall bleibt die Eizelmethode, jede Zelle einzeln kopieren, ist aber sehr Programmaufwendig.

mfg Gast 123
Antworten Top
#12
Sie liegen meist weit verstreut auf dem Formular.

Aktuell werden doch aber auch 3 Werte ausgelesen, die nicht nebeneinander liegen?
Kann man mit der Logik nicht einfach noch mehr Zellen kopieren?
Antworten Top
#13
Hallo,

eine gewisse Logik kann ich schon erkennen.

Code:
'               'Faten des Formulars auflisten, B3; B7; B11
'               .Cells(iRow, 1).Value = Wb.Worksheets(i).Range("B3")
'               .Cells(iRow, 2).Value = Wb.Worksheets(i).Range("B7")
'               .Cells(iRow, 3).Value = Wb.Worksheets(i).Range("B11")
               For lngc = 1 To 15
                  .Cells(iRow, i).Value = Wb.Worksheets(i).Range("B" & 4 + 3 * (i - 1))
               Next lngc
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#14
Meins sieht aktuell so aus:
Code:
'Daten des Formulars auflisten, C4; D4; C5; H6
               .Cells(iRow, 1).Value = Wb.Worksheets(i).Range("C4")
               .Cells(iRow, 2).Value = Wb.Worksheets(i).Range("D4")
               .Cells(iRow, 3).Value = Wb.Worksheets(i).Range("C5")
               .Cells(iRow, 4).Value = Wb.Worksheets(i).Range("H6")
               iRow = iRow + 1

Und er liest mir korrekt die Werte aus den verstreuten Zellen aus. 
Mein Problem ist nur, dass mir in der Zusammenfassung maximal 5 Saplten angezeigt werden. 

Die "Datenquelle" wird in meinem Fall jetzt schon mit einem Wert überschrieben. 

Ich möchte einfach nur noch zusätzliche Spalten in der Zusammenfassung - das kann doch nicht so komplex sein?

(10.12.2019, 14:39)Steffl schrieb: Hallo,

eine gewisse Logik kann ich schon erkennen.

Code:
'               'Faten des Formulars auflisten, B3; B7; B11
'               .Cells(iRow, 1).Value = Wb.Worksheets(i).Range("B3")
'               .Cells(iRow, 2).Value = Wb.Worksheets(i).Range("B7")
'               .Cells(iRow, 3).Value = Wb.Worksheets(i).Range("B11")
              For lngc = 1 To 15
                 .Cells(iRow, i).Value = Wb.Worksheets(i).Range("B" & 4 + 3 * (i - 1))
              Next lngc

Was soll ich damit? Ich möchte nicht B3, B7, B11 auslesen, sondern z.B. A4, C10, B15, AG10
Daraus lässt sich keine sinnvolle Logik erstellen.
Antworten Top
#15
Hallo,

ich habe mich bei meinen Vorschlag an den Code von Gast 123 aus diesem Beitrag orientiert und auf deine Antwort darau

(09.12.2019, 16:47)StrammerMax schrieb: Perfekt - hat direkt mit dem Code ohne Anpassungen funktioniert. 
Vielen, vielen Dank nochmal :)

das die Logik eine andere ist, wußte ich nicht.
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#16
Hallo

im Augenblick habe ich auch ein wenig Probleme dein Anliegen zu verstehen. Das von dir in der Antwort #14 entwickelte System laesst sich doch in der Zusammenfassung auf beliebig viele Spalten erweitern. Auch mehr als 15 ist kein Prolbem. Im Beispiel das ich erstellt habe iist ja nach Links genug Platz frei'!!  Und diese Code Angabe:  .Cells(iRow, nn)  kannst du auf beliebig viele Spalten anwenden.Ist halt nur Schreibarbeit.

Was ich jetzt nicht verstanden habe, warum in der Zusammenfassung nur fünf Spalten zur Verfügung stehen sollen???
Kannst du uns das noch mal genauer Erklaeren. Das habe ich momentan noch nicht richtig verstanden ...

mfg Gast 123

Pardon   nach Rechts natürlich, da sind alle Spalten noch frei ....
[-] Folgende(r) 1 Nutzer sagt Danke an Gast 123 für diesen Beitrag:
  • StrammerMax
Antworten Top
#17
Gast 123 du hast es richtig verstanden.

In meinem Beispiel gab es nur 3 Werte aus den Formularen die ausgelesen werden sollten. Dazu noch der Blattname und der Name der Datei aus der es kommt.

Im tatsächlichen Formular sind aber mehr als 3 Werte die ausgelesen werden sollen. Dort sind 15-20 Werte die ausgelesen werden sollen.


Wenn ich einfach nur noch mehr .Cells(iRow, nn) hinzufüge werden mir trotzdem maximal 5 Spalten ausgegeben. Die 6. Spalte bleibt leer - auch wenn ich noch 10 Zellen aus dem Formular verlinke.

Ich wollte nun einfach wissen, was ich im Code noch anpassen muss, damit mir mehr Spalten ausgegeben werden.

(10.12.2019, 16:16)Steffl schrieb: Hallo,

ich habe mich bei meinen Vorschlag an den Code von Gast 123 aus diesem Beitrag orientiert und auf deine Antwort darau


das die Logik eine andere ist, wußte ich nicht.

Das war auf das Unterdrücken der Abfrage zum aktualisieren der Blätter bezogen.
Wir sind hier schon an der nächsten Baustelle :D
Antworten Top
#18
Hat sich erledigt. Ich habe es geschafft.
Antworten Top


Gehe zu:


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