Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Kopieren von Zeilen bzw Werten in ein neues Arbeitsblatt





Frage

Hallo Leute, wie im Titel zu lesen brauche ich einen VB Code um den Inhalt von einer Zeile (der einen Speziellen Wert hat) in ein anderes Blatt kopiert. Am besten automatisch, sobald die Anzahl des Produktes größer 0 ist. Das Program ist ein Kalkulationsprogram. Sobald man ein Poster / Banner / Fahne etc berechnet hat (also eine Anzahl größer 0 eingegeben hat) soll das Produkt inkl Anzahl Preis etc auf einer Übersicht seite dagestellt werden. Grund ist, dass es verschiedene kalkulationsprodukte und damit mehrere Kalkulationsblätter gibt. [b]Aber ich habe noch ein 2. (wohl schwereres) Anliegen.[/b] und zwar gibt es auch Arbeitsblätter wo unsere EKs (also Papier, Tinte und Verschnitt) berechnet werden. Dort werden auch die Breiten der Papierrollen angegeben. Problem: es sind immer unterschiedliche Breiten und verfügbare Breiten. Also Papier A hat die breiten 91,4 cm, 107,0 cm und 137,0 cm. Papier B hat aber nur 107 cm, Papier C 137 cm und 162,0 cm. Momentan sind die in einem Feld, aber es ist möglich es in 4 Felder zuschreiben, da kein Papier mehr als 4 Breiten hat. So mein Ziel: Ich möchte dass es in der Kalkulation ein Dropdown feld gibt mit den Breiten (die aus der EK Kalk ausgelesen werden). Sobald ich die Größe auf der "Kalkulatation Projekt" eingegeben habe und eine breite bei dem Medium (im Dropdown Feld) ausgewählt habe, soll er mir den vorhandenen Verschnitt in Prozent angeben. Diesen Wert brauche ich, um ihn dann in der Kalkulation zu berücksichtigen. Diese Berechnung habe ich schon (da diese ja nicht wirklich anspruchsvoll ist). Als Sahnetüpfchen wär es natürlich, wenn das Programm mir eine vorhandene Rollenbreite vorschlagen würde (also die optimalste mit dem geringsten Verschnitt). Dafür müsste es ja logischer Weise die Breite und Länge des Bildes analysiert werden und ggf getauscht werden. Also Breite mit der Länge tauschen, damit auch wirklich optimal wird :) Also wenn das einer hinberkommt, wär echt hammer. Sorry, falls ich im Forum nix gefunden habe :( Und schon mal im Vorraus vielen, vielen dank. Euer Gb4u PS.: ggf kann ich auch ne musterdatei zur verfügung stellen. Mir wär es nur lieber wenn es via icq oder email wär *ggg* könnte sie aber ggf auch zensieren und hier posten. P.S.: Achja, hab vergessen zu erwähnen dass die Tabelle Dynamisch ist, d.h. dass neue Produkte dazukommen bzw auch gelöscht werden können. also sind die Zeilenanzahl dynamisch.

Antwort 1 von Saarbauer

hallo,

geht vom Grundsatz her schon, da wir aber den Aufbau deiner Tabelle nicht kennen, ist es etwas schwierig dir da einen richtigen Rat zu geben.

Du solltest etwas detailiertere Angaben machen oder eine Beispieldatei zur Verfügung stellen

Gruß

Helmut

Antwort 2 von Germanboy4u

http://www.netupload.de/detail.php?img=a5bc38a9d74641d6ddec0500b8d0add0.xls

Da ist die Datei.

Faktoren und EKs sind natürlich nur fiktiv *ggg*

bin so ab 19 Uhr auch wieder im icq erreichbar.

hoffendlich wirds nun klarer *gg*
Stehe logischer weise für Fragen bereit.

Danke


  • *Threadedit* 16:11:22
    Admininfo: Achte bei Links bitte auf unsere Formatierungshilfe oder nutze das SNTool


  • Antwort 3 von Saarbauer

    hallo,

    ich habe mir die Tabellen mal angesehen, aber nur mit der Tabelle kann man recht wenig anfangen, da die Verbindung zwischen den einzelnen Tabellen mir nicht ganz klar wird.

    Mir ist z.B. nicht klar was sich hinter

    Typ:	
    Menge	
    Format	geschlossen
    	offen
    Farbe	
    Papier	
    Duplex	
    Weiterverarbeitung:	
    Layout:	
    Seiten:	
    Bemerkung:	


    für Verbindungen zu den übrigen kalulationsblätter verbirgt, um nue einige Sachen zu nennen. Ist dir wahrscheinlich alles klar, aber wir kennen deine Gedankengänge nicht.

    http://www.netupload.de/detail.php?img=a5bc38a9d74641d6ddec0500b8d0...

    Ich habe die Tabelle mal mit Link hier hinterlegt, vielleicht kann jemad anders besser helfen

    Gruß

    Helmut

    Antwort 4 von Germanboy4u

    danke für deine Hilfe...

    Typ:
    Menge
    Format geschlossen
    offen
    Farbe
    Papier
    Duplex
    Weiterverarbeitung:
    Layout:
    Seiten:
    Bemerkung:

    ist alles irelevant :)

    Also was ich primär möchte ist, diese seite ausdrucken um sie zu archivieren. Ich möchte mit dieser Kalkulation Angebote schreiben.
    Daher ist es auch wichtig, dass auf dieser seite die Produkte stehen, für dich ich das angebot geschrieben habe. Sonst wär das ja witzlos, nur den Endpreis da stehen zu haben.

    Will also im Prinzit eine art von Auflistung von Produkt, Anzahl, Einzelpreis, Größe und gesammtpreis haben. Die Kosten wären auch nicht schlecht. Wie gesagt, da sollen nur die auftauchen, wo die Anzahl größer Null ist (also auch kommastellen).

    den rest auf der seite könnt ihr ignorieren. Das hat nur was mit der Kalkulation zu tun, die noch nicht ganz fertig ist. Mir gehts halt nur primär drum, dass die Produkte aus den anderen Kalkulationen da aufgelistet werden.
    Hoffendlich hilft euch meine erklärung. Bin auch meistens im icq für Nachfragen verfügbar.

    Herzlichen Dank

    Markus

    Antwort 5 von Saarbauer

    Hallo,

    was du willst ist mir klar, aber vollkommen unklar ist wie die Verbindungen zwischen den einzelnen Listen ist. Ich habe mal hier

    Breite (in cm):	150
    Höhe (in cm):	200
    Anzahl:	5
    Quadratmeter: 	15,00
    Umfang (in m):	35,00


    Die beiden Werte eingetragen, aber ausser der Ermittlung der m² und des Umfangs passiert nichts.

    Wo werden diese Werte weiter genutzt oder woher kommen die sonstigen Angben ?

    Gruß

    Helmut

    Antwort 6 von Germanboy4u

    ok machen wir es unkomplizierter :)
    mach ein leeres arbeitsblatt und kopier die zeilen rein, wenn die Anzahl > 0.

    Die anderen Daten sind ja dafür irelevant *ggg*

    Das was du ge4postet hast, hat keine auswirkung auf irgendwas. Ist nur zum manuelen berechnen da.

    Antwort 7 von Saarbauer

    hallo,

    ich gebe es auf, da du überhaupt keinen Anhaltspunkt lieferst von wo welche werte wo eingesetzt werden sollen. Alles was ich meinte würde gebraucht ist unwichtig, woher aber die Daten kommen hast du bisher mit keinem Wort erwähnt.

    Du kennst deine Tabelle und weisst auch von wo nach wo du welche Daten haben willst, wir aber müssen uns aus deinen Angaben das zusammenreimen und diese Angaben sind bis jetzt nur sehr ungenau.

    Gruß

    Helmut

    Antwort 8 von Germanboy4u

    ich verstehe echt nicht wo dein Problem ist...

    Will doch einfach, dass wenn das Feld Menge > 0 ist, die betroffene Zeile in ein leeres Arbeitsblatt kopiert wird.
    Und zwar aus allen Arbeitsblättern die "Kalkulation... " heißen. nur "Kalkulation Projekt" natürlich nicht.

    Wieso musst du dann wissen wie die anderen Felder zustande kommen? Wenn die gar nix damit zu tun haben? ODer meinst du die Inhalte der Zeilen? Die werden entweder aus den "EK.." Arbeitsblättern geholt oder berechnet. nur die blauen Felder sind eingabe werte
    ich hab mal ein Screenshot gemacht, wie ich es mir vorstelle.

    Hier das Sceen

    Das ist natürlich nur per hand kopiert :) Hoffe das hilft

    Antwort 9 von Saarbauer

    hallo,

    damit wird es etwas klarer, aber wie kommen die Mengen in diese Listen ? Trägst du die ein oder werden die automatisch eingetragen, wenn automatisch, warum ausgerechnet diese ?

    Gruß

    Helmut

    Antwort 10 von Germanboy4u

    also alle felde z.b. in "kalkulation Mutoh" die Blau sind, gebe ich manuell ein. Muss ja sagen wieviel Poster ich will :)

    der rest wird berechnet und oder aus dem passenden EK Tabellenblatt in diesem Fall aus "EK Mutoh" übernommen. Übrigens ist Spalte F ausgeblendet :)

    Antwort 11 von Saarbauer

    Hallo,

    jetzt kommen wir der Sache schon erheblich näher, ich war der Annahme, dass die Daten aus den Angaben im Kalkulationsblatt in die entsprechenden Blätter automatisch übertragen werden (was auch möglich wäre).

    Werde die sache mir heute abend mal genauer ansehen

    Gruß

    Helmut

    Antwort 12 von Germanboy4u

    sztimmt schon :) wär möglich *ggg* Kommt auch noch ;) das ist aber mehr oder weniger nur kosmetik^^ erst mal die großen baustellen beheben .

    Antwort 13 von Saarbauer

    Hallo,

    binde dieses Makro mal bei dir ein, ob es so in etwa passt.

    Sub Uebertrag()
        For i = 5 To 6
            Sheets(i).Select
            Rows("5:5").Select
            Selection.AutoFilter
            Selection.AutoFilter Field:=10, Criteria1:="<>"
            Range("A6:N100").Select
            Application.CutCopyMode = False
            Selection.Copy
            Sheets("Kalkulation Projekt").Select
            letzteZeile = Range("J65536").End(xlUp).Row + 1
            Range("H" & letzteZeile).Select
            ActiveSheet.Paste
            ActiveWindow.SmallScroll ToRight:=6
            
            Sheets(i).Select
            Selection.AutoFilter
        
        Next i
            Sheets(i).Select
            Rows("4:4").Select
            Selection.AutoFilter
            Selection.AutoFilter Field:=8, Criteria1:="<>"
            Range("A5:N100").Select
            Application.CutCopyMode = False
            Selection.Copy
            Sheets("Kalkulation Projekt").Select
            letzteZeile = Range("J65536").End(xlUp).Row + 1
            Range("H" & letzteZeile).Select
            ActiveSheet.Paste
            ActiveWindow.SmallScroll ToRight:=6
            
            Sheets(i).Select
            Selection.AutoFilter
    
    
    For i = 8 To 9
            Sheets(i).Select
            Rows("5:5").Select
            Selection.AutoFilter
            Selection.AutoFilter Field:=10, Criteria1:="<>"
            Range("A6:N100").Select
            Application.CutCopyMode = False
            Selection.Copy
            Sheets("Kalkulation Projekt").Select
            letzteZeile = Range("J65536").End(xlUp).Row + 1
            Range("H" & letzteZeile).Select
            ActiveSheet.Paste
            ActiveWindow.SmallScroll ToRight:=6
            
            Sheets(i).Select
            Selection.AutoFilter
        
        Next i
    
    
    End Sub


    Der Aufbau des Makros ist etwas umständlich weil deine Tabellen keine einheitliche Struktur haben, Tabelle A 4 weicht von den anderen ab

    Gruß

    Helmut

    Antwort 14 von Germanboy4u

    ich teste es mal :)
    Kannst froh sein, dass du die aktl Variante noch net gesehen hast^^
    die ist noch abweichender :) Wird aber noch vereinheitlicht

    Antwort 15 von Saarbauer

    Hallo,

    dann hätte ich vielleicht das Handtuch geworfen

    Gruß

    Helmut

    Antwort 16 von Germanboy4u

    so
    es geht leider nicht :(

    kommt immer:

    Laufzeitfehler 1004

    die Pastemethode des Worksheet-Objekts konnte nicht ausgeführt werden.

    Debuuger bemängelt: ActiveSheet.Paste

    Antwort 17 von Germanboy4u

    Liegt das evtl dran dass ich Excel 2007 nutz? *duck*

    Antwort 18 von Saarbauer

    Hallo,

    habe mal mein Makro und die Dateien hier hinterlegt

    http://www.netupload.de/detail.php?img=736d9a59b7ff65b21f346c8ed32f...

    versuch es mal damit, Ich arbeite mit Excel 2000 u. 2003, da funktioniert es.

    Etwas Probleme bereitet dein Dateiaufbau, eer ist da nicht überall gleich, etwas schwer in den Griff zu kriegen

    Gruß

    Helmut

    Antwort 19 von Germanboy4u

    Screen

    Hier das ergebniss bei mir.
    Irgendwie kopiert er wohl alle produkte auch die auf 0 und gibt komische sachen an :) 1,26522962 ist schon ein intersantes Produkt^^

    Antwort 20 von Saarbauer

    Hallo,

    da hier anscheinend Probleme zwischen Excel 2007 und 2003 auftreten, kann ich die bei der Beseitigung leider nicht helfen. Aber du könntest die Passagen aufzeichnen und entsprechend einfügen

    Gruß

    Helmut

    Antwort 21 von Germanboy4u

    könntest du mal mir ein screen zeigen? ;)

    Antwort 22 von Saarbauer

    Hallo,

    http://www.netupload.de/detail.php?img=bb90770853b9a8895ab62a6ad52e...

    wie gesagt, es gibt bei verschiedenen Daten Probleme, weil die Struktur der Daten nich gleich ist

    Gruß

    Helmut

    Antwort 23 von Germanboy4u

    könnte man nicht auch nur spezielle Zellen kopieren?
    die über all da sind? ;) Man müsste dann evtl für jede Kalkulation eine neue Abfrage machen, aber das wär ja wohl nicht so schlimm. ODer?

    Antwort 24 von Saarbauer

    Hallo,

    möglich ist fast alles, aber das ist Aufwand.

    Hier ist das bestimmt zu machen

    Gruß

    Helmut

    Antwort 25 von Germanboy4u

    ich passe mal die tabellenblätter mal an, so dass die struktur einfacher wird. Zum kopieren ist es doch wurscht, ob ne Zeile versteckt ist oder nicht?

    Danke
    Markus

    Antwort 26 von Saarbauer

    hallo,

    auch wäre es eine Vereinfachung wenn deine Angaben alle in der gleichen Zeile beginnen würden, dann kämme man hiermit aus

    Sub Uebertrag()
    For i = 5 To 9
    Sheets(i).Select
    Rows("5:5").Select
    Selection.AutoFilter
    Selection.AutoFilter Field:=10, Criteria1:="<>"
    Range("A6:N100").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Kalkulation Projekt").Select
    letzteZeile = Range("J65536").End(xlUp).Row + 1
    Range("H" & letzteZeile).Select
    ActiveSheet.Paste
    ActiveWindow.SmallScroll ToRight:=6
    Sheets(i).Select
    Selection.AutoFilter
    Next i
    End Sub

    in dem einen Tabellenblatt beginnst du in Zeile 4 sonst in Zeile 5. An anderer Stelle sind Leerzeilen dazwischen

    Gruß

    Helmut