Besten,
Ik ben al enige tijd bezig met het maken van een excel formulier en 'database', en krijg nu ineens de foutmelding "Fout 2147352565, de opgegeven dimensie is niet geldig voor het huidige grafiek type". Ik ben al aan het zoeken geweest op internet en in mijn VBA code, maar ik kan niet ontdekken wat ik aangepast heb zodat deze code verschijnt. Hieronder staat de hele tekst en bij het testen van de macro wordt "Application.Goto Sheets(txtJaar.Value).Cells(1)" geel gearceerd. Het kan zijn dat mijn verwijzing naar het pad niet goed is, maar ik heb het idee dat er ergens iets op de achtergrond wel of juist niet meedraait/wordt uitgevoerd, want in het basisbestand was ineens een werklblad "Macro1" toegevoegd (en ik ben me er niet van bewust dat ik het gedaan heb > deze heb ik inmiddels gevonden, 'verkeerde knopcombinatie' ctrl-f11
). Daarnaast wil het enkele bestand "AFDELINGSOVERZICHT_CNS.xlsm" ook niet meer openen, ook niet als er geen enkel ander excel bestand geopend is. Wie kan me op weg helpen met de foutopsporing? Alvast bedankt.
Ik ben al enige tijd bezig met het maken van een excel formulier en 'database', en krijg nu ineens de foutmelding "Fout 2147352565, de opgegeven dimensie is niet geldig voor het huidige grafiek type". Ik ben al aan het zoeken geweest op internet en in mijn VBA code, maar ik kan niet ontdekken wat ik aangepast heb zodat deze code verschijnt. Hieronder staat de hele tekst en bij het testen van de macro wordt "Application.Goto Sheets(txtJaar.Value).Cells(1)" geel gearceerd. Het kan zijn dat mijn verwijzing naar het pad niet goed is, maar ik heb het idee dat er ergens iets op de achtergrond wel of juist niet meedraait/wordt uitgevoerd, want in het basisbestand was ineens een werklblad "Macro1" toegevoegd (en ik ben me er niet van bewust dat ik het gedaan heb > deze heb ik inmiddels gevonden, 'verkeerde knopcombinatie' ctrl-f11

Code:
Private Sub cmbInvoerOpslaan_Click()
With Sheets("technische kennis CNS")
If Range("C2").Value = "" Then
Range("C2").Value = Me.txtNaam.Value
Else
Me.txtNaam.Value = Range("C2").Value
End If
If Range("E3").Value = "" Then
Range("E3").Value = Me.cmbFunctieEng.Value
Else
Me.cmbFunctieEng.Value = Range("E3").Value
End If
If Range("C2").Value <> "" Then
cmbJaarlijkseInvoer.Visible = True
Else
cmbJaarlijkseInvoer.Visible = False
End If
End With
'zoeken naar lege cel in rij jaar en deze activeren (WERKT)
Cells.Find(what:="", After:=Range("D2"), LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False).activate
'invullen van de score (WERKT)
With Sheets("technische kennis CNS")
ActiveCell.Offset(0, 0) = Me.txtJaar.Value
ActiveCell.Offset(1, 0) = Me.cmbFunctieEng.Value
ActiveCell.Offset(3, 0) = Me.txtAppBowStern.Value
ActiveCell.Offset(4, 0) = Me.txtStairs.Value
ActiveCell.Offset(5, 0) = Me.txtMooringAnchoring.Value
ActiveCell.Offset(6, 0) = Me.txtBulwarksRailling.Value
ActiveCell.Offset(7, 0) = Me.txtSuperstrMCP.Value
ActiveCell.Offset(8, 0) = Me.txtSuperstrOutf.Value
ActiveCell.Offset(9, 0) = Me.txtFoundations.Value
ActiveCell.Offset(10, 0) = Me.txtHMCP.Value
ActiveCell.Offset(11, 0) = Me.txtHullOutf.Value
ActiveCell.Offset(12, 0) = Me.txtWindowsPortholes.Value
ActiveCell.Offset(15, 0) = Me.txtDoorsHatches.Value
ActiveCell.Offset(16, 0) = Me.txtTT.Value
ActiveCell.Offset(17, 0) = Me.txtWCS.Value
ActiveCell.Offset(18, 0) = Me.txtLSA.Value
ActiveCell.Offset(19, 0) = Me.txtFoldBalcAccSyst.Value
ActiveCell.Offset(37, 0) = Me.txtDeckArrLayouts.Value
ActiveCell.Offset(38, 0) = Me.txtNavLight.Value
ActiveCell.Offset(39, 0) = Me.txtAntDomRadars.Value
ActiveCell.Offset(49, 0) = Me.txtFEM.Value
ActiveCell.Offset(50, 0) = Me.txtLocVibr.Value
'aanpassen waarde true / false naar ja/nee
ActiveCell.Offset(61).Resize(3) = Application.Transpose(Array(Format(chkAutocad, "Yes/no"), Format(chkCadmatic, "Yes/no"), Format(chkNX, "Yes/no")))
End With
'opslaan persoonlijke kenniskaart met naam van werknemer
Dim BestandsnaamPersKK As String
Dim Pad As String
Dim BestandsnaamAfdOverzicht As String
stPad = "G:\04_....\proefversies\CNS\"
stBestandsnaamPersKK = Sheets("technische kennis CNS").Range("C2").Value
stBestandsnaamAfdOverzicht = "AFDELINGSOVERZICHT_CNS.xlsm"
ThisWorkbook.SaveAs stPad & stBestandsnaamPersKK, FileFormat:=52
'openen werkboek afdelingsoverzicht kenniskaart CNS
Workbooks.Open stPad & stBestandsnaamAfdOverzicht
'activeren juiste sheet, d.w.z. sheet met juiste jaartal 'hier geeft VBeditor een fout bij het uitvoeren van de macro. Het kan zijn dat mijn verwijzing niet goed is, maar ik heb
Application.Goto Sheets(txtJaar.Value).Cells(1)
'afdelingsoverzicht kenniskaart CNS wordt niet zichtbaar geopend
ActiveWindow.Visible = True
'zoeken naar 1e lege cel in afdelingsoverzicht discipline CNS (WERKT)
Cells.Find(what:="", After:=Range("A2"), LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False).activate
'invullen waarden uit formulier in afdelingsoverzicht discipline CNS
With ActiveCell
ActiveCell.Offset(0, 0) = Me.cmbFunctieEng.Value
ActiveCell.Offset(0, 1) = Me.txtNaam.Value
ActiveCell.Offset(0, 2) = Me.txtAppBowStern.Value
ActiveCell.Offset(0, 3) = Me.txtStairs.Value
ActiveCell.Offset(0, 4) = Me.txtMooringAnchoring.Value
ActiveCell.Offset(0, 5) = Me.txtBulwarksRailling.Value
ActiveCell.Offset(0, 6) = Me.txtSuperstrMCP.Value
ActiveCell.Offset(0, 7) = Me.txtSuperstrOutf.Value
ActiveCell.Offset(0, 8) = Me.txtFoundations.Value
ActiveCell.Offset(0, 9) = Me.txtHMCP.Value
ActiveCell.Offset(0, 10) = Me.txtHullOutf.Value
ActiveCell.Offset(0, 11) = Me.txtWindowsPortholes.Value
ActiveCell.Offset(0, 12) = Me.txtDoorsHatches.Value
ActiveCell.Offset(0, 13) = Me.txtTT.Value
ActiveCell.Offset(0, 14) = Me.txtWCS.Value
ActiveCell.Offset(0, 15) = Me.txtLSA.Value
ActiveCell.Offset(0, 16) = Me.txtFoldBalcAccSyst.Value
ActiveCell.Offset(0, 17) = Me.txtDeckArrLayouts.Value
ActiveCell.Offset(0, 18) = Me.txtNavLight.Value
ActiveCell.Offset(0, 19) = Me.txtAntDomRadars.Value
ActiveCell.Offset(0, 20) = Me.txtFEM.Value
ActiveCell.Offset(0, 21) = Me.txtLocVibr.Value
'aanpassen waarde true / false naar ja/nee
ActiveCell.Offset(0, 22).Resize(1) = Array(Format(chkAutocad, "Yes/No"))
ActiveCell.Offset(0, 23).Resize(1) = Array(Format(chkCadmatic, "Yes/No"))
ActiveCell.Offset(0, 24).Resize(1) = Array(Format(chkNX, "Yes/No"))
End With
'opslaan afdelingsoverzicht discipline CNS
ActiveWorkbook.Save
ActiveWorkbook.Close
End Sub
Private Sub cmbJaarlijkseInvoer_Click()
Workbooks.Close
Application.Dialogs(1).Show "G:\04_Monodisciplinary\01_Knowledge_Development\Knowledge Management\kennis in kaart\2.under construction\K.I.K. templates under construction\proefversies\CNS\"
End Sub
Private Sub cmdAfsluiten_Click()
'opslaan / checken of bestand is opgeslagen
If MsgBox("invoer is opgeslagen?", vbYesNo + vbQuestion, "afsluiten kenniskaart invoer") = vbYes Then
ThisWorkbook.Saved = True
ThisWorkbook.Close
Application.Quit
Else
If MsgBox("invoer opslaan?", vbYesNo + vbQuestion, "opslaan invoer") = vbYes Then
ActiveWindow.Visible = True
Else
'.............
Application.Quit
End If
End If
End Sub
Private Sub cmbNieuweInvoer_Click()
Dim wb As Workbook
checkInvoer = MsgBox("ingevoerde gegevens opgeslagen?", vbYesNo + vbInformation)
If checkInvoer = vbYes Then
On Error Resume Next
Set wb = Workbooks("LEGE KENNISKAART_CNS.xlsm")
On Error GoTo 0
If wb Is Nothing Then
Set wb = Workbooks.Open("G:\04_Monodisciplinary\01_Knowledge_Development\Knowledge Management\kennis in kaart\2.under construction\K.I.K. templates under construction\proefversies\CNS\LEGE KENNISKAART_CNS.xlsm")
Else
wb.activate
End If
ElseIf checkInvoer = vbNo Then
MsgBox "graag invoer opslaan", vbInformation
End If
End If
End Sub
Private Sub UserForm_Initialize()
'als er een naam staat in C2 en een functie in E3 wordt deze in de userform weergegeven
Me.txtNaam.Value = Range("C2").Value
Me.cmbFunctieEng.Value = Range("E3").Value
Me.txtJaar.Value = Year(Now)
If Range("C2").Value = "" Then
cmbJaarlijkseInvoer.Visible = False
Else
cmbJaarlijkseInvoer.Visible = True
End If
If Range("C2").Value = "" Then
cmbNieuweInvoer.Visible = True
Else
cmbNieuweInvoer.Visible = False
End If
End Sub
Laatst bewerkt: