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

per VBA Zellen berechen

per VBA Zellen berechen
16.03.2003 00:11:28
Thomas
Hallo VBA-Spezialisten,

habe folgendes Problem, bei denen Ihr mir hoffentlich helfen könnt:

In Tabelle1/Spalte G/ab Zeile 5 bis 300 werden Werte eingeben (Leerzellen können vorkommen).
Die Werte sollen immer an Tabelle2/Zelle B3 übergeben und in Zelle C3 mit einer individuellen Formel brechnete werden. Das Ergebnis soll in Tabelle1/Spalte H/ab Zeile 5 bis 300 an die entsprechende Eingabezelle zurückgeschrieben werden (wenn Eingabe-Zelle leer,dann Ergebis leer).

Es wäre auch toll wenn bei nachträglichen Korrekturen in der Eingabe-Spalte (Tabelle1) eine Korrektur vorgenommen wird.

Zur Info: Benutzer bekommt bei Dateiöffnung nur Tabelle1 angezeigt.

Hoffe, habe mich einigermaßen verständlich ausgedrückt und dass Ihr vielleicht helfen könnt.

Gruß Thomas






9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: per VBA Zellen berechen
16.03.2003 00:17:50
PeterW

Hallo Thomas,

warum läßt Du uns mit der "individuellen Formel" im Dunkeln stehen? Wenn man diese kennen würde ließe sich Deine Anfrage mit einer über Worksheet_Change aufgerufenen Funktion vielleicht ganz einfach lösen.

Gruß
Peter

Re: per VBA Zellen berechen
16.03.2003 00:32:05
Thomas

Hallo Peter,

sorry,

in Tabelle1 werden Datum-Eingaben in Spalte G eingegeben, die in Tabelle2/B3 übergeben und in C3 mit Formel

=WENN(B3="";"";DATEDIF(B3;HEUTE();"y")) berechnet werden und an Tabelle1 zurückgegeben werden sollen.

Gruß Thomas



Re: per VBA Zellen berechen
16.03.2003 01:16:56
PeterW

Hallo Thomas,

reicht Dir vielleicht dies? (Der Code gehört in das Modul Tabelle1)

Gruß
Peter

Anzeige
Re: per VBA Zellen berechen
16.03.2003 11:33:14
Thomas

Hallo Perter,

ersteinmal besten Dank für Deine Antwort. Aber das mit den 2 Blättern hat seinen Grund. Die Formel selbst ist eher untergeordnet, da ich nach dem beschriebenen Prinzip dann noch andere Berechnungen machen möchte. Und da ich nicht so VBA-stark bin soll das in Tabelle 2 per Exel-Formel passieren. Vielleicht kannst Du es Dir noch mal anschauen.

Gruß Thomas


Re: per VBA Zellen berechen
16.03.2003 11:56:11
PeterW

Hallo Thomas,

dann schau Dir das mal an:

Gruß
Peter

Re: per VBA Zellen berechen
16.03.2003 13:43:01
Thomas

Hallo Peter,

genau so hab' ich mir das vorgestellt. Dank,Dank,Dank.

Um die Sache erst ab Zeile 5 in Tabelle1 zu ermöglichen hab ich aus Deinem ersten Vorschlag noch was eingefügt. Sieht jetzt so aus:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Row < 5 Then Exit Sub
Application.EnableEvents = False
If Target.Column = 7 Then
Worksheets("Tabelle2").[B3] = Target
Cells(Target.Row, 8) = Worksheets("Tabelle2").[C3].Value
If IsEmpty(Target) Then Target.Offset(0, 1) = ""
End If
Application.EnableEvents = True
End Sub

Ich hoffe Dir noch eine Zusatzfrage stellen zu dürfen.

Wie kann man die Prozedur anpassen, wenn die oben stehende Prozedur auch auf Spalte J in Tabelle1 und Zelle E3 in Tabelle2 erweitert werden soll?

Wenn ich in einer zweiten Prozedur einfach nur die Werte anpasse, kommt die Fehlermeldung "mehrdeutige Name - Worksheet_Change"

Will aber nicht nerven, hast mir so schon toll geholfen.

Gruß Thomas


Anzeige
Re: per VBA Zellen berechen
16.03.2003 14:13:10
Thomas

Hallo Peter,

hab's mal selbst versucht:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Row < 5 Then Exit Sub
Application.EnableEvents = False

If Target.Column = 7 Then
Worksheets("Tabelle2").[B3] = Target
Cells(Target.Row, 8) = Worksheets("Tabelle2").[C3].Value
If IsEmpty(Target) Then Target.Offset(0, 1) = ""
End If

If Target.Column = 10 Then
Worksheets("Tabelle2").[E3] = Target
Cells(Target.Row, 11) = Worksheets("Tabelle2").[F3].Value
If IsEmpty(Target) Then Target.Offset(0, 1) = ""
End If

Application.EnableEvents = True
End Sub

Geht aber vielleicht besser, oder?

Gruß Thomas

Anzeige
Re: per VBA Zellen berechen
16.03.2003 14:55:54
PeterW

Hallo Thomas,

ich sehe nicht, was da besser zu machen ist. Generell gilt die Regel: Hauptsache es funktioniert. ;-)

Gruß
Peter

Re: per VBA Zellen berechen
16.03.2003 14:59:51
Thomas

Hallo Peter,

nochmals danke für Deine Hilfe und noch einen schönen Sonntag.

Gruß Thomas

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige