Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
852to856
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
852to856
852to856
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Leerzeilen und Formel einfügen, wenn

Leerzeilen und Formel einfügen, wenn
10.03.2007 16:53:00
Lisa

Hallo Ihr Lieben,
ich habe mal wieder ein kleines Problemchen und hoffe doch, dass ihr mir armen kleinen Ding helfen könnt, oda!?
Ich möchte mit VBA unter die Zeilen zwei neue Leerzeilen einfügen, bei denen in Spalte E ein beliebiger Wert steht. Es soll also geprüft werden, ob dort ein Zellinhalt vorhanden ist und bei positiver Prüfung zwei neue Leerzeilen darunter eingefügt werden.
Desweiteren würde ich gerne in die neuen Leerzeile in der Spalte x eine Sverweis-Formel integrieren. Diese soll als Suchkriterium die gesuchte gefüllt zelle oberhalb beinhalten und in einem anderen Tabellenblatt suchen.
Es wäre suuupa lieb, wenn ihr mir helfen könntet!!!
Lisa

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Leerzeilen und Formel einfügen, wenn
10.03.2007 17:42:00
Daniel
Hallo
probiers mal damit
den Text für die S-Verweisformel musst du noch anpassen
Sub Makro1()
Dim i As Long
For i = Cells(65536, 5).End(xlUp).Row To 1 Step -1
If Cells(i, 5).Value <> "" Then
Cells(i + 1, 1).Resize(2).EntireRow.Insert
Cells(i + 1, 24).FormulaLocal = "=sverweis(" & Cells(i, 5).Address(0, 0) & ";Tabelle2!A1:G10;5;0)"
Cells(i + 2, 24).FormulaLocal = "=sverweis(" & Cells(i, 5).Address(0, 0) & ";Tabelle2!A1:G10;6;0)"
End If
Next
End Sub

Gruß Daniel
AW: Leerzeilen und Formel einfügen, wenn
10.03.2007 18:58:00
Lisa
Hallo Daniel,
schon mal vielen lieben Dank - funzt soweit ganz prima - bis auf den sverweis!
was muss ich wie anpassen?
liebe grüße
lisa
Anzeige
AW: Leerzeilen und Formel einfügen, wenn
10.03.2007 19:08:00
Daniel
Hallo
nja du mußt im Quellcode halt in den 2 Zeilen, wo der SVerweis eingfügt wird, den Text so anpassen, daß die danach die Formel stimmt, also den Bereich nach Adresse(0,0) &";
leider kann ich dir da auch nicht helfen, weil ich ja nicht weiß, auf welchen Tabellenbereich und welche Spalte sich der SVerweis beziehen soll.
Gruß, Daniel
AW: Leerzeilen und Formel einfügen, wenn
10.03.2007 19:39:30
Lisa
Hallo Daniel,
wie würde denn der Text lauten, wenn die Suchmatrix in Tabelle 2 im Bereich a1:b10 ist und die 2. Spalte rechts ausgelesen werden soll. Irgendwie funzt das bei mir nicht!
Gruß,
Lisa
AW: Leerzeilen und Formel einfügen, wenn
10.03.2007 20:26:00
Daniel
Hallo
so musst du das abändern.
bei mir gehts einfwandfrei.
Sub Makro1()
Dim i As Long
For i = Cells(65536, 5).End(xlUp).Row To 1 Step -1
If Cells(i, 5).Value <> "" Then
Cells(i + 1, 1).Resize(2).EntireRow.Insert
Cells(i + 1, 24).FormulaLocal = "=sverweis(" & Cells(i, 5).Address(0, 0) & ";Tabelle2!A1:B10;2;0)"
Cells(i + 2, 24).FormulaLocal = "=sverweis(" & Cells(i, 5).Address(0, 0) & ";Tabelle2!A1:B10;2;0)"
End If
Next
End Sub

Was für probleme gibt es denn genau und kannst du u.U mal ne Datei hochladen?
Gruß, Daniel
Anzeige
AW: Leerzeilen und Formel einfügen, wenn
10.03.2007 20:45:27
Lisa
WOW ... das funzt! aber es geht weiter.... er soll jetzt nachdem er die 2 zeilen hinzugefügt und die sverweise unter der gefüllten zelle gemacht hat weiter nach rechts gehen, solange diese zellen gefüllt sind und jeweils darunter auch noch sverweise aufnehmen.
desweiteren wäre es schön, wenn er gleich "feste werte" übernimmt. sverweis-formeln werden nicht benötigt!!!
wenn du mir hierbei noch weiterhelfen könntest, lieber daniel, werde ich dich auch nicht mehr belästigen - versprochen!
lisa
AW: Leerzeilen und Formel einfügen, wenn
10.03.2007 21:21:13
Daniel
Hallo
kommt da tatsächlich in jede Zelle der gleiche Wert rein?
wenn ja, dann mit diesem Code:
Sub Makro1()
Dim i As Long
For i = Cells(65536, 5).End(xlUp).Row To 1 Step -1
If Cells(i, 5).Value <> "" Then
Cells(i + 1, 1).Resize(2).EntireRow.Insert
Cells(i + 1, 24).Resize(2, Cells(i, 255).End(xlToLeft).Column - 23).Value = _
WorksheetFunction.VLookup(Cells(i, 5).Value, Sheets("Tabelle2").Range("A1:B10"), 2, _
0)
End If
Next
End Sub

außerdem würde mich jetzt doch langsam interessieren, was das für eine Anwendung ist.
Gruß, Daniel
Anzeige
AW: Leerzeilen und Formel einfügen, wenn
10.03.2007 22:02:35
Lisa
hey daniel.
hier ein kleines beispiel aus der datei (orginal viel viel größer):
https://www.herber.de/bbs/user/41022.xls
wie gesagt soll unter g1 zwei leerzeilen eigenfügt werden (das funktioniert auch) danach soll in zelle g2 bzw. g3 ein sverweis, der sich auf zelle g1 bezieht und die suchmatrix in blatt "suchmatrix" hat. dann soll jeweils in der zelle h2 bzw. h3 auch der sverweis rein, die sich auf zelle h1 beziehen soll. das ganze weiter nach rechts, solange jeweils darüber ein wert erscheint.
dann wieder neue leerzeilen unter andere in spalte "g" gefüllte zellen und sverweise .....
die sverweise-formels sollten möglichst nach prüfung durch feste werte ersetzt werden, da diese in der tabelle riesige ressourcen beanspruchen.
kannst du jetzt besser nachvollziehen was ich benötige?
vielen dank im voraus!
lisa
Anzeige
AW: Leerzeilen und Formel einfügen, wenn
10.03.2007 22:56:09
Daniel
Hallo
solangsam wird klarer.
in deinem ersten Posting sollte der SVerweis noch in die Spalte X rein, und da ist er jetzt auch drin.
nimm mal das hier:
Sub Makro1()
Dim i As Long
For i = Cells(65536, 5).End(xlUp).Row To 1 Step -1
If Cells(i, 5).Value <> "" Then
Cells(i + 1, 1).Resize(2).EntireRow.Insert
Cells(i + 1, 5).FormulaLocal = "=sverweis(" & Cells(i, 5).Address(0, 0) & _
";Tabelle2!$A$1:$c$10;2;0)"
Cells(i + 2, 5).FormulaLocal = "=Sverweis(" & Cells(i, 5).Address(0, 0) & _
";Tabelle2!$A$1:$c$10;3;0)"
Cells(i + 1, 5).Resize(2, 1).Copy Destination:=Cells(i + 1, 5).Resize(2, Cells(i, _
255).End(xlToLeft).Column - _
4)
Rows(i + 1).Formula = Rows(i + 1).Value
Rows(i + 2).Formula = Rows(i + 2).Value
End If
Next
End Sub

Gruß, Daniel
Anzeige
AW: Leerzeilen und Formel einfügen, wenn
11.03.2007 10:21:00
Lisa
Guten Morgen Daniel,
hier mein vorläufiger Code:
Sub Makro1()
Dim i As Long
For i = Cells(65536, 37).End(xlUp).Row To 1 Step -1
If Cells(i, 37).Value <> "" Then
Cells(i + 1, 1).Resize(2).EntireRow.Insert
Cells(i + 1, 37).FormulaLocal = "=sverweis(" & Cells(i, 37).Address(0, 0) & _
";VM205!$E$2:$u$5081;4;0)" _
Cells(i + 2, 37).FormulaLocal = "=sverweis(" & Cells(i, 37).Address(0, 0) & _
";VM205!$E$2:$u$5081;15;0)" _
Cells(i + 1, 37).Resize(2, 1).Copy Destination:=Cells(i + 1, 37).Resize(2, Cells(i, _
255).End(xlToLeft).Column - 4)
Rows(i + 1).Formula = Rows(i + 1).Value
Rows(i + 2).Formula = Rows(i + 2).Value
End If
Next
End Sub

funktioniert prima bis auf folgendes:
die Formel für den Sverweis wird unabhängig ob die darüber liegende zelle einen wert enthält nach rechts kopiert - hier sollte eigentlich eine prüfung rein, da das unterschiedlich ist und er mir sonst immer #nv rauswirft.
und dann ist mir noch was aufgefallen. vor die zelle des ersten sverweises hätte ich gerne einen text eingefügt - geht das daniel?
lisa
Anzeige
AW: Leerzeilen und Formel einfügen, wenn
11.03.2007 11:26:50
Daniel
Hallo
zum ersten Problem:
die Formel mit dem Sverweis wie folgt ergänzen:

Cells(i + 1, 37).FormulaLocal = "=wenn(" & Cells(i, 37).Address(0, 0) & " ="""";"""";sverweis(" _
& Cells(i, 37).Address(0, 0) & ";VM205!$E$2:$u$5081;4;0))" _

zum 2. Problem
irgendwo in den IF-Block noch folgendes Einfügen:
cells(i+1,36).value = "Dein Text"
Gruß, Daniel
AW: Leerzeilen und Formel einfügen, wenn
11.03.2007 13:07:13
Lisa
Hallo Daniel,
ich bin begeistert!!!! Das hast Du toll gemacht - VIELEN DANK!
LISA
AW: Leerzeilen und Formel einfügen, wenn
11.03.2007 11:12:49
Lisa
Vielen Dank! Es funtkioniert (fast) alles! Hier das vorläufige Makro:
Sub Makro1()
Dim i As Long
For i = Cells(65536, 37).End(xlUp).Row To 1 Step -1
If Cells(i, 37).Value <> "" Then
Cells(i + 1, 1).Resize(2).EntireRow.Insert
Cells(i + 1, 37).FormulaLocal = "=sverweis(" & Cells(i, 37).Address(0, 0) & _
";VM205!$E$2:$u$5081;4;0)" _
Cells(i + 2, 37).FormulaLocal = "=sverweis(" & Cells(i, 37).Address(0, 0) & _
";VM205!$E$2:$u$5081;15;0)" _
Cells(i + 1, 37).Resize(2, 1).Copy Destination:=Cells(i + 1, 37).Resize(2, Cells(i, _
255).End(xlToLeft).Column - 4)
Rows(i + 1).Formula = Rows(i + 1).Value
Rows(i + 2).Formula = Rows(i + 2).Value
End If
Next
End Sub

Problem ist noch, dass er die sverweise unabhängig davon einfügt, ob die zelle oberhalb gefüllt ist. des weiteren würde ich vor den zellen der ersten beiden sverweise gerne einen text (eine bezeichnung für den inhalt) einfügen. fummel schon die ganze zeit rum, aber keine chance: bekomme es einfach nicht gebacken!
liebe grüße
lisa
Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige