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

update doorvoeren

Status
Niet open voor verdere reacties.

westra77

Gebruiker
Lid geworden
2 mrt 2007
Berichten
149
hallo. Ik heb een excel bestand die door meerdere collega's wordt gebruikt,
na verloop van tijd kan het zijn dat er een nieuwe versie nodig is. Nu wil ik graag dat dmv een macro knop gegevens worden gekopieerd naar de nieuwere versie.
echter er zijn een paar belangrijke aspecten die eerst afgecheckt moeten worden.
na het openen van een bestand moet excel eerst controleren of dit het juiste bestand is.
in cel h1 staat het getal 1 verborgen. Deze moet aanwezig zijn, anders is waarschijnlijk een verkeerd excel bestand geopeend. Een extra controle vindt plaats door de messagebox waarin gevraagd wordt of de gebruiker wel zeker weet of het juiste bestand is geselecteerd.
ik zit met drie vragen:

1: indien een bestand wordt geselecteerd, en meteen op annuleren wordt gedrukt krijg ik een foutmelding
2: binnen de macro code controleert excel nu niet of in cel h1 een 1 (in het geselcteerde bestand) voorkomt.
3: is dit sowieso een juiste manier binnen excel om een update door te voeren of zijn er betere methodes




Code:
	Option Explicit



'
Sub Knop6_BijKlikken()
    Dim Naam As String
    Workbooks.Open Application.GetOpenFilename
    Naam = ActiveWorkbook.Name
    Range("C21:H27").Select
     If Range("h1") = 1 Then
      MsgBox "deze versie is te oud en kan niet worden geupdated", vbInformation
    Exit Sub
    Else
    If MsgBox("weet u zeker dat u het juiste bestand heeft geselecteerd?", vbQuestion + vbYesNo + vbDefaultButton2, "Update") = vbYes Then
    Selection.Copy
    Windows("update versie proef.xls").Activate
    Range("A22").Select
    ActiveSheet.Paste
    Range("A30").Select
    Else: MsgBox "De historie blijft bewaard, er wordt niets gewijzigd", vbInformation
    End If
    End If
    Workbooks(Naam).Close False
End Sub
 
Je kunt de gebruikers toch een excelbestand sturen dat de hele update-operatie voor zijn rekening neemt (zonder gebruikersinteraktie) op het moment dat het bestand geopend wordt.
 
bedankt voor je reactie, toch wil ik het liefst op bovenstaande wijze de update uitvoeren.punt 2 heb ik inmiddels zelf opgelost, maar ik loop nog tegen twee foutmeldingen aan.
1
Code:
 Selection.Copy
 Windows("update versie proef2.xls").Activate
 Range("A22").Select
het xls. bestand dient in dit geval altijd ("update versie proef2.xls") te heten. Indien ik het bestand onder een andere naam opsla en de code opnieuw uitvoer loopt deze logischer wijs vast, hoe los ik dit op?

2 indien ik een bestand selecteer en daarna op annuleren druk krijg ik de volgende melding: fout 1004 onwaar.xls kan niet worden gevonden.

alvast bedankt
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan