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

Opgelost Excel dynamische grafiek

Dit topic is als opgelost gemarkeerd
Status
Niet open voor verdere reacties.

Oskar Lampers

Gebruiker
Lid geworden
11 mrt 2024
Berichten
6
Voor een Excel-opdracht moet ik facturen naar een dagboek-werkblad sturen m.b.v. een knop (macro). Dit is mij gelukt. Ik moet van deze dagboek gegevens een dynamische grafiek maken, dat houdt in dat telkens als je een nieuwe factuur toevoegt de grafiek update en deze gegevens verwerkt. Nu heb ik al meerdere uren onderzoek hier in zitten en kom erachter dat m.b.v. een tabel dit opgelost kan worden. Nu heb ik dit geprobeerd en werkt dit ook. Als ik op mijn knop 'factuur naar werkblad' klik komt de factuur niet onderaan het rijtje van de tabel maar vervangt 'ie steeds maar weer de eerste rij. Hoe kan ik dit veranderen?

PS: waarschijnlijk hebben jullie meer inzicht nodig in wat mijn situatie is. Ik ben echter bang dat als ik mijn Excel-bestand deel dat hier geknoeid mee kan worden. Kan iemand mij verzekeren van het feit dat dit niet het geval is? (zodat ik het met alle rust kan delen om zo duidelijker mijn probleem te kunnen laten zien)

Bij voorbaat dank.
 
je kunt een vb bestand maken met de macro en deze hier plaatsen.
als je de opzet hetzelfde hebt als origineel kan je het er zo in kopiëren
 
Hoe maak ik zo’n voorbeeld bestand? In dit excel bestand zitten namelijk ook meerdere macro’s waardoor mijn docent kan kijken wat ik allemaal aanpas en of ik dingen stapsgewijs doe. Worden deze macro’s dan ook meegenomen in het voorbeeld waardoor mijn docent ‘meldingen’ van (andermans) aanpassingen krijgt?
 
Je kunt hier gewoon een kopie van je document plaatsen.
 
Eén module is genoeg.
Code:
Sub Factuurnummer()
    If MsgBox("Nieuwe factuur toevoegen?", vbOKCancel) = vbOK Then
        Range("G2") = Range("G2") + 1
        Range("G3").Select
    End If
End Sub

Sub NaarDagboek()
    ' Neem de factuurgegevens in het dagboek op
    With Sheets("dagboek")
        .Range("J2:Q2").Copy
        .Range("A1").End(xlDown).Offset(1, 0).PasteSpecial Paste:=xlPasteValues
    End With
    Application.CutCopyMode = False
    Range("G2").Select
End Sub
 
Hoi @snb,
Ik snap wat je denkt. Mijn docent wil mij hier echter niet mee helpen. Daarnaast is het niet zo alsof ik gelijk voor de meest gemakkelijke weg kies aangezien er vanuit mijn kant al 5+ uur aan onderzoek in zit echter zonder resultaat...

@AHulpje, ervaar jij niet het volgende probleem: als ik de gegevens van het werkblad 'dagboek' converteer naar een tabel en dan op de knop 'factuur naar dagboek' klik in het werkblad 'factuur', dan worden, in het werkblad 'dagboek, de oude factuurgegevens van A3:H3 vervangen door de nieuwe factuurgegevens. Deze nieuwe factuurgegevens moeten niet in A3:H3 komen te staan maar in de cellen onder de laatste factuur, in dit geval dus op A7:H7...
 
@snb en AHulpje.

Kijk, dit staat er in de huisregels.
M.a.w. is er niets mis mee met de vraag van Oskar.
Om zijn eerlijkheid wordt hij nu gestraft. Moet niet kunnen, dacht ik.
Code:
Huiswerk en school/bedrijfs-opdrachten

Het forum is niet bedoeld voor kant-en-klare oplossingen.
Van het leren toepassen/gebruiken van suggesties in het forum leert men het meest.
Beschouw aangereikte adviezen daarom als suggesties waarmee u zelf verder kunt werken.
 
Eens. Er wordt overigens duidelijk aangegeven dat hij zelf meerdere pogingen gedaan heeft.
Als je het zo doet, worden de gegevens onderin je tabel gezet.

Code:
Sub NaarDagboek()
 With Sheets("dagboek")
   .Range("A" & Rows.Count).End(xlUp).Offset(1).Resize(, 8) = .Range("J2:Q2").Value
 End With
End Sub
 
@JEC. en @peter59,
Ik wil jullie bedanken voor het ondersteunen. Daarnaast wil ik @JEC. nog eens hartelijk bedanken voor het helpen bij het overkomen van een, voor mij, reusachtig struikelblok. Ik kan nu gelukkig weer door met de opdracht, het zorgt voor veel opluchting.
Nogmaals dank!
Mvg,
Oskar
 
En als je van je dagboek een tabel maakt dan werkt dit ook:
Code:
Sub NaarDagboek()
    ' Neem de factuurgegevens in het dagboek op
    With Sheets("dagboek")
        .Range("J2:Q2").Copy
        With .ListObjects("Tabel1")
            .Range(.Range.Rows.Count + 1, 1).PasteSpecial Paste:=xlPasteValues
        End With
    End With
    Application.CutCopyMode = False
    Range("G2").Select
End Sub
 
Of ietsje compacter, in de stijl van JEC:
Code:
Sub NaarDagboek()
    ' Neem de factuurgegevens in het dagboek op
    With Sheets("dagboek").ListObjects("Tabel1")
        .Range(.Range.Rows.Count + 1, 1).Resize(, 8) = Sheets("dagboek").Range("J2:Q2").Value
    End With
    Range("G2").Select
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan