Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1112to1116
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
Inhaltsverzeichnis

Formel in Zelle schreiben, wenn Nachbarzelle <> ""

Formel in Zelle schreiben, wenn Nachbarzelle <> ""
Florian
Guten Tag
Gibt es eine Möglichkeit in einem Worksheet per VBA die Anweisung zu hinterlegen, dass den Zellen einer bestimmten Spalte eine Formel übergeben wird, sobald die jeweilige Nachbarzelle den Wert "" aufweist.
Für Tipps bedanke ich mich bereits im voraus.
Gruss Florian

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Ja, das geht ... oT
29.10.2009 10:25:57
Matthias
AW: Formel in Zelle schreiben, wenn Nachbarzelle <> ""
29.10.2009 10:48:40
Tino
Hallo,
hier mal eine Version, kannst ja mal testen.
Besser wäre natürlich zu wissen wie der Wert in der Spalte 5 (im Beispiel) entsteht.
Handeingabe oder Formel (was für eine Formel)?
Kommt als Code in die entsprechende Tabelle.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Bereich As Range, rngZellen As Range

'Columns(5)= Spalte ; .Offset(1, 0) = wenn Tabelle eine Überschrift hat 
Set Bereich = Intersect(Columns(5), ActiveSheet.UsedRange.Offset(1, 0))

If Not Bereich Is Nothing Then
 With Application
  .ScreenUpdating = False
  .EnableEvents = False
         Set Bereich = Bereich.Offset(0, 1)
        
         Bereich.FormulaR1C1 = "=If(RC[-1]<>"""",True,"""")"
        
         On Error Resume Next
            Set rngZellen = Bereich.SpecialCells(xlCellTypeFormulas, 4)
            Bereich.Value = ""
         On Error GoTo 0
        
         If Not rngZellen Is Nothing Then
          rngZellen.FormulaR1C1 = "=TODAY()"
         End If
  .ScreenUpdating = True
  .EnableEvents = True
 End With
End If

End Sub
Gruß Tino
Anzeige
AW: Formel in Zelle schreiben, wenn Nachbarzelle <> ""
29.10.2009 11:22:44
Florian
Hallo Tino
Besten Dank für dein Beispiel! Das hilft mir auf jeden Fall schon mal weiter. Ich werde versuchen die Anwendung für meine Zwecke anzupassen.
Der Wert in Spalte 5 entsteht per DropDown Auswahl. Die Formel in der Spalte daneben, welche per VBA geschrieben werden soll, sieht so aus:
=WENN(E4"";INDEX(Grunddaten!$B$2:$CI$696;VERGLEICH(D4;Grunddaten!$A$2:$A$696);VERGLEICH(E4; Grunddaten!$B$1:$CI$1;0));"") 
Gruss Florian
müsste funktionieren.
29.10.2009 11:40:07
Tino
Hallo,
teste mal.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Bereich As Range, rngZellen As Range

'Columns(5)= Spalte ; .Offset(1, 0) = wenn Tabelle eine Überschrift hat 
Set Bereich = Intersect(Range(Columns(4), Columns(5)), Target)

If Not Bereich Is Nothing Then
 With Application
  .ScreenUpdating = False
  .EnableEvents = False
        
        If Bereich.Columns(1).Column = 4 Then
         Set Bereich = Bereich.Columns(1).Offset(0, 2)
        Else
         Set Bereich = Bereich.Columns(1).Offset(0, 1)
        End If
         
         Bereich.FormulaR1C1 = "=If(AND(RC[-1]<>"""",RC[-2]<>""""),True,"""")"

         On Error Resume Next
            Set rngZellen = Bereich.SpecialCells(xlCellTypeFormulas, 4)
            Bereich.Value = ""
         On Error GoTo 0

         If Not rngZellen Is Nothing Then
          rngZellen.FormulaR1C1 = "=INDEX(Grunddaten!R2C2:R696C87,MATCH(RC[-2],Grunddaten!R2C1:R696C1),MATCH(RC[-1], Grunddaten!R1C2:R1C87,0))"
         End If
  .ScreenUpdating = True
  .EnableEvents = True
 End With
End If

End Sub
Gruß Tino
Anzeige
AW: müsste funktionieren.
29.10.2009 13:16:04
Florian
Hallo Tino
Es funktioniert! Besten Dank.
Jetzt muss ich nur noch versuchen, das ganze nachzuvollziehen, damit ich auch was lerne aus der Sache...
Gruss Florian
AW: Formel in Zelle schreiben, wenn Nachbarzelle <> ""
29.10.2009 11:34:22
Florian
Hallo Tino
Besten Dank für dein Beispiel! Das hilft mir auf jeden Fall schon mal weiter. Ich werde versuchen die Anwendung für meine Zwecke anzupassen.
Der Wert in Spalte 5 entsteht per DropDown Auswahl. Die Formel in der Spalte daneben, welche per VBA geschrieben werden soll, sieht so aus:
=WENN(E4"";INDEX(Grunddaten!$B$2:$CI$696;VERGLEICH(D4;Grunddaten!$A$2:$A$696);VERGLEICH(E4; Grunddaten!$B$1:$CI$1;0));"") 
Gruss Florian
Anzeige

399 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige