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

tabel bijwerken en verzenden

Status
Niet open voor verdere reacties.

sis123

Gebruiker
Lid geworden
17 feb 2005
Berichten
284
Kort

Ik krijg van een bedrijf A een tabel.
Ik werk die bij met onze tabel bedrijf B.
Deze tabel wordt vervolgens naar een derde bedrijf C gestuurd.

Nu krijgen de de gebruikers steeds de fout #VERW! na openen (omdat hun gevraagd wordt bij te werken, ook bij niet bijwerken deze fout)

Er zitten in onze tabel wel formules :

bv.

=ALS($A18="x";ZOEKEN($B18;[bedrijfA.xls]"!$A$3:$A$33";[bedrijfA.xls]"!$H$3:$H$33")

waarbij $B18 = kalenderdag bedrijf B
criteria $A$ = kalenderdag bedrijf A
criteria $H$ = waarden bedrijf A over te nemen

Bedrijf C mag de tabel van bedrijf A niet zien.

Hoe kan ik dit oplossen ?
 
Je beschrijft je probleem wel heel summier en abstract, maar ik waag het erop:

Wanneer je je tabellen hebt opgebouwd met linken naar de verschillende tabellen, kan je deze selecteren, deze copieren, in een ander tabblad of ander bestand gaan staan en dan plakken speciaal te kiezen en dan waarden aan te duiden.

Op die manier heb je geen last meer van koppelingen bijwerken.
Al deze zaken kan je uiteraard ook automatiseren via VBA.
 
Laatst bewerkt:
Dus ik probeer het in vba

Sub day1()
'
' day1 Macro
'
'

'
With Selection.Interior
.ColorIndex = 5
.Pattern = xlSolid
End With
' ostma
Windows("BedrijfAmaandDEC07.XLS").Activate
Range("c3").Select
Application.CutCopyMode = False
Selection.Copy
Windows("BedrijfBmaandDEC07.xls").Activate
Range("q13").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
' hand
Windows("BedrijfAmaandDEC07.XLS").Activate
Range("K3").Select
Application.CutCopyMode = False
Selection.Copy
Windows("BedrijfBmaandDEC07.xls").Activate
Range("X13").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Hoe kan ik nu de bestanden als een soort INDIRECT automatiseren

anders moet ik iedere maand 600 regels in mijn script de naam van het bestand aanpassen
 
Die .Activate en .Select zijn normaal gezien niet nodig (of hoogstens eenmalig). Heb nu geen tijd om iets uit te werken.
 
Een aanzetje:
Maak van de bestandsnamen variabelen, dan hoef je alleen die aan te passen.

Code:
Dim BedrijfA as String
Dim BedrijfB as String

BedrijfA = "BedrijfAmaandDEC07.XLS"
BedrijfB = "BedrijfBmaandDEC07.XLS"

Gedeelte
Code:
' ostma
Windows("BedrijfAmaandDEC07.XLS").Activate
Range("c3").Select
Application.CutCopyMode = False
Selection.Copy
Windows("BedrijfBmaandDEC07.xls").Activate

kan dan worden
Code:
Windows(BedrijfA).Activate
Range("c3").Select
Application.CutCopyMode = False
Selection.Copy
Windows(BedrijfB).Activate
 
Kijk sis, het is echt simpel. En ik meen het.

Zet bestandsnamen en tabbladnamen in variabelen, zoals Jan al aangaf.

Vervolgens is dit de structuur van het kopiëren.

GEEN .Select of .Activate nodig:

Code:
Workbooks(BedrijfA).Sheets(naamvandebronsheet).Range("C3").Copy Workbooks(BedrijfB).Sheets(naamvandebronsheet).Range(cel/len)

Dit komt op regel, met spatie achter Copy. Eerste stuk vóór Copy is hetgeen je wil kopiëren, het stuk achter de Copy is waar naartoe je wil kopiëren.

Zie dat beide bestanden geopend zijn (ofwel manueel, ofwel via een regel VBA code die je zo uit de helpfiles kan plukken. Zie bij Open).

Wigi
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan