Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1416to1420
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
Formel mit Zellbezug
26.03.2015 14:05:45
Müller
Hallo zusammen....
ich möchte über VBA die Möglichkeit gewähren, Zeilen in einer bereits ausgefüllten Tabelle einfügen....das funktioniert auch soweit...
Problematisch ist, dass ich in den Zellen mehrere längere Formeln mit Zellbezug habe, z.B.

=WENN(UND($K408="ü";NICHT(ODER($H408=$H$20;$H408=$H$22)));$I408+T407;T407)

So bezieht sich die Formel immer auf eine vorherige Zelle. In dem Fall T408 auf T407....wenn ich nun über VBA eine Zeile einfüge, kopiert er die Formeln mit, aber in der alten Zeile bleibt der Zellbezug von T407 vorhanden und wird nicht automatisch angepasst!
Es gibt bestimmt eine einfache Möglichkeit die Formel so anzupassen, dass das Löschen/Einfügen von Zeilen kein Problem darstellt?!
Kann mir jmd helfen?
Ich wäre euch sehr dankbar :-)

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formel mit Zellbezug
26.03.2015 14:25:47
Daniel
Hi
ersetze den Zellbezug auf die Zelle oben drüber (T407) durch folgenden Ausdruck:
=Index(T:T;Zeile()-1)
oder durch:
=Indirekt("Z(-1)S";0)
(wobei Indirekt den Nachteil der voaltilität hätte)
Gruß Daniel

dazu nutze INDEX() ...
26.03.2015 14:28:04
der
Hallo,
... so: =INDEX(T:T;ZEILE()-1)
Gruß Werner
.. , - ...

AW: dazu nutze INDEX() ...
26.03.2015 15:09:50
Müller
Vielen Dank :-)
ich habe noch eine kleine andere Frage. Und zwar habe ich folgenden Code zum Zeilen einfügen:
Sub Zeileeinfügen()
' Aktuelle Zeile kopieren, unterhalb Zeile einfügen und Inhalte in Zellen ohne Formel löschen
Dim Zelle As Range
Dim Zeile As Range
Set Zeile = Range("C:DP")
ActiveCell.EntireRow.Copy
Cells(ActiveCell.Row + 1, 1).Insert Shift:=xlDown
For Each Zelle In Range(Cells(ActiveCell.Row + 1, 1), Cells(ActiveCell.Row + 1, 255).End( _
xlToLeft))
If Not ActiveCell.Zeile.HasFormula Then
ActiveCell.Zeile.ClearContents
End If
Next Zelle
Cells(ActiveCell.Row + 1, 1).Select
End Sub
nun möchte ich, dass für den Bereich des Inhalts löschen nur jeweils der Bereich von "C:DP" berücksichtigt wird. Im Moment wird immer die ganze aktive Zeile angesporchen, da aber teilweise Zellen verbunden sind, funktioniert das ganze nicht!
Wie kann ich dies für die aktive Zelle in dem Bereich festlegen?
Danke!!!!
Anzeige

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige