Ich würde in Tabelle 3 mit =WENN($A$1<>"";A1) arbeiten, und den letzten Zellenwert auf den jeweiligen in Tab 3 ändern. Prämisse, Tab 1 bzw 2 A1 ist deine Bedingungszelle. Abfrage dann mit WENN UND für Tab 1 und 2 als Bedingung. Sollte so gehen, wenn auch wahrscheinlich nicht die eleganteste Lösung. Show Mit den Aktionen Zeile verschieben und Zeile kopieren können Sie Zeilen automatisch in ein anderes Blatt verschieben oder kopieren, wenn bestimmte Bedingungen erfüllt sind. Ein Beispiel:
Um einen Workflow zu erstellen, der Zeilen automatisch verschiebt oder kopiert, müssen sowohl Sie als auch der Inhaber des Quellblatts über Inhaber- oder Administratorrechte für das Zielblatt verfügen. Eine Aktion zum automatisierten Verschieben oder Kopieren von Zeilen einrichtenIm Quellblatt:
Um unendliche Genehmigungsschleifen zu vermeiden, lösen Zellen, die blattübergreifende Formeln oder Zellverknüpfungen enthalten, keine Automatisierung aus, die das Blatt automatisch ändert (Zeile verschieben, Zeile kopieren, Zeile sperren, Zeile entsperren oder Genehmigungsanforderung). Um dies zu umgehen, ziehen Sie die Verwendung der zeitbasierten Automatisierung oder regelmäßiger Workflows in Betracht. Dinge, die Sie über das Verschieben und das Kopieren von Zeilen zwischen Blättern wissen solltenBeachten Sie folgende Aspekte, wenn Sie Zeilen zwischen Blättern verschieben oder kopieren:
Wenn Sie Zeilen mit System- oder Baseline-Spalten verschieben oder kopieren
Wenn eine Systemspalte oder eine Baseline-Spalte einen Namen aufweist, der mit einer Spalte mit einem anderen Spaltentyp übereinstimmt (Dropdown, Text/Zahl usw.), dann wird möglicherweise eine der folgenden Fehlermeldungen ausgegeben:
Um dieses Problem zu lösen, können Sie entweder eine der Spalten umbenennen oder den Spaltentyp ändern, sodass er mit dem Quellblatt übereinstimmt. Ich habe eine Tabelle in "A" steht der Name in "P" der Kurs und in "Y" ist die Bedingung "ja" oder "nein". Das war das einzige das ich gefunden habe was auch funktionierte. Allerdings Kopiert es die komplette Zeile. Sub BedingteKopieZeilen() Dim Zeile As Long Dim ZeileMax As Long Dim n As Long With Tabelle2 ZeileMax = .UsedRange.Rows.Count n = 7 For Zeile = 3 To ZeileMax If .Cells(Zeile, 25).Value = "Kurtaxe" Then .Rows(Zeile).Copy Destination:=Tabelle10.Rows(n) n = n + 1 End If Next Zeile End With End Sub Ich bedanke mich für eure Hilfe Bernd ...komplette Frage anzeigen3 AntwortenOubyi, UserMod Light Usermod Community-Experte Microsoft Excel 19.05.2019, 21:52 Ich habe das jetzt mal nicht getestet, aber versuche es mal mit: Und nutze für Code, den Du hier einfügst bitte die Option "Quelltext". Woher ich das weiß:Beruf – IT-Administrator (i.R.) 5 Kommentare 5 Bernd843 Fragesteller 20.05.2019, 17:55Hallo Danke für die fertige Formol. Leider habe ich in spalte 16 eine Formel stehen und vermute, das es deswegen nicht geht es zeigt mir die Namen an aber den Betrag nicht, da stehr #Bezug. Jetzt weis ich nicht kann man da mit VBA den Betrag anzeigen lassen oder mit einem SVerweis?. Trotz alledem vielen Herzlichen Dank. ich habe mir schon seit einer Woche den Kopf zerbrochen und im Internet nach einer Lösung gesucht. Danke Bernd 0 4 Oubyi, UserMod Light 20.05.2019, 21:16 @Bernd843 Teste mal: SVERWEIS wäre natürlich auch eine Möglichkeit. 0 Bernd843 Fragesteller 21.05.2019, 18:40@Oubyi, UserMod Light Hallo, Dein Code hat mir Super weiter geholfen Viielen Viiielen Dank nd es funktioniert jetzt alles so wie es soll. Ich finde es Super das das es solche Leute Wie euch gibt die anderen helfen. Danke 1 Oubyi, UserMod Light 21.05.2019, 20:11 @Bernd843 🌺 Danke für die Blumen 😊 0 Bernd843 Fragesteller 22.05.2019, 20:50@Oubyi, UserMod Light immerwieder gern. 1 PWolff Community-Experte Computer 19.05.2019, 20:59 Statt Tabelle.Rows(Zeilennummer) nimmst du ein anderes Range-Objekt. Bei einer einzelnen Zelle Tabelle.Cells(Zeilennummer, Spaltennummer) bei mehreren Zellen Tabelle.Range(Tabelle.Cells(Zeilennummer, Startspaltennummer), Tabelle.Cells(Zeilennummer, Endspaltennummer)) 2 Kommentare 2 Bernd843 Fragesteller 19.05.2019, 21:18Hallo PWolf, es tut mir leid, aber ich verstehe es nicht. ich habe das "Tabelle.Cells(Zeilennummer, Spaltennummer)" jetzt versucht und bekomme die erste Zelle in jede Spalte kopiert .Cells(Zeile, 1).Copy Destination:=Tabelle10.Rows(n) 0 1 LtLTSmash 19.05.2019, 21:47 @Bernd843 in der 2. Zeile musst du die "Rows" auch gegen die Cells(n,1) tauschen. 1 LtLTSmash Topnutzer im Thema Microsoft Excel 19.05.2019, 20:53 was möchtest du denn kopieren? nur eine Zelle? Und soll die Formatierung mit kopiert werden oder nur ein Wert übertragen werden? Weitere Antworten zeigen Ähnliche FragenExcel VBA: Bild einfügen, in Variable speichern, Größe ändern, ausrichten? Ich habe jetzt unzähle Varianten durch. Ich baue ein Bestellsystem für zwei verschieden Shops. Heißt, bei jedem eingetragenen Artikel in die Bestellliste soll am Ende der Listen-Zeile das jeweilige Logo eingefügt werden, kleiner als das Originalbild, kleiner als die Zeile selbst, für die Übersichtlichkeit in der Liste, mittig ausgerichtet. Ich habe von Pictures.Insert zu Shapes.AddPicture gewechselt, da ich gelesen habe, dass dies die korrektere Form sei. Jetzt bekomme ich eine Fehlermeldung bei der Festlegung eines Rahmens. Danke sehr!!!!!! ...zur Frage Doppelte Werte suchen mit zusätzliche Bedingung dann eins löschen? Hallo zusammen, ich hoffe dass jemand helfen kann weil ich weiß nicht weiter, danke. Ich habe folgenden Code zum Suchen der Doppeltwerten in Spalte B und dann Löschung der Zeile: Sub DoppelteZeilenLoeschen() Dim letzteZeile As Long Dim Zeile As Long letzteZeile = Range("B" & Rows.Count).End(xlUp).Row For Zeile = letzteZeile To 1 Step -1 If WorksheetFunction.CountIf(Range("B1:B" & Zeile), Range("B" & Zeile)) > 1 Then Rows(Zeile).EntireRow.Delete End If Next End Sub Jetzt meine Frage: Was ich kann ich ergänzen, dass eine zweite Bedingung hier abgefragt wird vor der Löschung, also wenn Spalte "B" doppelwert hat dann Spalte "J" vergleichen, wenn Ergebnis der Spalte "J" gleich ist dann Zeile löschen, ansonsten weiter zählen. Ein Bsp. Spalte B Spalte J Hier sollten nur Zeile2 gelöscht werden. Vielen Dank im Voraus ...zur Frage Maximale Pfadlänge in Windows und VBA umgehen? Hallo, ich benutze folgenden Code in Excel VBA um mir Dateipfad und Dateiname eines Ordners und allen darin enthaltenen Unterordnern aufzulisten. Ich habe jetzt das Problem, dass dieser Code alle Dateien überspringt, deren Pfadlänge über 255 Zeichen lang ist. Einige Dateien überschreiten nämlich die 255 Zeichen mit dem angehängten Dateinamen. ...zur Frage An Bedingungen gebundenes ausblenden von Zeilen? Ich habe ein Problem, welches ich alleine nicht schaffe zu lösen. Ich habe eine Exceltabelle mit einem Button "Closed ausblenden". Code ist bis jetzt so: Nun soll es erweitert werden: In diesem Beispiel also das gelb markierte mit ausblenden. Kann mir jemand helfen? ...zur Frage VBA CODE Zellen nach bestimmten Textinhalt suchen und Zeile Färben? Hallo, kann mir bitte jemanden mit dem Code behilflich sein? Dieser Code sucht die Zellen in Spalte"A" nach bestimmten Textinhalt ab und bei Treffer löscht er die zughörige gesamte Zeile. Meine Frage: kann man diesen Code so ändern, dass anstatt die gefundene Zeile zu löschen nur mit einer Farbe z.B. Orange (44) färbt? Vielen Dank im Voraus. ...zur Frage Hallo, ich möchte in einer Excel Datei per vba code bis zur ersten leeren zeile gehen, wie tue ich das? ich möchte zur ersten leeren Zeile gehen und dann den rest markieren und löschen, also den kompletten Bereich ab da? BSp. A10 ist leer, dann möchte ich ab A10:z10 und abwärts alles markieren und löschen Wie?? Sub FIND_EMPTY_CELL() If Cells(z, 1) = "" Then ...zur Frage Name + User? Hallo, was müsste ich hier anpassen? Ich komme mit der Fehler Meldung nicht zurecht. End Sub ...zur Frage Excel - Button zur zum Einfügen einer neuen Zeile unterhalb eines Tabellenbereichs? Hallo zusammen, die letzten 4h habe ich - leider erfolglos - versucht, eine Lösung für mein Problem zu finden (Google hasst mich jetzt ;-) ): ich möchte am Ende einer Tabelle eine neue Zeile einfügen, inkl. der in den vorherigen Zeilen enthaltenen Formatierungen und Formeln. Der präferierte Weg ist über einen Button, den ich in meinen Versuchen via ActiveX-CommandButton eingefügt hatte. Als Code war hinterlegt: Private Sub CommandButton1_Click() Grds. hat das schon funktioniert, allerdings hat die Funktion leider immer die Zeile 1 repliziert, es soll aber unterhalb der Zeile 12 die neue (Eingabe)Zeile eingefügt werden. Ich wäre begeistert, wenn mir einer von euch helfen kann. Im Voraus lieben Dank, ...zur Frage VBA nur die ersten Unterordner anzeigen lassen? Hallo, wie muss ich diesen Code hier umschreiben damit NICHT die Unterordner der Unterordner angezeigt werden, sondern nur die der 'ersten Stufe'. Also angenommen auf dem Laufwerk C:\ sind die Ordner A, B, C, D, E und diese Unterordner von C:\ enthalten jeweils auch Unterordner Namens Dann schreibt der bisherige Code A - aa und so weiter. Public Sub OrdnerListen_Start() Dim fso As Object strPfad = "C:\" With ActiveSheet .UsedRange.ClearContents Set fso = CreateObject("Scripting.FileSystemObject") Call OrdnerListen(fso, strPfad, .Range("A1")) ' Pfad anpassen! Set fso = Nothing End With End Sub Private Sub OrdnerListen(fso As Object, Ordnerangabe As String, rng As Range, Optional Zeile As Long, Optional Spalte As Long) On Error Resume Next Dim o, uo Set o = fso.GetFolder(Ordnerangabe) rng.Offset(Zeile, Spalte).Value = o.Name For Each o In o.SubFolders Call OrdnerListen(fso, o.Path, rng, Zeile, Spalte) Next Set o = Nothing End Sub ...zur Frage Excel VBA - Darstellung waagerecht-vertikal beim kopieren ändern? Hallo, ich habe in einer fertigen Tabelle etwas geändert, um die Eingabe der Daten zu erleichtern. Statt die Daten in der Spalte zu erfassen, werden die Daten jetzt in einer Zeile eingegeben. Also statt vorher in B10, B11, B12... jetzt in B10, C10, D10... Die Daten werden mit Hilfe eine Makros in eine andere Tabelle transferiert und waagerecht eingefügt. Da ich aber die Eingabeart verändert habe, werden die Daten jetzt untereinander in die Tabelle eingefügt. Ich weiß, dass das mit "Application.Transpose" zu tun hat. Nun weiss ich aber nicht wie ich die Zeile umbenennen muss, damit die waagerechte Darstellung übernommen wird. |