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

macro die snapshot maakt

Status
Niet open voor verdere reacties.

gvanwijk

Gebruiker
Lid geworden
3 mei 2018
Berichten
182
Hoe (met welke macro) maak ik een snapshot van 2 cellen waarvan de waarde elke dag verandert. Die 2 waarden moeten naar een ander tabblad gekopieerd worden en in een kolom terecht komen.
Het volgende snapshot moet dan in die kolom een rij lager komen. Van deze kolomwaarden-reeks wil ik dan een grafische weergave maken.

Zie de bijlage Bekijk bijlage Snapshot.xlsx
 
zo:

Code:
Sub SjonR()
With Sheets("Performance")
    Lr = .Range("A" & Rows.Count).End(xlUp).Row + 1
    .Cells(Lr, 1).Resize(, 2).Value = Range("B3:C3").Value
End With
End Sub
 
Waarom plaats je een .xlsx? Jouw macro staat er dan niet in.

Code:
Sub VenA()
  Sheets("Performance").Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 2) = Range("B3:C3").Value
End Sub
 
@VenA : ik plaats een xlsx omdat ik op zoek ben naar een macro: die zit er dus (nog) niet in. Helaas werkt die van Sjon nog niet. Zie mijn nieuwe upload.
 
Laatst bewerkt:
Gewoon de code van SjonR of mij overnemen. Copy/Paste
 
snap ik, heb ik gedaan dus en dat bestand (met macro) geupload, omdat het niet werkt en ik kennelijk iets verkeerd heb gedaan of de macro werkt niet.
 
Je bent toch wel zo slim geweest om de header van de routine aan te passen naar de naam van de knop?
Code:
Sub Snapshot()
    Sheets("Performance").Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 2) = Range("B3:C3").Value
End Sub
 
Toch nog even een vraag: de snapshot kopieert nu de cellen B3 en C3 naar kolommen A en B van tabblad "Performance", maar als ik deze in kolommen B en C wil hebben, hoe verandert dan de macro?
Met het antwoord kan ik de macro beter lezen/begrijpen en leer ik weer.

Nu (kopieren naar kolom A+B) is het:

Sub Snapshot()
With Sheets("Performance")
Lr = .Range("A" & Rows.Count).End(xlUp).Row + 1
.Cells(Lr, 1).Resize(, 2).Value = Range("B3:C3").Value
End With
End Sub
 
Zo?
Code:
Sub Snapshot()
    With Sheets("Performance")
        Lr = .Range("A" & Rows.Count).End(xlUp).Row + 1
        .Cells(Lr, [COLOR="#FF0000"]2[/COLOR]).Resize(, 2).Value = Range("B3:C3").Value
    End With
End Sub
 
Sorry, denk dat ik de vraag wat beter moet herformuleren:

met huidige macro (die werkt) worden de celwaarden naar A1 en B1 gekopieerd van tabblad Performance.
In de definitieve opzet moet de eerste snapshot echter naar B5 en C5 (en de volgende 1 rij lager, B6 en C6 -> maar dat gaat al goed met deze macro).
Alleen de eerste snapshot dus: die komt nu op A1+B1 terecht, maar moet naar B5+C5
 
Dan heb je kennelijk niet een relevant voorbeeld geplaatst.
Doe dat dus eerst.
 
Code:
Sub Snapshot()
  Sheets("Performance").Cells(Application.Max(5, Sheets("Performance").Cells(Rows.Count, 2).End(xlUp).Row + 1), 2).Resize(, 2) = Range("B3:C3").Value
End Sub
 
@edmoor -> ik had de vraag aanvankelijk vereenvoudigd, mij toen niet realiserende dat de macro die als oplossing gegeven werd, niet werkte, juist door die vereenvoudiging. Dus is was al bezig een relevant .xlsm bestand te maken, maar VenA was me voor
@VenA -> dank, deze macro laat zich ook nog eens wat makkelijker lezen (voor mij althans)
 
Meestal is code met daarin variabelen makkelijk te lezen, te debuggen en aan te passen

Code:
Lr = Application.max(5, .Range("B" & Rows.Count).End(xlUp).Row + 1)
 
Code:
Application.max(5, .Range("B" & Rows.Count).End(xlUp).Row + 1)
Ik dacht dat er een puntje vergeten was
Code:
Application.max(5, .Range("B" & .Rows.Count).End(xlUp).Row + 1)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan