undo voor excel 2016 met macro

Windows, Android, iOS, Linux, Chrome OS, ...
Plaats reactie
Gebruikersavatar
cadsite
Elite Poster
Elite Poster
Berichten: 6111
Lid geworden op: 20 jan 2015, 16:10
Locatie: Kortrijk
Uitgedeelde bedankjes: 244 keer
Bedankt: 582 keer
Recent bedankt: 8 keer

Ik heb een macro in een excel document gestoken om de kolom en rij te laten oplichten:
http://www.coursedots.com/2016/05/highl ... color.html

Het grote nadeel, blijkbaar werkt undo dan niet meer...
Iemand ervaring om dit terug actief te krijgen?
glda19
Elite Poster
Elite Poster
Berichten: 851
Lid geworden op: 22 aug 2006, 01:41
Uitgedeelde bedankjes: 6 keer
Bedankt: 11 keer

wat bedoel je met undo
Gebruikersavatar
cptKangaroo
Elite Poster
Elite Poster
Berichten: 3057
Lid geworden op: 18 dec 2004, 14:33
Locatie: 053 Aalst
Uitgedeelde bedankjes: 666 keer
Bedankt: 227 keer
Recent bedankt: 2 keer

Een gokje: al die kleurwijzigingen vullen de undo lijst volledig op. VBA heb ik al lang niet meer gebruikt maar mogelijk kan je die wijzigingen buiten de undo lijst houden -- ik ben alleszins vrij zeker dat je zelf undo points kan instellen.
Gebruikersavatar
cadsite
Elite Poster
Elite Poster
Berichten: 6111
Lid geworden op: 20 jan 2015, 16:10
Locatie: Kortrijk
Uitgedeelde bedankjes: 244 keer
Bedankt: 582 keer
Recent bedankt: 8 keer

undo = ongedaan maken

Blijkbaar is dat iets met vba in excel die de 'stack' zou gebruiken.
Ik heb een extra vba gevonden die zelf een soort van undo maakt, maar daarvan is de licentie betalend voor pro gebruik. Ik ben dus eerst nog aan het rondkijken of er een gratis alternatief bestaat.
glda19
Elite Poster
Elite Poster
Berichten: 851
Lid geworden op: 22 aug 2006, 01:41
Uitgedeelde bedankjes: 6 keer
Bedankt: 11 keer

Zal u link eens bekijken. Maar wat wil je juist

En tip post hey anders op helpmij.no
Zeker niet op oplossing.be posten. Is een site waar ze liever kritiek dan u te helpen hebben mij geband. Ze vroegen na al hun kritiek of ik de oplossing te posten. Ik ze never en bam ban.
Gebruikersavatar
cadsite
Elite Poster
Elite Poster
Berichten: 6111
Lid geworden op: 20 jan 2015, 16:10
Locatie: Kortrijk
Uitgedeelde bedankjes: 244 keer
Bedankt: 582 keer
Recent bedankt: 8 keer

Probleem is heel simpel.
Als je je excel document voorziet van een macro kan je geen gebruik meer maken van 'ongedaan maken', aka: undo.
Ik wil beiden.
bol_cholesterol
Starter
Starter
Berichten: 1
Lid geworden op: 18 okt 2017, 16:27

Je moet de 'undo' voor je macro zelf programmeren.

In de 'do'-macro (hier samenvoegen) moet je zelf bijhouden wat de oude waarden waren (hier in de array OldSelection), en expliciet vermelden wat de undo macro is ( Application.OnUndo "Undo Samenvoegen", "undoSamenvoegen").


Code: Selecteer alles

Option Explicit
Type SaveRange
  Val As Variant
  Addr As String
End Type
Public OldSelection() As SaveRange

Sub Samenvoegen()
  Dim eerste_cell_in_range As Range
  Dim a_cell As Range
  Dim a_value As String
  Dim i As Long
  a_value = ""
  Set eerste_cell_in_range = Application.Selection.Cells(1)
  ReDim OldSelection(Application.Selection.Count)
  i = 0
  For Each a_cell In Application.Selection.Cells
    i = i + 1
    OldSelection(i).Addr = a_cell.Address
    OldSelection(i).Val = a_cell.Value
    a_value = a_value & a_cell.Value
    a_cell.Value = ""
  Next
  eerste_cell_in_range.Value = a_value
  Application.OnUndo "Undo Samenvoegen", "undoSamenvoegen"
End Sub

Sub undoSamenvoegen()
  Dim i As Long
  For i = 1 To UBound(OldSelection)
    Range(OldSelection(i).Addr).Value = OldSelection(i).Val
  Next
End Sub
Gebruikersavatar
cadsite
Elite Poster
Elite Poster
Berichten: 6111
Lid geworden op: 20 jan 2015, 16:10
Locatie: Kortrijk
Uitgedeelde bedankjes: 244 keer
Bedankt: 582 keer
Recent bedankt: 8 keer

Bedankt!
Zal het maandag testen.
Plaats reactie

Terug naar “Software en apps”