1.5k Aufrufe
Gefragt in Tabellenkalkulation von
Hallo zusammen,

ich versuche mich gerade an einem Makro, bei dem ich ein Tabellenblatt als Eingabemaske für ein zweites, identisches Tabellenblatt verwende.

Beispiel:

In Tabelle 1 wird in der Zelle W4 der Wert 5 eingegeben. Dann soll dieser Wert 5 in der Tabelle 2 auf die Zelle W4 aufaddiert werden. Das Makro hierfür ist einfach:

Worksheets("Summe").Range("W4").Value = Worksheets("Summe").Range("W4").Value + Worksheets("Eingabeblatt").Range("W4").Value

Nur habe ich nicht nur ein paar Zellen für die dies passieren soll, sondern einen Bereich von W4:AB70.

Daher wollte ich diesen Bereich per Makro absuchen lassen und jedes mal, wenn eine Zelle in Tabelle1 einen Wert enthält. diesen in Tabelle2 auf die gleiche Zelle aufaddieren lassen.

Nur wie erklärt man VBA das mit der gleichen Zelle?

Mein bisheriger Versuch sieht wie folgt aus:

Private Sub Eingabebutton_Click()

Dim Cell As Range
x = ???
y = ???

For Each Cell In Range("W4:AB120")
If Cell.Value > 0 Then
Worksheets("Summe").Cells(x, y).Value = Worksheets("Summe").Cells(x, y).Value + ActiveCell.Value
Cell.ClearContents
End If
Next Cell
End Sub


Kann mir jemand helfen?

Gruß, Ivy

3 Antworten

0 Punkte
Beantwortet von beverly Experte (3.5k Punkte)
Hi Ivy,

ich würde keinen Schalter sondern das Worksheet_Change Ereignis des Eingabeblattes verwenden:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("W4:AB120")) Is Nothing Then
If Target.Count = 1 Then
If IsNumeric(Target) Then Worksheets("Tabelle2").Range(Target.Address) = _
Worksheets("Tabelle2").Range(Target.Address) + Target
End If
End If
End Sub

Bis später,
Karin
0 Punkte
Beantwortet von
Hallo Karin,

danke für die Antwort. Ich stehe nun nur noch vor einem Problem:

Wie führe ich das Makro aus? Es will bei mir nicht arbeiten. (Hinweis: arbeite mit Office 2002).

Gruß, Ivy
0 Punkte
Beantwortet von beverly Experte (3.5k Punkte)
Hi Ivy,

den Code musst du ins Codemodul des Tabellenblattes kopieren, in welchem du die Eintragungen machst.

Bis später,
Karin
...