Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

{Excel VBA} berekende waardes toevoegen in tabel via knop

Pagina: 1
Acties:

  • Stampertjen
  • Registratie: Oktober 2006
  • Laatst online: 13-11 22:04
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 eens 1 uurtje in VBA geprutst 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:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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

[ Voor 19% gewijzigd door Stampertjen op 24-02-2015 15:44 ]