Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Zelleninhalte kopieren



Excel-Version: 9.0 (Office 2000)

Betrifft: Zelleninhalte kopieren
von: Helmut
Geschrieben am: 06.06.2002 - 11:27:43

Hallo,

ich möchte in einer Zelle (Bsp. A1) einen Wert eingeben, der dann innherlab des Sheets(Bsp. A10) an eine andere Stelle kopiert werden soll. Nun wird in A1 wieder ein Wert eingegeben. Dieser soll nun wieder an A10 weggeschrieben werden, allerdings addiert zum ersten Wert. Zu guter letzt soll A10 jeweils in ein anderes Arbeitsplatt kopiert werden. Leider kenne ich mich mit Excel Programmierung nicht allzugut aus. Hat jemand eine Idee wie ich das umsetzen kann?


  

Re: Zelleninhalte kopieren
von: Klaus Schubert
Geschrieben am: 06.06.2002 - 21:43:47

Hallo Helmut,

mit Alt + F11 in die VBA-Umgebung wechseln, links im Projektfenster die Tabelle doppelklicken, in der du die Eingaben machen willst (z.B. Tabelle1(Tabelle1) ) und dann rechts im Codefenster folgenden Code:


Private Sub Worksheet_Change(ByVal Target As Range)
Dim Eingabezelle As String, Ausgabezelle As String
Dim AnderesArbeitsblatt As String, AndereZelle As String

Eingabezelle = "$A$1": Ausgabezelle = "A10"
AnderesArbeitsblatt = "Tabelle2": AndereZelle = "A1"

If Target = "" Then Exit Sub

If Target.Address = Eingabezelle Then

    If Not (IsNumeric(Target)) Then
    MsgBox "Eingabe ist keine Zahl ", vbCritical, "Falsche Eingabe": Exit Sub
    End If

    If Target = "0" Then
    
        If MsgBox("Summierten Wert kopieren ?", vbQuestion + vbYesNo, "Kopieren ?") = vbYes Then
            Range(Ausgabezelle).Copy Sheets(AnderesArbeitsblatt).Range(AndereZelle)
            Range(Eingabezelle) = "": Range(Ausgabezelle) = ""
        End If
        
    Else
        
        Range(Ausgabezelle) = Range(Ausgabezelle) + Range(Eingabezelle)
        Range(Eingabezelle) = ""
        
    End If
           
End If
    
Range(Eingabezelle).Activate

End Sub

Ich habe hier Variablen benutzt, damit du diesen Code einfacher an deine Bedürfnisse anpassen kannst.

Eingabezelle ist die Zelle , in der du deine Werte eingibst. Hier unbedingt die Schreibweise beachten !(Hier Zelle A1).
Ausgabezelle ist die Zelle , in der immer das summierte Ergebnis steht (Hier Zelle A10).

AnderesArbeitsblatt beinhaltet den Namen des Blattes, wo der Wert hinterher hinkopiert werden soll. (Hier Blatt Tabelle2).
AndereZelle ist die Zelle , wo der Wert in dem anderen Tabellenblatt reinkopiert werden soll (Hier A1).

Der Code ist so geschrieben, dass nach Eingabe eines Wertes sofort wieder in die Zelle zurückgesprungen wird.
Nach der Eingabe von 0 wird der summierte Wert nach einer Abfrage automatisch in die andere Tabelle kopiert. Nach dem Kopieren werden die Eingabezelle und Ausgabezelle zurückgesetzt und es kann von vorne losgehen.

Viel Spass wünscht Klaus






 

Beiträge aus den Excel-Beispielen zum Thema "Zelleninhalte kopieren"