Ich hab zwar schon das ein oder andere hier aus dem Forum übernehmen können, bzw haben mir hier einige Anregungen bei den Problemen geholfen, aber jetzt ist der Ofen aus und ich stehe dumm da. :/ Deswegen musste ich mich jetzt doch nachträglich anmelden :)
Das ganze ist irgendwie sehr kompliziert, und ich weiß nicht wo ich anfangen soll.
Grundidee: In der angehängten Datei befindet sich das Problem. Im Sheet "Kabelliste" will ich manuell die Spalten A und B ausfüllen, das klappt schonmal :D Die Spalten D bis I sollen automatisch ausgefüllt werden, je nach Aderzahl mal so mal so. Das klappt auch erstmal. Im Sheet Ergebnis_1 soll nun die Druckvorlage automatisch ausgefüllt werden, aber fortlaufend, weshalb ich keine festen Bezüge nehmen kann. Ich vermute das ich ohne VBA gar nicht dahinkomme :22: Die restlichen 3 Sheets sind eine manuell geschrieben Liste wie es am Ende aussehen sollte. Ich hatte erst an etwas wie "WENN die Zelle H1 keinen Text enthält, dann mach bei I1 weiter, wenn auch I1 kein Text enthält, dann springe zu D2" aber das will alles nicht so wie ich das will.
Wenn ich schon auf VBA setzten muss, dann würde ich die Druckvorlage als Sheet hinterlegen und über einen Button dann die zu druckenden Seiten als neue Sheets erzeugen lassen wollen.
Ich hoffe ihr versteht das Problem bzw vorallem was ich so vor habe und könnt mir helfen. Wenn alle Stricke reißen, dann gehts halt wieder manuell weiter
07.01.2016, 15:31 (Dieser Beitrag wurde zuletzt bearbeitet: 07.01.2016, 15:31 von WillWissen.)
Hi,
in meinem vorigen Vorschlag habe ich nicht berücksichtigt, dass in deiner Beispieldatei noch zwei Einträge folgen. So müsste der Automatismus (nach Einbau einer Hilfsspalte C, die du einfach ausblenden kannst) klappen:
07.01.2016, 15:36 (Dieser Beitrag wurde zuletzt bearbeitet: 07.01.2016, 16:18 von WeisserWolf611.)
Hallo Günter,
bevor du weitermachst:
Erstmal vielen Dank für deine Unterstützung! Der rechte Teil der Tabelle enthielt einen kleinen Fehler in den Spalten H & I. Dort sollte eigentlich wirklich nur die Kabelnummer aus Spalte A stehen. Da kamen zwei Fehler auf einmal. Dedankenfehler.
Ich wollte den rechten Teil so fertig machen, das dort alles generiert wird, aber das war nich konsequent zu ende gemacht.
Später im Ausdruck brauche ich die Spalten D-G und A jeweils 2x. Deswegen könnten H&I eigentlich entfallen.
Die kabel haben nur entweder 2 oder 4 Adern. Nicht mehr und nicht weniger. Ich mach das gleich nochmal neu und werd in der excel-Datei etwas kommentieren, dann wird es hoffentlich übersichtlicher, was ich vorhabe. Sorry dafür!
EDIT:
So schnell nochmal neu angefertigt. Die Kabelliste ist immer unterschiedlich lang, mal mehr mal weniger Kabel mit 4 Adern. Daher muss das ganze intelligent sein, weshalb ich vermute ohne VBA geht da gar nichts :(
Ich habs in der Datei nochmal versucht zu erklären, irgendwie ist das gar nicht so einfach es für Außenstehende so zu formulieren, das es ohne Probleme verstanden werden kann
So, ich habe dir erst einmal für die Kabelliste ein etwas anderes Layout einschließlich anderer Formeln spendiert. Wegen der Intelligenten Liste einfach nur in Spalte_A und Spalte_B den Wert eingeben, der Rest wird dann automatisch ausgefüllt.
Ich muss jetzt erst einmal los Richtung Kundschaft, mal sehen, ob ich nachher noch Zeit für die restlichen Aufgaben finden ...
Beste Grüße Günther
Excel-ist-sexy.de …schau doch mal rein! Der Sicherheit meiner Daten wegen lade ich keine *.xlsm bzw. *.xlsb- Files mehr herunter! -> So geht's ohne!
Folgende(r) 1 Nutzer sagt Danke an GMG-CC für diesen Beitrag:1 Nutzer sagt Danke an GMG-CC für diesen Beitrag 28 • WeisserWolf611
mein Namensvetter hat dir ja ebenfalls eine Lösung (imho die bessere) zu deiner ersten Frage gepostet.
Nun zu deinem zweiten Teil. Da würde mich interessieren, ob die Aderbeschriftung tatsächlich an den Kabeln angebracht wird. Falls ich mit meiner Vermutung richtig liege, dann würde es doch genügen, deine Liste zweimal auszudrucken.
Gruß Günter Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen. angebl. von Georg Christoph Lichtenberg (1742-1799)
Anhand dieser Liste wird dann auf die Seiten verteilt.
Obiges aussehen und die Verteilung auf die Seiten erfolgt mit folgendem Code:
Code:
Option Explicit
Sub verteilen() Dim lngLetzte As Long Dim gesamtAnzahl As Long Dim anzahlSeiten As Long Dim i As Long Dim j As Long Dim k As Long Dim Seite As Long Dim Spalte As Long Dim Zeile As Long
Application.ScreenUpdating = False With Worksheets("Kabelliste") lngLetzte = .Cells(.Rows.Count, 1).End(xlUp).Row gesamtAnzahl = Application.WorksheetFunction.Sum(.Range("B2:B" & lngLetzte)) * 2 + (lngLetzte - 1) * 2 anzahlSeiten = Application.WorksheetFunction.RoundUp(gesamtAnzahl / 88, 0) .Range("D2:M" & lngLetzte).ClearContents For i = 2 To lngLetzte .Cells(i, 4) = .Cells(i, 1) For j = 1 To .Cells(i, 2) .Cells(i, j + 4) = .Cells(i, 1) & "/" & j Next j If .Cells(i, 2) = 4 Then .Range(.Cells(i, 9), .Cells(i, 13)).Value = .Range(.Cells(i, 4), .Cells(i, 8)).Value Else .Range(.Cells(i, 7), .Cells(i, 9)).Value = .Range(.Cells(i, 4), .Cells(i, 6)).Value End If Next i End With
j = 0 i = 0
For Seite = 1 To anzahlSeiten With Sheets("Seite_" & Seite) Spalte = 0 Zeile = 0 Do While i <= lngLetzte And k < 88 k = k + 1 j = j + 1 Spalte = Spalte + 1 .Cells(Zeile + 2, Spalte) = Sheets("Kabelliste").Cells(i + 2, j + 3).Value If Sheets("Kabelliste").Cells(i + 2, j + 4) = "" Then j = 0 i = i + 1 End If If Spalte = 11 Then Spalte = 0 Zeile = Zeile + 3 End If Loop End With k = 0 Next Seite Application.ScreenUpdating = True End Sub
Ich verstehe nur nicht, warum Du in den Seiten 11 Spalten ausfüülen lässt, wo doch die Werte in der Aderliste in 6 oder 10 Spalten versteilt stehen können. Das wäre meiner Meinung nach etwas strucktruierter.
Gruß Atilla
Folgende(r) 1 Nutzer sagt Danke an atilla für diesen Beitrag:1 Nutzer sagt Danke an atilla für diesen Beitrag 28 • WeisserWolf611
(07.01.2016, 20:39)WillWissen schrieb: mein Namensvetter hat dir ja ebenfalls eine Lösung (imho die bessere) zu deiner ersten Frage gepostet.
Na ja, das beweist doch nur eines: Je besser und vor allen Dingen vollständiger die Problembeschreibung (Lastenheft) ist, um so besser kann durch uns Helfer eine Lösung erstellt werden. Ich bin ja ziemlich spät eingestiegen ...
Beste Grüße Günther
Excel-ist-sexy.de …schau doch mal rein! Der Sicherheit meiner Daten wegen lade ich keine *.xlsm bzw. *.xlsb- Files mehr herunter! -> So geht's ohne!
Ich bin grad ganz überwältigt von soviel freundlicher Unterstützung :) Ich werde mir das ganze erstmal nach und nach ansehen und versuchen zu verstehen. Im Laufe des Tages werde ich nocheinmal Stellung nehmen :)
Zitat:atilla Ich verstehe nur nicht, warum Du in den Seiten 11 Spalten ausfüülen lässt, wo doch die Werte in der Aderliste in 6 oder 10 Spalten versteilt stehen können. Das wäre meiner Meinung nach etwas strucktruierter.
Das ist ganz einfach: Die Folie auf die das ganze gedruckt wird, hat nunmal 11 Spalten. Da ein Blatt 5,39€ kostet, will ich natürlich so wenig wie möglich verschwenden. :)
15.01.2016, 09:07 (Dieser Beitrag wurde zuletzt bearbeitet: 15.01.2016, 09:07 von WeisserWolf611.)
So. Es hat doch etwas länger gedauert, als ich ursprünglich gedacht hatte. :20:
Aber jetzt ist der Zeitpunkt gekommen, wo ich sagen kann, ich hab eure Lösungen verstanden und kann sie auch auf andere Dinge anwenden, das ist mir wichtig. Nur Copy/Paste und funktioniert ist schön, aber nicht Sinn und Zweck der Übung.
@GMG-CC und @WillWissen: Vielen Dank an euch für eure Verbesserung meiner Tabelle. In diesem Fall nutze ich sie zwar nicht, aber ich konnte damit noch die ein oder andere Tabelle verfeinern. :18:
@atilla: Auch dir vielen Dank für deine Lösung. Letztendlich habe ich viel Zeit gebraucht um dahinter zukommen was dein Code zu welchem Zeitpunkt eigentlich macht. Aber ich habs irgendwie doch hinbekommen :18:
Wie gesagt VIELEN DANK an euch für die Unterstützung. Ich bin um ein vielfaches schlauer geworden :)