Thema Datum  Von Nutzer Rating
Antwort
Rot Werte aus nebenstehnder Zelle übernehmen
29.03.2011 14:33:51 Mario H
Solved
29.03.2011 14:40:48 Severus
*****
Solved
29.03.2011 14:56:30 Mario H
NotSolved
29.03.2011 16:09:56 Severus
NotSolved
14.04.2011 12:45:47 Mario H
NotSolved
14.04.2011 13:51:41 Severus
NotSolved
14.04.2011 14:23:00 Mario H
NotSolved
14.04.2011 15:03:07 Severus
NotSolved
15.04.2011 10:44:20 Gast61568
NotSolved
15.04.2011 11:38:36 Severus
NotSolved
15.04.2011 13:13:34 Mario H
NotSolved
15.04.2011 18:36:21 Severus
NotSolved
15.04.2011 17:59:48 Mario H
NotSolved
15.04.2011 18:37:41 Severus
NotSolved
16.04.2011 04:54:29 Severus
*****
Solved
21.04.2011 10:43:54 Mario H
NotSolved
21.04.2011 10:48:45 Mario H
NotSolved
21.04.2011 10:48:46 Mario H
NotSolved
21.04.2011 11:09:06 Serverus
NotSolved
21.04.2011 11:31:09 Mario H
NotSolved
21.04.2011 16:33:17 Severus
NotSolved

Ansicht des Beitrags:
Von:
Mario H
Datum:
29.03.2011 14:33:51
Views:
3194
Rating: Antwort:
 Nein
Thema:
Werte aus nebenstehnder Zelle übernehmen

Hallo Forum,

ich habe hier einen Code, den ich mir aus einem anderen Forum her zusammengebastelt habe. Leider habe ich ein kleines Problem. 

Der Code funktioniert wunderbar mit ganzen Zahlen. Sobald ich allerdings eine Zahl mit Nachkommstelle habe (Dezimalzahl) funktioniert er nicht mehr.

Zu Erklärung was der Code macht bzw. wie meine Tabelle aufgebaut ist:

In Spalte M:M werden Werte aus anderen Zellen zusammengerechnet.

In Spalte J:J wird die Zahl aus M:M automatisch eingetrage. 

Wenn sich in der Spalte M:M etwas an der Zahl ändert wird diese automatisch auch in J:J eingetragen. 

Allerdings nur solange ich den Wert in J:J nicht überschrieben habe. Wenn ich einen überschriebenen Wert wieder lösche, wird wieder der Wert aus M:M eingetragen.

So weit so gut... das funktiniert wunderbar. Wenn nun allerdings das Ergebnis in einer Zelle aus M:M eine Dezimalzahl ist, funktioniert der Code nicht mehr.

Ich hoffe nun, das mir jemand aus diesem Forum weiter helfen kann, so dass der Code auch mit Dezimalzahlen funktioniert. Hier der Code

Modul

1
2
' Array-Variablen zum Speichern der Werte
Public arrG(65535) As Long

Diese Arbeitsmappe

1
2
3
4
5
6
7
8
9
10
11
12
13
Private Sub Workbook_Open()
' Speichern der aktuellen Werte
Dim rgG As Range, i As Long
 
'Alle M-Zellen
Set rgG = Range("M:M")
i = 0
 
For Each c In rgG
    arrG(i) = c.Value
    i = i + 1
Next
End Sub

 

Tabelle1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
Private Sub Worksheet_Calculate()
' Im Tabellenblatt wurde eine Berechnung durchgeführt
Dim i As Long, zeile As Long
zeile = 0
' Übereinstimmung wird geprüft (hat sich was in den M-Zellen geändert?)
For i = 0 To UBound(arrG)
    zeile = i + 1
    ' Wenn gespeicherter Wert ungleich aktueller Wert in M, dann ...
    If arrG(i) <> Cells(zeile, 13) Then
        ' ...: wenn Zelle J = alter Wert M, dann
        If Cells(zeile, 10) = arrG(i) Then
            ' Wertzuweisung J-Zelle und neuer Wert, ...
            arrG(i) = Cells(zeile, 13)
            Cells(zeile, 10) = Cells(zeile, 13)
        Else
            ' ...sonst nur M-Zelle in Array
            arrG(i) = Cells(zeile, 13)
        End If
    End If
Next
End Sub
 
Private Sub Worksheet_Change(ByVal Target As Range)
' Weiterhin für manuelle Änderung in J-Zellen
    Dim rC As Range
    Application.EnableEvents = False
    If Not Intersect(Target, Range("M:M")) Is Nothing Then
        For Each rC In Target
            If rC.Column = 13 Then
                If rC.Offset(0, -3) = "" Then rC.Offset(0, -3) = rC
            End If
        Next rC
    End If
    If Not Intersect(Target, Range("J:J")) Is Nothing Then
        For Each rC In Target
            If rC.Column = 10 Then
                If rC = "" Then rC = rC.Offset(0, 3)
            End If
        Next rC
    End If
    Application.EnableEvents = True
End Sub

Ich würde mich über Hilfe sehr freuen

Mit besten Grüßen

Mario


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Werte aus nebenstehnder Zelle übernehmen
29.03.2011 14:33:51 Mario H
Solved
29.03.2011 14:40:48 Severus
*****
Solved
29.03.2011 14:56:30 Mario H
NotSolved
29.03.2011 16:09:56 Severus
NotSolved
14.04.2011 12:45:47 Mario H
NotSolved
14.04.2011 13:51:41 Severus
NotSolved
14.04.2011 14:23:00 Mario H
NotSolved
14.04.2011 15:03:07 Severus
NotSolved
15.04.2011 10:44:20 Gast61568
NotSolved
15.04.2011 11:38:36 Severus
NotSolved
15.04.2011 13:13:34 Mario H
NotSolved
15.04.2011 18:36:21 Severus
NotSolved
15.04.2011 17:59:48 Mario H
NotSolved
15.04.2011 18:37:41 Severus
NotSolved
16.04.2011 04:54:29 Severus
*****
Solved
21.04.2011 10:43:54 Mario H
NotSolved
21.04.2011 10:48:45 Mario H
NotSolved
21.04.2011 10:48:46 Mario H
NotSolved
21.04.2011 11:09:06 Serverus
NotSolved
21.04.2011 11:31:09 Mario H
NotSolved
21.04.2011 16:33:17 Severus
NotSolved