Celwaarde updaten binnen macro

Status
Niet open voor verdere reacties.

Starretje

Gebruiker
Lid geworden
1 dec 2008
Berichten
9
Op het internet heb ik helaas geen oplossing kunnen vinden voor het volgende probleem...hopelijk kan iemand hier mij verder helpen.

Ik heb een worksheet "Archief" met hele bulk aan informatie.
Nu wil ik via een formulier nieuwe informatie aan deze sheet toevoegen.
Om de nieuw toe te voegen informatie op de eerstvolgende lege regel te krijgen heb ik een sheet aangemaakt "Blad3" waarvan de waarde van A1 wordt bepaald door:

Worksheets("Blad3").Range("A1").Value = Worksheets("Archief").Range("A65536").End(xlUp).row

Wanneer ik 1 regel aan nieuwe informatie toevoeg gaat het goed. Echter als ik dan nog een regel toe wil voegen schrijft hij de informatie over de eerder toegevoegde informatie heen.
Het probleem zit dus waarschijnlijk in het niet opnieuw bepalen van de waarde van "Blad3" " A1".
Ik heb al wat zitten proberen met ReDim en Update maar ik krijg er geen goed werkende code uit.

Kan iemand mij misschien een stapje verder helpen?

Alvast Bedankt
 
Waarom schrijf je dat überhaupt weg naar een cel?

Met

Code:
Worksheets("Archief").Range("A65536").End(xlUp).row

krijg je toch telkens de laatst gebruikte rij (dus telkens geüpdatet)?
 
De eerste lege cel in kolom A

Code:
sheets("Archief").cells(rows.count,1).end(xlup).offset(1)="de eerste lege cel in kolom A"
 
Laatst bewerkt:
Waarom schrijf je dat überhaupt weg naar een cel?

Met

Code:
Worksheets("Archief").Range("A65536").End(xlUp).row

krijg je toch telkens de laatst gebruikte rij (dus telkens geüpdatet)?

Leek mij dan misschien een optie om een code in de macro te verwerken waardoor blad tussendoor geupdate wordt.

Heb nu dus ook geprobeerd om binnen de macro
Code:
 NewRow = Worksheets("Archief").Range("A65536").End(xlUp).row
toe te passen. Dat kan ook...maar probleem is daarmee niet opgelost.
 
De eerste lege cel in kolom A

Code:
sheets("Archief").cells(rows.count,1).end(xlup).offset(1)="de eerste lege cel in kolom A"

Dit is toch ongeveer hetzelfde als mijn code om de eerstvolgende lege regel te bepalen??
 
Nee, want jij zoekt naar de laatst gevulde regel, mijn code pakt de eerste lege regel (en ook efficiënter).
Nadat in die eerste lege regel iets is ingevoerd, wordt de volgende keer automatisch de regel daaronder geselecteerd; er wordt niets overschreven.
 
De eerste lege cel in kolom A

Code:
sheets("Archief").cells(rows.count,1).end(xlup).offset(1)="de eerste lege cel in kolom A"

Ik had het volgende staan:
Code:
Private Sub Opslaan_Click()
Dim NewRow As Integer
NewRow = Worksheets("Archief").Range("A65536").End(xlUp).row
Worksheets("Archief").Cells(NewRow, 1).Value = DMutatieForm.fBoxnummer.Value
als ik nu jou stukje code zet na NewRow = ..en wat er stond haal ik weg dan krijg ik een foutmelding 1004. Wat mis ik?
(Ik heb niet echt veel verstand van VBA maar probeer met codes van het internet iets in elkaar te draaien)
 
Mijn suggestie dient als vervanging van jouw code (niet als aanvulling)
 
Ok maar als ik jou code er gewoon in plak dan doet ie het ook niet geeft fout op

="de eerste lege cel in kolom A"

En mist dan ook de waarde voor NewRow

Kan je misschien voor mij de code neerzetten zoals ik hem kan toepassen??!

Alvast bedankt
 
Code:
Private Sub Opslaan_Click()

    Dim NewRow As Long 'GEEN Integer
    NewRow = Worksheets("Archief").Range("A" & Rows.Count).End(xlUp).Row + 1 'Rows.Count ingevoegd, tevens de + 1
    Worksheets("Archief").Cells(NewRow, 1).Value = DMutatieForm.fBoxnummer.Value

End Sub

en korter:

Code:
Private Sub Opslaan_Click()

    Worksheets("Archief").Range("A" & Rows.Count).End(xlUp).Offset(1).Value = DMutatieForm.fBoxnummer.Value

End Sub

maar dat had Snb al gegeven.

Wigi
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan