Dag mensen,
Dit is mijn eerste post op dit forum.
Ik ben een Project ingenieur in het gebied van proces automatisatie en moet mij voor een project een beetje verdiepen in VBA. Ik moet een code schrijven die automatisch een report genereert vanuit een SQL (OPC) server via een excell addin.
Nu had ik na het kopieren van alle worksheets in mijn oude workbook naar men nieuw workbook gemerkt dat de source data van mijn chart blijven verwijzen naar mijn oud workbook. Is er een simpele manier die dit kan oplossen, nl refereren naar mijn nieuw workbook?
Onderstaand de code.
De chart is niet geplaatst in een worksheet maar "is" een worksheet en verwijst naar de andere sheets voor de waarden.
Dit is mijn eerste post op dit forum.
Ik ben een Project ingenieur in het gebied van proces automatisatie en moet mij voor een project een beetje verdiepen in VBA. Ik moet een code schrijven die automatisch een report genereert vanuit een SQL (OPC) server via een excell addin.
Nu had ik na het kopieren van alle worksheets in mijn oude workbook naar men nieuw workbook gemerkt dat de source data van mijn chart blijven verwijzen naar mijn oud workbook. Is er een simpele manier die dit kan oplossen, nl refereren naar mijn nieuw workbook?
Onderstaand de code.
Code:
Public Sub nieuw_workbook()
Dim New_wb As Workbook
Dim HuidigMap As Workbook
Dim HuidigBlad As Worksheet
Dim Chart As Chart
Dim sMsg As String
Dim pathstr As String
Dim filename As String
Dim SavePath As String
Dim I As Long
'On Error GoTo Errhandler:
filename = Worksheets(1).Range("B2").Value
'MsgBox (filename)
pathstr = Worksheets(1).Range("F2").Value
'MsgBox (pathstr)
SavePath = pathstr & filename & ".xls"
'MsgBox (SavePath)
Application.DisplayAlerts = False
'Nieuwe workbook aanmaken
Set New_wb = Application.Workbooks.Add
'kopieren originele worksheets
Set HuidigMap = Application.Workbooks("d5013_auto.xls")
I = 0
For Each HuidigBlad In HuidigMap.Worksheets
I = I + 1
HuidigBlad.Copy New_wb.Worksheets(I)
Next HuidigBlad
For Each Chart In HuidigMap.Charts
Chart.Copy , New_wb.Worksheets(Worksheets.Count)
Next Chart
'Paste values, remove formulas
New_wb.Sheets.Select
Cells.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Sheets(Array("tijdconversie", "Sheet1", "Sheet2", "Sheet3")).Delete
With New_wb
.SaveAs filename:=SavePath
End With
Exit Sub
Errhandler:
sMsg = "Fout bij kopieren van Worksheets"
MsgBox sMsg, vbExclamation, "Rapport Error"
End Sub
Laatst bewerkt: