Archief - {Excel VBA} berekende waardes toevoegen in tabel via knop

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Stampertje

Legacy Member
Ik zit dus met dit werkblad : Printscreen

De bedoeling ervan is dus dat je a.d.h.v. een dropdown list een item en een productielijn kun kiezen en door het invullen van de externe factors M & T worden de hoeveelheid en de kostprijs van de parts berekend. Eenmaal alles ingevuld is wil ik dat de gebruiker via de knop de eindwaardes kan toevoegen in de tabel eronder.
Hiervoor moet ik dus met macro's werken, maar tot voor deze ochtend heb ik nog nooit VBA gebruikt dus had ik geen idee hoe of wat. na een voormiddag te zitten googlen begrijp ik al de basis van hoe dit werkt en ben ik op dit uitgekomen
Code:
Sub klikken()
Dim Gegevens(1 To 9) As String

Gegevens(1) = Range("B3").Value
Gegevens(2) = Range("C6").Value
Gegevens(3) = Range("G4").Value
Gegevens(4) = Range("G5").Value
Gegevens(5) = Range("G6").Value
Gegevens(6) = Range("G7").Value
Gegevens(7) = Range("G8").Value
Gegevens(8) = Range("G9").Value
Gegevens(9) = Range("G10").Value

Range("B19:J19") = Gegevens()
Range("C19:J19").NumberFormat = "#"
Range("L19").Value = "=M12"
Range("M19").Value = "=M4"
Range("N19").Value = "=M7"

End Sub

Dit werkt op zich, maar doordat ik de waardes als string defineer worden de getalwaardes als textformat in de tabel gezet. Ik probeer deze wel nog te veranderen met .Numberformat= "#" maar dit werkt dus niet.

Een volgende stap die ik wil is dat de gegevens op de volgende rij in de tabel worden geplakt als deze niet leeg is. En als alle rijen vol zijn dan via msgbox een foutmelding geven.

Edit:
Ondertussen mijn probleem met de format opgelost. als integer gegevens defineren ging niet, maar is blijkbaar omdat de waardes te hoog waren. Dus zo opgelost
Code:
Sub klikken()
Dim Gegevens(1 To 7) As Long

Gegevens(1) = Range("G4").Value
Gegevens(2) = Range("G5").Value
Gegevens(3) = Range("G6").Value
Gegevens(4) = Range("G7").Value
Gegevens(5) = Range("G8").Value
Gegevens(6) = Range("G9").Value
Gegevens(7) = Range("G10").Value

Range("B19").Value = "B3"
Range("C19").Value = "C6"
Range("D19:J19") = Gegevens()
Range("L19").Value = "=M12"
Range("M19").Value = "=M4"
Range("N19").Value = "=M7"

End Sub

Ook al werkt dit zoals het moet. Ik heb zo een vermoeden dat dit niet de properste manier van werken is
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan