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

gegevens op halen uit gesloten bestand.

Status
Niet open voor verdere reacties.

popipipo

Meubilair
Lid geworden
21 nov 2006
Berichten
8.960
Besturingssysteem
Win11
Office versie
Office 365
http://www.helpmij.nl/forum/showthr...nden-in-1-bestand?highlight=gesloten+werkblad


Uit bovenstaand topic heb ik de vba code gehaald om uit gesloten werkbladen gegevens te importeren.
In het bestand maakt hij keurig een nieuw tabblad aan van alle bestanden.

Ik wil echter dat als het bestand al eerder is opgehaald, dus het tabblad naam bestaat al, dat hij de gegevens overschrijft en niet een nieuw tabblad maakt.

Mijn vba kennis is te gering om die aanpassing te maken.

Nog een aanvullende vraag:
Is het eventueel ook nog mogelijk om slechts 1 ( van de drie ) tabbladen te importeren?
 

Bijlagen

Laatst bewerkt:
de aanpassingen zijn redelijk makkelijk te maken.

Voor het kopiëren van een enkele sheet:

Wkb.Sheets(1).Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count) 'kopieer sheet nummer 1
Wkb.Sheets("henk").Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count) 'kopieer alleen "henk".

wat betreft duplicaten, je kunt of elke keer door de namen lopen en duplicaten vervangen OF (heel vies) eerst toch alles toevoegen en vervolgens alle duplicaten deleten en alleen de laatste behouden.
 
@wampier

Bedankt voor je antwoorden.
Voor vraag 2 had ik intussen het bestand toch nog vrij eenvoudig terug kunnen brengen naar 1 tabblad dus die vraag is opgelost.

Voor de eerste vraag heb Ik de oplossing van delete eerst het origineel en ga daarna ophalen.
Nu stuit ik nog op het probleem van naam van het tabblad.

De tabbladnamen worden nu achtereenvolgens "gegevens"; "gegevens(2)"; "gegevens(3)" enzovoort dit gaat door tm "gegevens(50)";

Het tabbladnaam in dit bestand laat ik automatisch bepalen uit Cel A1 via

Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
ActiveSheet.Name = [a1]
End Sub
Door het ophalen veranderd het tabblad naam nog niet
Ik moet dus voor elk tabblad in cel A1 gaan staan en een <ENTER> geven.
Hoe kan ik dit in een keer via vba voor elkaar krijgen.
 
Code:
Else
                WS.Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
               [COLOR="red"] ActiveSheet.Name = [A1].Value[/COLOR]
            End If
Willem, nog enkele bijkomende vraagjes
1. Staan de te openen bestanden steeds in dezelfde map, dan kan je dat verkennerscherm uitschakelen
2. Staat er in elk bestand maar 1 tabblad, dan kan je een For...Each lus uitschakelen
3. Staan er in elk bestand steeds gegevens, dan kan je die controle uitschakeleln
Aangezien het over 50 bestanden gaat kan dit toch een belangrijke tijdswinst opleveren, denk ik
 
Laatst bewerkt:
@Rudy
Bedankt voor de perfecte oplossing.
Wat kan het leven toch simpel zijn.

Ik wil echter dat als het bestand al eerder is opgehaald, dus het tabblad naam bestaat al, dat hij de gegevens overschrijft en niet een nieuw tabblad maakt.

Heb je toevallig ook nog een oplossing voor dit probleem.
 
Willem, test deze eens uit en laat maar iets weten
 
Schitterend Rudy
Precies zoals ik het wil hebben.
Hartelijk dank.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan