mschrijver
Gebruiker
- Lid geworden
- 1 apr 2011
- Berichten
- 40
Goedemiddag heren,
Wij maken nu al een jaar of 6 gebruik van een Excelblad (Office 2003)wat gebruik wordt om grafieken te genereren aan de hand van uitgerekende data.
Zodra de gebruiker de benodigde data in heeft gevuld, heeft hij de mogelijkheid om op een knop te drukken, die vervolgens er voor zorgt dat een stukje VBA code gestart wordt, die uiteindelijk de grafiek maakt.
Nu hebben wij vorige week een nieuwe laptop aan moeten schaffen, met daarbij een Office licentie. Vandaag de dag kan je enkel nog Office 2010 licenties kopen. Prima, vooruitgang is altijd goed. Echter lopen we nu tegen het probleem aan dat die knop (om de grafiek te maken) het niet meer doet.
Ik ben nu al zeker 3 dagen bezig om de code in 2010 werkend te krijgen, zonder resultaat.
Ik sta op het punt om de code te verwijderen en hem weer opnieuw op te bouwen, maar ik dacht wellicht ziet iemand in een oogopslag wat er aangepast zou moeten worden zodat hij in 2010 weer functioneert.
Vandaar mijn vraag; Is er hier iemand die enig idee heeft wat er precies gewijzigd is in in Office 2010, en hoe ik de huidige code het makkelijkst weer werkend kan krijgen?
De code ziet er als volgt uit; en hij loopt fout op het dikgedrukte regel.
Wij maken nu al een jaar of 6 gebruik van een Excelblad (Office 2003)wat gebruik wordt om grafieken te genereren aan de hand van uitgerekende data.
Zodra de gebruiker de benodigde data in heeft gevuld, heeft hij de mogelijkheid om op een knop te drukken, die vervolgens er voor zorgt dat een stukje VBA code gestart wordt, die uiteindelijk de grafiek maakt.
Nu hebben wij vorige week een nieuwe laptop aan moeten schaffen, met daarbij een Office licentie. Vandaag de dag kan je enkel nog Office 2010 licenties kopen. Prima, vooruitgang is altijd goed. Echter lopen we nu tegen het probleem aan dat die knop (om de grafiek te maken) het niet meer doet.
Ik ben nu al zeker 3 dagen bezig om de code in 2010 werkend te krijgen, zonder resultaat.
Ik sta op het punt om de code te verwijderen en hem weer opnieuw op te bouwen, maar ik dacht wellicht ziet iemand in een oogopslag wat er aangepast zou moeten worden zodat hij in 2010 weer functioneert.
Vandaar mijn vraag; Is er hier iemand die enig idee heeft wat er precies gewijzigd is in in Office 2010, en hoe ik de huidige code het makkelijkst weer werkend kan krijgen?
De code ziet er als volgt uit; en hij loopt fout op het dikgedrukte regel.
Code:
Sub grafiekbijstellen()
If Sheets("Invoer").Range("T26").Value < 4 Then
Fout2.Show
Else
' 2010-03-03 Unprotect this Sheet for data actions
Sheets("Selecteren").Select
ActiveWorkbook.ActiveSheet.Unprotect "wachtwoord"
Sheets("Invoer").Select
Range("S16:T25").Select
Selection.Copy
Sheets("Selecteren").Select
Range("A2").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Selection.Copy
Sheets("Invoer").Select
Range("AE16").Select
ActiveSheet.Paste
Sheets("Selecteren").Select
Range("B2:B11").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Invoer").Select
Range("AD16").Select
ActiveSheet.Paste
Range("AD16:AF25").Select
On Error Resume Next
Selection.Font.ColorIndex = 2
On Error GoTo 0
Sheets("Grafiek").Select
ActiveSheet.ChartObjects(1).Activate
[B] ActiveChart.ChartArea.Select[/B]
Select Case Sheets("Invoer").Range("T26")
Case 4
ActiveChart.SeriesCollection(1).XValues = "=Invoer!R16C31:R19C31"
ActiveChart.SeriesCollection(1).Values = "=Invoer!R16C30:R19C30"
Case 5
ActiveChart.SeriesCollection(1).XValues = "=Invoer!R16C31:R20C31"
ActiveChart.SeriesCollection(1).Values = "=Invoer!R16C30:R20C30"
Case 6
ActiveChart.SeriesCollection(1).XValues = "=Invoer!R16C31:R21C31"
ActiveChart.SeriesCollection(1).Values = "=Invoer!R16C30:R21C30"
Case 7
ActiveChart.SeriesCollection(1).XValues = "=Invoer!R16C31:R22C31"
ActiveChart.SeriesCollection(1).Values = "=Invoer!R16C30:R22C30"
Case 8
ActiveChart.SeriesCollection(1).XValues = "=Invoer!R16C31:R23C31"
ActiveChart.SeriesCollection(1).Values = "=Invoer!R16C30:R23C30"
Case 9
ActiveChart.SeriesCollection(1).XValues = "=Invoer!R16C31:R24C31"
ActiveChart.SeriesCollection(1).Values = "=Invoer!R16C30:R24C30"
Case 10
ActiveChart.SeriesCollection(1).XValues = "=Invoer!R16C31:R25C31"
ActiveChart.SeriesCollection(1).Values = "=Invoer!R16C30:R25C30"
End Select
Sheets("Invoer").Select
Range("AA16:AC26").Select
Selection.ClearContents
Range("E3").Select
Sheets("Grafiek").Select
ActiveSheet.ChartObjects(1).Activate
With ActiveChart.Axes(xlCategory)
.MinimumScale = Sheets("Invoer").Range("V16")
.MaximumScale = Sheets("Invoer").Range("V17")
.MajorUnit = 1
.CrossesAt = Sheets("Invoer").Range("V18")
End With
ActiveChart.Axes(xlValue).Select
With ActiveChart.Axes(xlValue)
.MinimumScale = Sheets("Invoer").Range("V21")
.MaximumScale = Sheets("Invoer").Range("V22")
.MajorUnit = 10
End With
ActiveSheet.ChartObjects(1).Activate
ActiveChart.Axes(xlValue).Select
Selection.TickLabels.NumberFormat = "0"
ActiveSheet.ChartObjects(1).Activate
ActiveChart.SeriesCollection(1).Select
With Selection.Border
.ColorIndex = 1
.Weight = xlThin
.LineStyle = xlContinuous
End With
With Selection
.MarkerBackgroundColorIndex = 1
.MarkerForegroundColorIndex = 1
.MarkerStyle = xlDiamond
.Smooth = True
.MarkerSize = 5
.Shadow = False
End With
Range("A1").Select
End If
End Sub