• 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.

naam bestand = waarde cel in een ander bestand

Status
Niet open voor verdere reacties.
Hoi Roncanio en SNB.

Antwoord op SNB: Nee die functionaliteit ken ik nog niet. Ik zal daar eens in gaan kijken.

Antwoord richting Roncancio: Wij gebruiken EXCEL 2002.
Probleem t.a.v. de code die jij in een eerder stadium had aangedragen. bij jou code ontbrak de &".xls" (aangedragen door Warme Bakkertje)

Maar vanochtend wordt ik helemaal gek.
Ik heb het hele weekend op mijn Laptop de code die jullie hadden aangedragen gebruikt en het veranderen van de bestandsnaam 1.xls in Piet.xls lukte zonder probleem.
Vanochtend sluit ik dezelfde Laptop aan op ons netwerk en de code werkt niet meer.

Als jullie zo weten waar dat door kan komen laat het me weten, maar het begint er op te lijken dat ik nu alsnog een handleiding moet gaan schrijven waarin ik precies moet gaan uitleggen hoe aanpassingen gemaakt moeten worden met het handje.

Grtnx
Humadgen
 
Laatst bewerkt:
Ben ik weer.

Ik spreek net een "Netwerk support medewerker" en hij vertelde me dat mijn nieuwste probleem (niet meer werken van de Macro" waarschijnlijk komt, doordat er op ons Netwerk een script draait, die voorkomt dat er dit soort Macro's bestandsnamen aanpassen. (Dat wordt namelijk gezien als en mogelijk virus.)

Zijn opmerking / idee was dat het wellicht mogelijk is om dat te omzeilen door een code te gebruiken die herkent op wiens naam de EXCEL-licentie is afgegeven. Zodat het lijkt dat de code geactiveerd wordt door een persoon.
(Het lijkt er dusop dat ik nu vraag of iemand een "goedaardig" virus kan schrijven.):rolleyes:

Iemand enig idee of het mogelijk is?
Grtnx
Humadgen


Ik markeer mijn vorige bericht even op deze manier.
Ik heb samen met de "Netwerk Support medewerker" het probleem kunnen oplossen, door op de Folder, waar de bestanden worden weggezet, de rechten aan te passen.

Dus de rode teksten hierboven kunnen jullie negeren en terug naar waar we mee bezig waren.
Excuses voor eventueel extra werk die ik nu veroorzaakt heb. was niet de bedoeling.
Grtnx
Humadgen
 
Laatst bewerkt:
Kijk naar databasequery en ook het rechtenprobleem bestaat niet meer, want VBA is dan overbodig.
Je legt vanuit de medewerkerskaart een koppeling naar het hoofdbestand van de manager, om alleen de gegevens die op de medewerker betrekking hebben in de kaart in te lezen. Iedere keer als de medewerkerskaart wordt geopend wordt die automatisch geaktualiseerd aan het managersbestand.
Analoog kun je dat maken voor het bestand dat door de medewerkers wordt bijgehouden.
 
Hoi SNB

Je idee voor de databasequery is (neem ik aan) het antwoord op mijn vraag: of de vraag die EXCEL stelt bij het openen van het rooster : Update - Don't Update
Ik ga er zo naar kijken.

Ten aanzien van de code die de namen van bestanden wijzigt, en de bestandjes met de oude naam verwijdert, heb ik toch weer een oud probleem terug gekregen.

Eerst had ik de onderstaande code en die WIJZIGDE de naam van een bestandje en tevens kon ik daar ongestraft meerdere cellen in Kolom A op selecteren, want dankzij het And Target.count = 1 kreeg ik geen foutmelding meer.
Bij deze code mocht ik ook op een cel gaan staan in kolom A die een link had naar een bestandje wat niet open staat.

Code:
[COLOR="Green"]‘Code wijzigen.[/COLOR]
Dim sName As Variant

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Column = 1 And sName <> "" Then
    Dim WB As Workbook
    Set WB = Workbooks(sName)
        If Not WB Is Nothing Then
            Workbooks(sName).SaveAs Filename:=Target.Value & ".xls"
        End If
End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 1 And Target.Count = 1 Then
    sName = Target.Value & ".xls"
End If
End Sub

Met de laatste code (zie hieronder) die ik van Roncancio kreeg (waar ik zelf de & ".xls" weer aan toe heb gevoegd) werden ook de bestandjes uit de Folder VERWIJDERD met de oude naam. Dat was een SUPER oplossing voor mijn laatste probleem, maar daarbij krijg ik nu weer een foutmelding terug:
Run-time Error '9':
Subscript out of range

zodra ik op een cel klik waarin een link staat, met een verwijzing naar een bestandje wat niet open staat.

Code:
[COLOR="Green"]‘  Code wijzigen & verwijderen[/COLOR]

Dim sName As String
[B]Dim sOudBest As String[/B]

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Column = 1 And sName <> "" Then
    Dim WB As Workbook
    Set WB = Workbooks(sName)
        If Not WB Is Nothing Then
            Workbooks(sName).SaveAs Filename:=Target.Value & ".xls"
            [B]Kill sOudBest[/B]
        End If
End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count = 1 And Target.Column = 1 Then
    sName = Target.Value & ".xls"
  [B]  If Target.Value <> "" Then
        sOudBest = Workbooks(sName).FullName
    End If[/B]End If
End Sub

Weet iemand hoe deze laatste code nu weer aangepast moet worden om ervoor te zorgen dat ik wel "per ongeluk" een andere cel in kolom A mag aanklikken zonder de foutmelding te krijgen. (andere cel = anders dan een cel in kolom A die hoort bij het bestandje dat ook geopend is)
Ik heb er op zitten kijken, maar zie niet waardoor het fout gaat want het lijkt eropdat de Bold toevoegingen zich alleen maar richten op het kunnen verwijderen van hetoude bestandje.

Thanks
Humadgen
 
Code:
Dim sName As String
Dim sOudBest As String

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Column = 1 And sName <> "" Then
    Dim WB As Workbook
    Set WB = Workbooks(sName)
        If Not WB Is Nothing Then
            Workbooks(sName).SaveAs Filename:=Target.Value & ".xls"
            Kill sOudBest
        End If
End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count = 1 And Target.Column = 1 And Target.Value <> "" Then
    sName = Target.Value & ".xls"
    Dim WB As Workbook
        For Each WB In Workbooks
            If WB.Name = sName Then
                sOudBest = Workbooks(sName).FullName
            End If
        Next
    End If
End Sub

Met vriendelijke groet,


Roncancio
 
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  on error resume next
  If Target.Count = 1 And Target.Column = 1 Then sOudBest = Workbooks(Target.value & ".xls").FullName
  if err.number>0 then sOudBest=""
End Sub
 
SNB:thumb:, Roncancio :thumb:en Warme Bakkertje:thumb:

Als jullie dit lezen, alle drie heel erg bedankt voor jullie hulp. Er zijn nog een paar dingen die niet helemaal gingen zoal ik ze wou, maar het belangrijkste het opnieuw naamgeven van een bestand en het verwijderen van een ander bestand werkt.

Gelet op het aanstormende nieuwe jaar heb ik nu met een invoerscherm en de nodige protectie van kolom A in het Macro bestand e.e.a. opgelost. Wellicht kon het nog mooier worden als ik jullie nog verder had lastig gevallen met dit probleem, maar de tijd is nu te kort om het helemaal uit te werken. Ik ben mezelf aan het verdiepen in het VBA gebeuren (verder dan het opnemen van de macro een een paar stukjes code er tussen verbeteren, maar ben nog lang niet zo ver dat ik kan doen wat jullie wegzetten.)

Nogmaals bedankt voor de input tot zover, en ik kom ongetwijfeld nog wel met "andere" vragen terug.;)

Grtnx en prettige feestdagen
Humadgen
 
Graag gedaan en bedankt voor de terugkoppeling. :thumb:

Met vriendelijke groet,


Roncancio
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan