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

Excel Macro probleem (moeilijkheidsgraad: simpel - lijkt mij althans)

Status
Niet open voor verdere reacties.

Roeland035

Gebruiker
Lid geworden
30 mrt 2015
Berichten
291
Beste,

Ik heb een artikelbestand met daarin de verkopen van elk artikel per maand.
Elk artikel wordt per regel weergegeven en ik wil per regel een knop toevoegen zodat je een grafiek kan zien van de verkopen van die regel.
Momenteel ben ik al een eind. Als ik in een bepaalde cel het artikelnummer intoets, dan pakt hij automatisch de aantallen d.m.v. verticaal zoeken.
Maar dit artikelnummer moet nu automatisch ingevuld worden, wanneer ik op de knop druk die in de regel staat van dat artikel.

Elke regel heeft een origineel artikelnummer. Dus zelf had ik zo'n idee om een macro te hangen aan de knop in die desbetreffende regel die het artikelnummer kopieert en plakt in de cel waar ik hem wil laten tonen. Helaas ben ik niet zo'n macro expert.

Kan iemand mij helpen?

Veel dank!
 
Laatst bewerkt:
Ik heb zelf al iets gevonden: Selection.Offset(0, -1).Copy _
Nu loop ik alleen nog tegen het probleem om al die knoppen aan te maken, momenteel moet je zo'n knop "tekenen". Kan ik niet 1 cel gemakkelijk vullen die dient als een knop?
 
Met de info die je geeft , deze macro achter het werkblad.

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

    If Target.Address = "$B$2" Then
        Target.Offset(, -1).Copy 'blablabla
        Cancel = True
    End If

End Sub

of voor kolom B

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

    If Not Intersect(Target, Range("B2:B1000")) Is Nothing Then
        Target.Offset(, -1).Copy 'blablabla
        Cancel = True
    End If

End Sub


Niels
 
Laatst bewerkt:
Met de info die je geeft , deze macro achter het werkblad.

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

    If Target.Address = "$B$2" Then
        Target.Offset(, -1).Copy 'blablabla
        Cancel = True
    End If

End Sub

Niels

Beste Niels,
Dank voor je antwoord. Ik ga het gelijk proberen. Ik heb alleen wel grofweg 1000 regels. Is het mogelijk om voor elke regel automatisch een knop toe te voegen, zodat ik deze macro er aan kan hangen?
 
Ik snap jou cel verwijzingen echter niet helemaal.
Laat mij het wat preciezer aantonen van wat ik zou willen hebben.

In kolom A staan alle artikelnummers, dit loopt van A1 t/m A1000. In kolom AB wil ik graag een knop voor elke regel toevoegen die de cel in kolom A kopieert en hem plakt op een ander werkblad. Namelijk in werkblad ("Grafiek") op cel P2.
 
Laatst bewerkt:
zie mijn toevoeging die ik al eerder had geplaatst.

Niels
 
Ik heb nu dit:
Sub Grafiek2(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("A2:A1000")) Is Nothing Then
Target.Offset(, -27).Copy _
Destination:=Worksheets("Grafiek").Range("P2")
Cancel = True
End If
End Sub

Helaas heb ik hier geen succes mee. Hij geeft aan dat het argument niet optioneel is.

PS. Ik ben geen expert in macro's.:rolleyes:
 
Laatst bewerkt:
Ik heb hem bijna werkende, de code is nu:
Sub Grafiek2()
Selection.Offset(, -27).Copy _
Destination:=Worksheets("Grafiek").Range("A2")
End Sub

Alleen wanneer ik op die knop drukt, dan pakt hij niet die cel als "Selected".
 
Hier kan een slotje op, heb het zelf al uitgevogeld:
Sub Grafiek2()
Application.ScreenUpdating = False
Dim b As Object, cs As Integer
Set b = ActiveSheet.Buttons(Application.Caller)
With b.TopLeftCell
cs = .Column
End With
b.TopLeftCell.Offset(, -27).Copy
Sheets("Grafiek").Range("A2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
 
Laatst bewerkt:
Als je nog nieuwsgierig bent wat er mis ging.
Je kunt de naam

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

niet veranderen, dit is nl een event, en al je dus dubbel klikt wordt de macro uitgevoerd

en hoe had je in gedachte als je op kolom A klikt kolom A-27 te kopieren?
Is dat dan kolom -AA???

Niels
 
Laatst bewerkt:
Als je nog nieuwsgierig bent wat er mis ging.
Je kunt de naam

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

niet veranderen, dit is nl een event, en al je dus dubbel klikt wordt de macro uitgevoerd

en hoe had je in gedachte als je op kolom A klikt kolom A-27 te kopieren?
Is dat dan kolom -AA???

Niels

Zoals ik al aangaf heb ik erg weinig ervaring met excel macro's ;):o
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan