• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

verkeerd gedefinieerd

Status
Niet open voor verdere reacties.
hier kan ik u even niet volgen...

Dit was een opzet van het vinden van de bestandsnaam.
Klopt het dat er gezocht moet worden naar een (Gedeelte) van een bestandsnaam/
Volgens mij beginnen alle bestanden met VCA [spatie] en zoekt de functie naar een naam, bijv. test.
Vervolgens wordt het bestand VCA test.xls geopend.

Met vriendelijke groet,


Roncancio
 
er moet gezocht worden naar een combinatie van telkens 3letters en 2of 3 cijfers, een voorbeeld is VSN137 en HKR41
en de VCA staat voor een veiligeheidskeuring, dit kan verwarrend zijn...
 
er moet gezocht worden naar een combinatie van telkens 3letters en 2of 3 cijfers, een voorbeeld is VSN137 en HKR41
en de VCA staat voor een veiligeheidskeuring, dit kan verwarrend zijn...

Terugkomend op mijn voorbeeld zou het dus om bijvoorbeeld om bestand VCA VSN137.xls kunnen gaan?

Met vriendelijke groet,


Roncancio
 
neen dat is het niet,

het bestand waar we nu de code in moeten zetten is VCA xls.
hierin worden in 2 kolommen (D en E)datums genoteerd, de hoogste van de 2 datums komt in kolom "F", en van daar zou automatisch bij elke wijziging deze nieuwe waarde moeten doorgestuurd worden naar
C:\Documents and Settings\evanaken\Desktop\systeem\centraal systeem\database materieel\nieuwe codes materieell.xls
elke regel in VCA .xls heeft in kolom A een code, bv VSN137, en deze code is terug te vinden in de A kolom van nieuwe codes materiell.xls , in de regel waar deze code staat moet dan in kolom P deze datum worden genoteerd

begrijp je?
 
Laatst bewerkt:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
On Error Resume Next
If Target.Column = 6 And Range("A" & Target.Row) <> "" Then
    Workbooks.Open "C:\Documents and Settings\evanaken\Desktop\systeem\centraal systeem\database materieel\nieuwe codes materieell.xls"
    With ActiveWorkbook
        .Sheets("Blad1").Columns(1).Find(Target.Offset(0, -5).Value, , xlValues, xlWhole).Offset(0, 16).Value = Target.Value
        .Close True
    End With
End If
Application.ScreenUpdating = True
End Sub
 
Laatst bewerkt:
Dit is wat er nu staat,

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
If (Target.Column = 4 Or Target.Column = 5) And Len(Target) = 1 And Target.Value < 5 And Target.Value >= 1 Then
    Target.Value = Year(Now()) & "-" & Target

ElseIf Target.Column = 6 And Range("A" & Target.Row) <> "" Then
    Workbooks.Open "C:\Documents and Settings\evanaken\Desktop\systeem\centraal systeem\database materieel\nieuwe codes materieell.xls"
    With ActiveWorkbook
        .Sheets("Blad1").Columns(1).Find(Target.Offset(0, -5).Value, , xlValues, xlWhole).Offset(0, 16).Value = Target.Value
        .Close True
    End With

End If
Application.ScreenUpdating = True
End Sub

maar dit zorgt er niet voor dar wanneer er een verandering komt in kolom "D" of "E" en dit een verandering in kolom F veroorzaakt, dat dit automatisch ook wordt gewijzigd in het doelbestand:C:\Documents and Settings\evanaken\Desktop\systeem\centraal systeem\database materieel\nieuwe codes materieell.xls

heeft iemand een oplossing zodat dit in het vervolg zelfs zonder dat dit bestand wordt geopend deze functie wordt uitgevoerd?
 
probleem 2 :

dit staat er:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count = 1 Then
    If Target.Column = 4 And Range("E" & Target.Row).Value <> "" Then
        Workbooks.Open "C:\Documents and Settings\evanaken\Desktop\systeem\centraal systeem\fiches materieel\" & Range("E" & Target.Row).Value
        With Workbooks(Workbooks.Count)
            .Worksheets(1).Range("A15").Value = Target
            .Close Savechanges:=True
        End With
        
    ElseIf Target.Column = 13 And Range("E" & Target.Row).Value <> "" Then
        [COLOR="red"]Workbooks.Open "C:\Documents and Settings\evanaken\Desktop\systeem\centraal systeem\VCA database\VCA .xls" & Worksheets(1).Columns(1).Find(Target.Offset(0, -8).Value, , xlValues, xlWhole).Offset(0, 4).Value[/COLOR]        
With Workbooks(Workbooks.Count)
            .Worksheets(1).Columns(1).Find(Target.Offset(0, -8).Value, , xlValues, xlWhole).Offset(0, 4).Value = Target.Value
            .Close Savechanges:=True
        End With
        
    ElseIf Target.Column = 13 And Len(Target.Value) = 1 And Target.Value < 5 And Target.Value >= 1 Then
        Target.Value = Year(Now()) & "-" & Target
  
    End If
End If
End Sub

en op de gekleurde regel krijg ik de foutmelding " objectvariabele of blokvariabele With is niet ingesteld"
 
Beste elodie ;)

Heb de topic niet volledig gevolgt, maar is de path naam wel goed geschreven ?
Ik zie bij VCA .xls dat hier een spatie staat, is dit zo ?

Ga anders naar het bestandje VCA.xls en met de rechtermuisklik op eingenschappen klikken en kijk bij Locaties in tabblad Algemeen of de pathnaam goed is geschreven.

Groetjes Danny. :thumb:
 
Elodie, je gebruikt ook niets van de aangedragen oplossingen. Je blijft vasthouden aan die Find-actie achter het te openen bestand, hetgeen mij een raadsel is wat die daar staat te doen. Niet meer dan logisch dat je daar een foutmelding op krijgt. Als je mijn code bekijkt vind je die toch ook niet terug.
En hoe wordt de wijziging in kolom F doorgevoerd maw handmatig, door een formule oid.
 
Laatst bewerkt:
mijn excuses, ik had hier los over gekeken.
Ik heb deze wijzigingen aangebracht en ondervind hier geen problemen meer, bedankt...

heeft u toevallig ook een oplossing voor het volgende probleem:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)

If (Target.Column = 4 Or Target.Column = 5) And Len(Target) = 1 And Target.Value < 5 And Target.Value >= 1 Then
    Target.Value = Year(Now()) & "-" & Target

ElseIf Target.Column = 6 And Range("A" & Target.Row) <> "" Then
    Workbooks.Open "C:\Documents and Settings\evanaken\Desktop\systeem\centraal systeem\database materieel\nieuwe codes materieell.xls"
    With ActiveWorkbook
        .Sheets("Blad1").Columns(1).Find(Target.Offset(0, -5).Value, , xlValues, xlWhole).Offset(0, 16).Value = Target.Value
        .Close True
    End With

End If
end sub

Dit is wat er nu staat,
maar dit zorgt er niet voor dat wanneer er een verandering komt in kolom "D" of "E" en dit een verandering in kolom F veroorzaakt, dat dit automatisch ook wordt gewijzigd in het doelbestand:C:\Documents and Settings\evanaken\Desktop\systeem\centraal systeem\database materieel\nieuwe codes materieell.xls
 
Laatst bewerkt:
Fantastisch, zover zijn we al :D
Wat betreft je 2de probleem, hoe worden de wijzigingen aan gebracht in kolom D, E en F ?
 
de waarden van kolom D en E worden elk met een macro uit 2 verschillende bestanden gekopiërd, deze macros staan in de editor van de 2 verschillende bestanden.

kolom F is een vergelijking tussen D en E met als formule: "=ALS(D2>E2;D2;E2)"
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan