Anzeige
Archiv - Navigation
1864to1868
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
Inhaltsverzeichnis

Zwischenergebnis kann n. eingefügt werd

Zwischenergebnis kann n. eingefügt werd
21.01.2022 18:51:00
Peter
Guten Tag
Dieser Code hat lange Zeit funktioniert. Nun erhalte ich in der Serverumgebung nur noch zwei umrahmte Fragezeichen, die ich in der Zielzeile sehe, in der Bearbeitungszeile ist optisch nichts ersichtlich.
Debug.Print AutoVal ganz unten in der Codezeile schreibt mir das richtige Ergebnis in den Direktbereich - doch mit Ctl+V kann ich das Ergebnis nicht in eine Zelle schreiben.
Hingegen funktioniert der Code auf dem lokalen Notebook einwandfrei.
Was könnte der Grund sein?
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

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zwischenergebnis kann n. eingefügt werd
21.01.2022 20:31:29
Peter
Hallo Karl-Heinz
Ich konnte den Code einbauen.
Allerdings wird hier "nur" Text kopiert.
Mein Zeil ist: Markieren von Zellen mit Zahlen - Tastenkurzbefehl (bei mir Ctl-Shift-C) und dann eine neue Zelle anwählen und die Summe mit Ctl-V einfügen.
Oder könnte ich das mit diesem Code irgendwie erreichen?
Gruss, Peter
Anzeige
AW: Zwischenergebnis kann n. eingefügt werd
21.01.2022 21:48:48
volti
Hallo Peter,
dass Du mehr als nur Text kopieren möchtest, ist aus Deinem Beitrag für mich nicht ersichtlich, denn Dein alter code kopiert auch nur Text.
Dieser Code hat lange Zeit funktioniert.....
Obj.SetText AutoVal
Obj.PutInClipboard

Natürlich kann man mit der API auch andere Formate wie z.B. BITMAP in die Zwischenablage kopieren, was hier in den Forenbeiträgen auch schon gezeigt wurde.
Beim Kopieren in Excel werden soweit ich weiß aber verschiedene spezielle Formate kopiert, da wird das ganze dann zu aufwändig, das per VBA nachzubauen.
Derzeit fällt mir daher nur z.B. SendKeys ein, um automatisiert Kopieren/Einfügen durchzuführen.
Gruß
Karl-Heinz
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige