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

VBA-regels werken niet na kopiëren naar ander excelbestand

Status
Niet open voor verdere reacties.

Arno1980

Gebruiker
Lid geworden
7 feb 2012
Berichten
20
VBA_probleem.pngBekijk bijlage Voorbeeldbestand.xlsxGoedemiddag,

Kort geleden heb ik een vraag gesteld, hoe ik formules van platte tekst kan activeren. Dat lukte destijds maar nu niet meer..

Situatie: ik heb 13 bestanden met elk 100 tabbladen, met elk 100 regels en een aantal bijbehorende kolommen. De namen van de tabbladen zijn altijd gelijk. Nu heb ik een blad gemaakt met formules, waarmee ik per tabblad de relevante cellen uitlees, hiermee krijg ik een overzicht van relevante waarden, maar nu onder elkaar (niet verspreid over tabbladen).

Het formuleblad kopieer ik vervolgens naar het excelbestand met de 100 tabbladen die ik wil uitlezen, maar de formules staan weergegeven als platte tekst. Die kan ik activeren met f2-enter, maar dat moet ik dan 100 tabbladen * 100 regels * 10 kolommen doen.

gast0660 kwam vervolgens met een werkende oplossing in VBA (zie ook screenshot). Wanneer ik deze nu overneem in het andere bestand, werkt deze niet meer (zie ook foutmelding in screenshot). Er lijkt iets niet te kloppen met een variabele (naam van het tabblad wellicht?), maar ik ben erg onervaren met VBA en ik weet niet hoe ik dit moet oplossen..

Vast een domme vraag, meet iemand wat hier aan de hand is en hoe ik dit kan oplossen? Hoe ik weer formules kan activeren vanuit platte tekst?

Bijgevoegd zijn: excel met voorbeeld, en screenshot van de situatie in VBA (die eerst wel werkte) en de foutmelding.

Alvast hartelijk dank van een nog onervaren VBA-gebruiker!
 
Het document dat je bijsloot bevat geen VBA code.
Wel formules met een verwijzing naar een blad met de naam '1' en die bestaat niet.
 
Laatst bewerkt:
Dat klopt, dit is een voorbeeld van een formuleblad die ik zou kopiëren naar een bestand waarin 100 tabbladen zijn opgenomen. Het doel is om data uit die 100 tabbladen (genaamd '1', '2', etc.) de relevante data te lezen; daar verwijzen die formules naar en die moeten worden geactiveerd om alle data uit te lezen. De VBA die ik later toevoeg is terug te vinden in de screenshot, inclusief foutmelding.

Als ik die VBA code invoer krijg ik dus een foutmelding en worden er geen formules geactiveerd. Weet je zo waar dat aan kan liggen, of is het handig als ik een ander voorbeeldbestand gebruik? Dat is voor mij wel een klusje, aangezien het bestand dat ik gebruik gevoelige informatie bevat..

Bij voorbaat dank,
Arno
 
Hoi Arno,
Vervang de regel waar de foutcode voorkomt
Deze dus:
Code:
Set rngRange = Blad1.Range("A1:E40001")
Door
Code:
Set rngRange = [COLOR="#FF0000"]ActiveSheet[/COLOR].Range("A1:E40001")
en test
 
Goedemiddag gast0660,

Ik heb de wijziging doorgezet, en daarnaast de range aangepast (deze was te ruim, nu alle cellen waar formules in platte tekst instaan).

Nu krijg ik een melding 'Waarden bijwerken: 17', en probeert Excel een excelbestand te vinden (zie ook screenshot). Ik weet niet wat Excel probeert te doen of waarnaar '17' verwijst. Zegt dit je iets?

Ik hoop dat je me wederom uit de brand kunt helpen, alvast dank!

M.vr.gr.,
ArnoWaarden bijwerken 17.jpgVBA_waarden_bijwerken_17.png
 
Maak eens een schreenshot van uw vba editor (het deel projectverkenner) in het bestand waar de fout zit. En geef mij ook eens de tabnaam van het blad dat je wil omzetten.
 
VBA_projverkenner1.pngVBA_projverkenner2.png

Ik heb screenshots van de verkenner toegevoegd, het lijkt erop dat er een nummer tussen haakjes achter de namen van de tabbladen staat. Kan dat er iets mee te maken hebben? De naam van het bestand met de formules die ik graag wil activeren is 'Uitlezen'.

Kun je hier iets uit afleiden? Ik kan meer info geven /screenshots uploaden indien nodig..

M.vr.gr.,
Arno
 
Hoi Arno,
In dit bestand wil je blad 14 uitlezen en niet blad 1, verander de code naar:
Code:
Set rngRange = Blad[COLOR="#FF0000"]14[/COLOR].Range("B7:K10006")
Als je nog andere bestanden wil uitlezen kijk je in de VBA editor naar het bladnummer (niet de bladnaam) van het blad dat je wil uitlezen en pas aan in de code.
Hopelijk is het duidelijk.
 
Goedemorgen gast0660,

Dank je, dat lijkt inderdaad goed, voor m'n gevoel komen we steeds dichterbij. Helaas krijg ik nu nog wel de melding 'waarden bijwerken' (screenshot toegevoegd).. en lijkt excel iets te willen koppelen aan een excelbestand of tabblad. Herken je dat, en is dat makkelijk te verhelpen?

M.vr.gr.,
Arno


Waarden bijwerken 17.jpg
 
Uw formules verwijzen naar bestand met de naam 1 in plaatje, staat het bestand wel in dezelfde map, want er is geen verdere verwijzing naar een andere map of directory.
 
De formules verwijzen naar tabbladen 1 t/m 100. In het bestand waarin ik werk, zijn zowel het formuleblad als 100 tabbladen genummerd 1 t/m 100 opgenomen. Ik heb 13 bestanden met tabbladen 1 t/m 100, het formuleblad plak ik er later in om data uit te lezen naar 1 blad.

In het voorbeeldbestand zijn deze tabbladen inderdaad niet opgenomen..

Wat betreft de melding 'waarde bijwerken', zit er wellicht een fout in de verwijzing? Dat er ergens '17' staat, en dat er een tabblad aan gekoppeld moet zijn maar niet is? Of zoek ik helemaal in de verkeerde richting nu..

M.vr.gr.,
Arno
 
Natuurlijk,ik was ook 2 dingen door elkaar aan het halen. Ben met 3 verschillende problemen bezig.
Kijk hier eens naar of je daarvan wijzer wordt.
Klik op het tabblad Gegevens in de groep Verbindingen op Koppelingen bewerken.
Vind je daar 17 terug zoja
Klik op de koppeling die u wilt verbreken in de lijst Bron.
Klik op Koppeling verbreken.
 
Ik kan 'Kopp. bewerken' niet selecteren, die is lichtgrijs.. het lijkt erop dat er geen koppeling is. Kan het iets anders zijn?
 
Nu weet ik ook niet meer?
Kan je het probleembestand mailen?
 
Ik kan het mailen, dan moet ik snel een paar dingen aanpassen. Naar welk adres kan ik het mailen?
 
Hier kan ik kiezen voor mailbericht, maar daar kan ik geen bijlagen aan toevoegen vrees ik.. zou je nog kunnen aangeven hoe ik een bijlage verstuur?

ik heb het bestand inmiddels iets aangepast, qua structuur is deze wel gelijk gebleven.

M.vr.gr.,
Arno
 
Stuur mij een mailtje, je krijgt een antwoord en nadien kan je de bijlage versturen
 
Zorg ervoor dat de tabnamen correct gespeld zijn. Let hierbij op spaties.

Deze code is volgens mij voldoende.
Code:
Sub VenA()
  Range("A2:E4001").Formula = Range("A2:E4001").Value
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan