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

een celwaarde uit een gesloten excelbestand .

Status
Niet open voor verdere reacties.

HORADADA

Gebruiker
Lid geworden
4 okt 2011
Berichten
37
Dag,
Ik heb de volgende vraag:
Ik wil 1 celwaarde uit een gesloten Excel bestand halen.
Eerst ophalen, en bewerken, en dan terug schrijven naar dat gesloten Excel bestand.
de locatie van de celwaarde is overal dezelfde: Z1 (zowel in bronbestand, als in doelbestand)


Ik heb al veel voorbeelden gevonden, maar die allemaal zo lang en ingewikkeld, dan ik ze niet kan invoegen in mijn macro.

1. Bestaat er een eenvoudige manier om een celwaarde op te halen uit een gesloten Excelbestand?
2. bestaat er een eenvoudige manier om deze celwaarde terug te sturen naar dat gesloten Excelbestand en die aangepaste celwaarde in dat gesloten excelbestand te bewaren?

elke tip die mij op weg kan helpen is welkom.

dank!
 
Probeer dit eens met een kopie van je bestanden.
Het is vlug in elkaar gezet en heeft wat werk nodig om netjes te maken.

Code:
Sub TryThis()
    Dim c00 As String
    Dim c01 As String
    Dim c02 As String
    Dim MyPath As String
    Dim strFilename As String
    Dim wbDst As Workbook
    Dim wbSrc As Workbook

    Application.ScreenUpdating = False
    c00 = "E:\E-Mail Downloads\"   '<---- Veranderen naar jou gegevens (Folder waar het gesloten bestand is)
    c01 = "VB Add Set Value To Many Cells"   '<---- Veranderen naar jou gegevens (Naam van het gesloten bestand)
    c02 = Dir(c01 & "*.xlsm")   '<---- xls of xlsm?
    With Sheets("Sheet1").Range("A12")   '<---- Veranderen naar jou gegevens (Waar je het opgehaalde nummer wilt hebben)
        .Formula = "='" & c00 & "[" & c02 & "]Sheet1'!A10"   '<---- Veranderen naar jou gegevens (Waar het op te halen nummer is)
        .Value = .Value
    End With


    'Hier je berekeningen maken met het geimporteerde getal


    MyPath = "E:\E-Mail Downloads"   '<---- Veranderen naar jou gegevens (Folder waar het gesloten bestand is)
    strFilename = Dir(MyPath & "\VB Add Set Value To Many Cells.xlsm", vbNormal)   '<---- Veranderen naar jou gegevens (Naam van het gesloten bestand)

    If Len(strFilename) = 0 Then Exit Sub
    Set wbDst = Workbooks.Open(Filename:=strFilename)
    Set wbSrc = ThisWorkbook
    wbSrc.Sheets("Sheet1").Range("A12").Copy wbDst.Worksheets("Sheet1").Range("B4")   '<---- Veranderen naar jou gegevens (Waar het gekopieerd word en geplakt moet worden)
    wbDst.Save
    wbDst.Close True
    Application.ScreenUpdating = True
End Sub

Betere coders zullen het hopelijk opknappen voor je.
 
Voor het ophalen van gegevens heb je maar 1 VBA-regel nodig.

Code:
Range("Z1").Value = ExecuteExcel4Macro("'pad[Bestand]werkblad'!R1C26")

Pad, bestand en werkblad nog aanpassen.

Overigens hoef je geen VBA te gebruiken om gegevens uit een gesloten bestand te halen.
Dat kan ook in Excel.

Met vriendelijke groet,


Roncancio
 
bedankt Roncancio!
bedankt jolivanes!

Ik heb het uiteindelijk, met behulp van stukken uit verschillende routines tot een goed einde kunnen brengen.
 
@ Roncancio,
Ik heb nog een vraagje als dat mag?
Ik heb je code gebruikt, en dat werkt perfect.

deze code is om een waarde van een cel op te halen.
Ik dacht volgende code te gebruiken om een waarde van een cel naar een gesloten bestand weg te schrijven, maar blijkbaar lukt dat niet.

Ik heb het volgende gedaan:
ExecuteExcel4Macro("'D:\mapnaam\[ARC T30X30 MASTER.xlsm]BEREKENINGEN'!R1C29") = Range("AA1").Value

bronbestand = actief werkblad
doelbestand = ARC T30X30 MASTER.xlsm
werkblad doelbestand = BEREKENINGEN
broncel op actief werkblad = AA1
doelcel in doelbestand = AC1 (of R1C29)

is het mogelijk om mij te vertellen waar ik in de fout ga?

dank
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan