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:
2864
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

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

Diese Arbeitsmappe

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

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