2017-03-27 6 views
2

Ich suchte online nach einer Lösung, aber nichts kam. Alle Antworten waren für einzelne Zielzellen.Excel Eingabe und Ausgabe in die gleiche Zelle

Die Sache, die ich tun möchte, ist die folgende, in Bereich L1:L1000 wenn ich etwas in eine Zelle in diesem Bereich eingeben, dann wird es in der folgenden Zelle =IF(N1=0;"";INPUT) - in der gleichen Zelle hinzugefügt.

kann also sagen, dass ich gebe Hello in L1 dann der Formel =IF(N1=0;"";"Hello")

wird, wenn mir jemand helfen könnte, das wäre genial mein Verständnis von VB seit sehr, sehr einfach ist und ich lerne es gerade.

+0

Das ist nicht möglich. Eine Zelle kann ihren eigenen Inhalt nicht ändern. Sie könnten so etwas mit VBA machen - in der Tat erlauben Sie dem Benutzer, "Hallo", aber nicht "Hallo" einzugeben. Mit Arbeitsblattfunktionen können Sie eine Formel in der angrenzenden Zelle haben, wie, [M1] = IF (UND (N1 = 0, L1 = "Hallo"), "Falsche Antwort", "") – Variatus

Antwort

2

Sie können ein Ereignis verwenden, wenn die Zelle geändert wird:

Private Sub Worksheet_Change(ByVal Target As Range) 
    Application.EnableEvents = False 

    If (Not Intersect(Target, Range("L1:L1000")) Is Nothing) Then 
     'E.g.: Here comes your code for Cell L1 
      Target.Formula = "=IF(N1=0,""""," & Target.Text & ")" 
    End If 

    Application.EnableEvents = True 
End Sub 

Diese Methode setzt das formular der bearbeiteten Zelle =IF(N1=0;"";INPUT).

+1

modifizieren Sie einfach Ihr 'Ziel. Formular 'to' Target.Formula' –

+0

Außerdem haben Sie ein '=' zu viele, ändern Sie zu '" = IF (N1 = 0, "" "," & Target.Text & ")" '. Fügen Sie auch 'Application.EnableEvents = False' vor und' Application.EnableEvents = True' am Ende hinzu (um das Ereignis 'Change' nicht mehrfach einzugeben. UND ....' Bereich ("L1: L100") '- nach PO –

+0

Danke dafür, aber es gibt mir den Fehler: Ungültige Verwendung der Eigenschaft (ich hoffe, dies ist die richtige Fehlermeldung, da ich Excel in Niederländisch habe). Es hat mit Target.Formula – Dubzmeister

Verwandte Themen