Summe aus markiertem Bereich an Zwischenablage

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: Summe aus markiertem Bereich an Zwischenablage
von: Peter
Geschrieben am: 24.08.2015 10:17:01

Guten Tag
Mit untenstehendem Code konnte ich in der Vergangenheit die Summe eines markierten Bereiches in die Zwischenablage übernehmen und mit Ctl+V in eine neue Zelle einsetzen.
Jetzt erhalte ich mit diesem Vorgehen nur 2 Sonderzeichen: �� (ich habe eine normale Schriftart eingestellt)
Was mache ich falsch?
Gruss, Peter
Option Explicit

Public Sub CopyStatusFunction()
'Code via Herber.de erhalten von Kl@us-M. am 29. Januar 2008
'Code von T.Ramel - im VBA Menu Extras muss Verweis auf Forms 2.0 Object Library eingestellt  _
sein
Dim Obj             As New DataObject
Dim ctl             As CommandBarControl
Dim AWF             As Object
Dim AutoVal         As Double
Dim intFormula      As Integer
Dim c               As Range
Set AWF = Application.WorksheetFunction
intFormula = 0
For Each ctl In Application.CommandBars("AutoCalculate").Controls
intFormula = intFormula + 1
If ctl.State <> 0 Then
Exit For
End If
Next ctl
If ActiveSheet.ProtectContents = False Then
    Set c = Selection.SpecialCells(xlCellTypeVisible)
Else
    Set c = Selection
    MsgBox "Da Tabelle geschützt ist, werden" & vbCrLf & _
                   "auch Werte aus allfällig ausge-" & vbCrLf & _
                   "blendeten Zellen innerhalb der" & vbCrLf & _
                   "Markierung mitberücksichtigt."
End If
Select Case intFormula
    Case 2
        AutoVal = AWF.Average(c)
    Case 3
        AutoVal = AWF.CountA(c)
    Case 4
        AutoVal = AWF.Count(c)
    Case 5
        AutoVal = AWF.Max(c)
    Case 6
        AutoVal = AWF.Min(c)
    Case 7
        AutoVal = AWF.Sum(c)
        AutoVal = Round(AutoVal, 2)
    End Select
    Obj.SetText AutoVal
    Obj.PutInClipboard
    Set Obj = Nothing
    Debug.Print AutoVal
End Sub

Bild

Betrifft: AW: Summe aus markiertem Bereich an Zwischenablage
von: Peter
Geschrieben am: 24.08.2015 12:48:30
Hallo
Ich habe noch wie folgt einen Test gemacht:
Selektion zweier Zellen mit Inhalt der Zahlen 1 resp. 2
Wenn ich den Code laufen lasse, kann ich feststellen, dass AutoVal der (gewünschte) Wert 3 zugewiesen wird.
Nach Obj.SetText AutoVal
ergibt die Eingabe von ?obj.getText im Direktbereich die Ausgabe von 3
Nach Obj.PutInClipboard
ergibt die Eingabe von ?obj.getText im Direktbereich die Ausgabe von "??" (Autoval behält den Wert von 3)
Vielleicht hilft diese Beobachtung für die Lösungsfindung.
Gruss, Peter

Bild

Betrifft: Noch aktuell?
von: Michael
Geschrieben am: 30.08.2015 19:34:02
Hi Peter,
ich kann kein seltsames Verhalten feststellen, auch nicht mit den d.prints.
Vielleicht irgendein Versions-Konflikt mit 32/64 bit oder so was?
Schöne Grüße,
Michael

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Summe aus markiertem Bereich an Zwischenablage"