Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
264to268
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
264to268
264to268
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zahl stehen lassen

Zahl stehen lassen
12.06.2003 12:14:29
B. Schneider
Hi Ex(el)perten

wenn ich ein Ergebnis aus einer Formel bekomme z.B.

=a1*b3

wobei a1 sich ändern kann und b3 auch
sagen wir mal Ergebnis ist "20"
ich ändere jetzt a1 und das ergebnis ist nun "15"
dann sollen 15 & 20 zusammengerechnet werden also "35"

wie kann ich das Lösen ?
Vielen Dank B. Schneider

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
noch Offen, hatte ich nicht !!!
12.06.2003 12:37:20
B. Schneider

Hi , die Lösung von dir ist hierauf nicht anwendbar
denn jetzt gehts um den gesammt verbrauch der
ermittelt werden soll.

Die VB-Formel würde zwar klappen aber mann müsste
dann beim Abgang und beim Verbrauch (andere Tabelle)
den Abzug eintragen, das ist nicht gut :(

Ich bräuchte ein Kleines VB Script welches
Tabellenblätter übergreifend die zahlen abgibt.

Wenn ich also im "Lager" 2 Dosen Farbe entnehme
sollten gleich beim "Verbrauch" 2 Dosen Verbrauch
stehen.

Wenn ich nun Morgen wieder 3 aus dem "Lager" nehme
muss im "Verbrauch" eine 5 stehen.

Ein Script wäre für mich besser, weil die Mappe
auf mehreren Rechnern Laufen soll.

MfG Bernd Schneider

Anzeige
Re: noch Offen, hatte ich nicht !!!
12.06.2003 12:54:14
xxx

Hallo,
nur als Anregung:

Wenn also in A1 oder in B3 was geändert wird, wird C1 fortgeschrieben.

Gruß aus'm Pott
Udo

Funzt soweit, "aber" !!!
12.06.2003 13:05:58
B.Schneider

Klapp schon mal soweit , aber . . .

da ich meine Eingaben auf der Seite Lager mache
und einfach eine Verbindung zu Verbrauch habe
wird die Eingabe nicht erkannt, kann ich dein
Script ...

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("C5")) Is Nothing Or _
Not Application.Intersect(Target, Range("D5")) Is Nothing Then
Range("E5") = Range("E5") + Range("D5")
'* Range("B3")
End If
End Sub

auch auf eine andere Seite (zb Tabelle1 eingaben, und ergebnis in Tabelle2) zugreifen lassen. ???
Dann müsste das doch gehen
Kurzum = Script auf Tabelle2 mit Erfassung Tabelle1

MfG Bernd Schneider

Anzeige
Re: Funzt soweit, "aber" !!!
12.06.2003 13:13:33
Nike

Hi,

einfach mal nen Bezug zu den Blättern herstellen ;-)

Private Sub Worksheet_Change(ByVal Target As Range)
dim wks1 as worksheet
dim wks2 as worksheet
set wks1 = activeworkbook.worksheets(2)
set wks2 = activeworkbook.worksheets(1)

If Not Application.Intersect(Target, Range("C5")) Is Nothing Or _
Not Application.Intersect(Target, Range("D5")) Is Nothing Then
wks1.Range("E5") = wks2.Range("E5") + wks2.Range("D5")
'* Range("B3")
End If
End Sub

Bye

Nike


Re: Funzt soweit, "aber" !!!
12.06.2003 13:15:07
xxx

Hallo,
das ist das Prob, wenn man die Mappen nicht kennt. Prinzipiell kannst du in beliebige Blätter schreiben. Also:
Den Code in die Tabelle, die geändert wird ("Lager") und dann ab then:
Sheets("Verbrauch").Range("C1")=Sheets("Verbrauch").Range("C1")+Range("A1")*Range("B3")

Gruß aus'm Pott
Udo

Anzeige
Dein Code ist natürlich sauberer
12.06.2003 13:17:51
xxx

Bis Samstag

Gruß aus'm Pott
Udo

Ich raff das nicht :(
12.06.2003 13:42:09
B. Schneider

der Code =

Private Sub Worksheet_Change3(ByVal Target As Range)
Dim wks1 As Worksheet
Dim wks2 As Worksheet
Set wks1 = ActiveWorkbook.Worksheets(2)
Set wks2 = ActiveWorkbook.Worksheets(1)

If Not Application.Intersect(Target, Range("B5")) Is Nothing Or _
Not Application.Intersect(Target, Range("C5")) Is Nothing Then
wks1.Range("E5") = wks1.Range("E5") + wks2.Range("C5")
'* Range("B3")
End If
End Sub

Diesen hae ich in den ersten Tabellencode "LAGER" eingefügt
das Wort Change musste ich ändern in Change3 weil da schon ein Script mit Change läuft, ich gehe jezt mal davon aus das WKS1
die 2te Seite (Verbrauch) ist und WKS2 ist (Lager)

... so wie er jetzt da seht gibts zwar keinen Fehler aber
es passiert auch nichts :(

Was habe ich wieder Falsch gemacht ?

Hier mal der Komplette Code der Lagerseite

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column < 2 Or Target.Column > 3 Then Exit Sub
On Error GoTo fehler
Application.EnableEvents = False
Select Case Target.Column
Case 2
Cells(Target.Row, 4) = Cells(Target.Row, 4) + Target
Case 3
Cells(Target.Row, 4) = Cells(Target.Row, 4) - Target
End Select
fehler:
Application.EnableEvents = True
End Sub


Private Sub Worksheet_Change3(ByVal Target As Range)
Dim wks1 As Worksheet
Dim wks2 As Worksheet
Set wks1 = ActiveWorkbook.Worksheets(2)
Set wks2 = ActiveWorkbook.Worksheets(1)

If Not Application.Intersect(Target, Range("B5")) Is Nothing Or _
Not Application.Intersect(Target, Range("C5")) Is Nothing Then
wks1.Range("E5") = wks1.Range("E5") + wks2.Range("C5")
'* Range("B3")
End If
End Sub

Vielen Dank für Eure mühe Bernd Schneider

Anzeige
Re: Ein Blatt kann nur einmal Change(en)
12.06.2003 13:49:49
Nike

Hi,
du kannst das Change Ereignis nur pro Blatt ein mal
im Code genau dieses Blattes hinterlegen und der Code muß genau so anfangen:
Private Sub Worksheet_Change(ByVal Target As Range)

Bye

Nike

Re: Ich raff das nicht :(
12.06.2003 13:53:57
xxx

Hallo,
_Change3 kann nicht gehen. Es wird das Change(Ändern)-Ereignis der Tabelle abgefragt. Woher zum Teufel soll man wissen, dass du das schon mit einem anderen Code abfragst?
Das ist die Krux: Es wird nach einer Lösung für ein Problem gefragt, aber es ist nur ein Teil eines großen Ganzen.
Ich muss jetzt weg. Vielleicht später nochmal.

Gruß aus'm Pott
Udo

Anzeige
Re: Ich raff das nicht :(
12.06.2003 14:08:17
xxx

Hallo,
doch noch (aber dann ist Schluss)

in ein Modul:
Option Explicit
Public rngTarget As Range, rowTarget As Integer, colTarget As Integer

Sub sub1()
On Error GoTo fehler
Application.EnableEvents = False
Select Case colTarget
Case 2
Cells(rowTarget, 4) = Cells(rowTarget, 4) + Target1
Case 3
Cells(rowTarget, 4) = Cells(rowTarget, 4) - Target1
End Select
fehler:
Application.EnableEvents = True
End Sub

Sub sub2()
Dim wks1 As Worksheet
Dim wks2 As Worksheet
Set wks1 = ActiveWorkbook.Worksheets(2)
Set wks2 = ActiveWorkbook.Worksheets(1)
wks1.Range("E5") = wks1.Range("E5") + wks2.Range("C5")
End Sub

in die Tabelle:
Private Sub Worksheet_Change(ByVal Target As Range)
Set rngTarget = Target
colTarget = Target.Column
rowTarget = Target.Row

If Target.Column = 2 Or Target.Column = 3 Then
Call sub1
Exit Sub
End If

If Not Application.Intersect(Target, Range("B5")) Is Nothing Or _
Not Application.Intersect(Target, Range("C5")) Is Nothing Then
Call sub2
Exit Sub
End If
End Sub

Gruß aus'm Pott
Udo

Anzeige
Re: Ich raff das nicht :(
12.06.2003 14:29:37
B. Schneider

Ich muss das mal durch Daddeln
jetzt muss ich erstmal Arbeiten gehen
binn Heute Abend wieder da

Vielen Dank Erstmal

:)
Bernd Schneider

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige