Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1400to1404
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

Formel unverändert 1:1 kopieren

Formel unverändert 1:1 kopieren
19.01.2015 14:33:09
Lutz
Hallo Excel-Profis,
ich hatte mir mal mit Hilfe das Forums ein Makro gebaut bei dem die Formel 1:1 unverändert kopiert wird.
D.h. ich möchte z.B. A1:A3 mit Strg+C kopieren und dann z.B. nach D1:D3 gehen und dort die Formel aus A1:A3 unverändert reinkopieren.
Das Makro und das Klassenmodul sehen so aus:
Im KlassenmoduL.Public WithEvents App As Excel.Application
Sub App_SheetSelectionChange(ByVal sh As Object, ByVal Target As Range)
Set OldRange = rngNewRange
Set rngNewRange = Target
If Application.CutCopyMode = False Then
ChangeRange = False
End If
If Application.CutCopyMode = 1 And ChangeRange = False Then
ChangeRange = True
Set rngSaveRange = OldRange
End If
End Sub
Im Modul:
Option Explicit
Public rngNewRange As Range
Public OldRange As Range
Public rngSaveRange As Range
Public ChangeRange As Boolean
Sub PastingFormula()
Dim x As Long
Dim y As Long
rngNewRange = rngNewRange.Resize(rngSaveRange.Rows.Count, rngSaveRange.Columns.Count)
For x = 1 To rngSaveRange.Columns.Count
For y = 1 To rngSaveRange.Rows.Count
rngNewRange(y, x).FormulaLocal = rngSaveRange(y, x).FormulaLocal
Next y
Next x
End Sub

Leider funktioniert das irgendwie nur manchmal und gar nicht wenn ich das Makro und das Klassenmodul in ein AddIn kopiere.
Weiß jemand einen Rat?
Vielen Dank und viele Grüße Lutz

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formel unverändert 1:1 kopieren
19.01.2015 16:46:37
fcs
Hallo Lutz,
ich hab mal versucht deine Module in meine persönliche Makro-Arbeitsmappe zu integerieren.
Mit ein paar Ergänzungen funktioniert es.
Das Klassenmodul bleibt unverändert. Zum Testen hab ich ihm den Namen "clsCopyFormula" verpasst.
In dem allgemeinen Modul muss eine weitere Variable deklariert werden, die den Bezug zum Klassenmodul herstellt.
'Code in einem allgemeinen Modul der persönlichen Makro-Arbeitsmappe
Option Explicit
Public ThisApp As New clsCopyFormula 'Diese Variable muss in der _
Workbook_Open_Prozedur mit Leben gefüllt werden _
clsCopyFormula = Name des Klassenmoduls
Public rngNewRange As Range
Public OldRange As Range
Public rngSaveRange As Range
Public ChangeRange As Boolean
Sub PastingFormula()
Dim x As Long
Dim y As Long
Set rngNewRange = rngNewRange.Resize(rngSaveRange.Rows.Count, rngSaveRange.Columns.Count)
For x = 1 To rngSaveRange.Columns.Count
For y = 1 To rngSaveRange.Rows.Count
rngNewRange(y, x).FormulaLocal = rngSaveRange(y, x).FormulaLocal
Next y
Next x
End Sub


'Code in der Persönlichen Makro-Arbeitsmappe  PERSONAL.XLSB unter "DieseArbeitsmappe"
Option Explicit
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Set ThisApp = Nothing
End Sub
Private Sub Workbook_Open()
'Variable setzen, die die Verbindung zum Klassenmodul herstellt
Set ThisApp.App = Excel.Application
End Sub
Du kannst ja mal versuchen deine Module plus meine Ergänzungen in eine leere Mappe einzubauen und dann das Ganze als AddInn zu speichern.
Gruß
Franz

Anzeige
AW: Formel unverändert 1:1 kopieren
19.01.2015 18:05:40
Lutz
Hallo Rudi,
tausend Dank, das scheint zu gehen.
Ich kann das gerade nicht endgültig testen weil ein Prozess auf dem Server mein Excel-AddIn blockiert.
Sollte das nicht gehen setze ich das morgen noch mal auf offen oder mache einen neuen Thread auf.
In jedem Fall vielen lieben Dank und noch einen schönen Abend für Dich!
Viele Grüße Lutz

310 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige