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

Uitkomst userbox in factuur plaatsen

Status
Niet open voor verdere reacties.

daghengst

Gebruiker
Lid geworden
16 apr 2015
Berichten
32
Hallo iedereen,

ik ben bezig een factuur te maken waarbij ik regels wil toevoegen via een user box. De uitkomsten krijg ik weliswaar in de factuur geplaatst echter niet op de plaats waar ik deze hebben wil. Hiervoor gebruik ik de volgende makro:

Private Sub cmdToevoegen2_Click()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("Factuur")

'vindt laatst gebruikte cel, ga naar de volgende rij
iRow = ws.Cells(Rows.Count, 1) _
.End(xlUp).Offset(1, 0).Row

Als ik bij het rode deel de 1 wijzig in een ander cijfer wordt de uitkomsten telkens ergens anders geplaatst, maar nog steeds niet waar ik het hebben wil. Kan iemand me zeggen welke makro ik dien te gebruiken om de eerste uitkomst vanaf een bepaalde cel, bijvoorbeeld B16 op tabblad Factuur en de volgende uitkomsten in de rijen eronder zoals in de bovenstaande makro.

Alvast bedankt, bij voorbaat.

Groetjes Hans
 
De 1 (een) is voor column A, m.a.w. the eerste kolom.
Als je de 1 verandert in een 4 dan moet de data in kolom D (vierde kolom) geplaats worden, als de rest in je code allemaal klopt.
Als het niet goed geplaatst word is er misschien iets anders fout.
Waar moet de informatie geplaats worden? Onder de laatste cel in kolom ????
 
Laatst bewerkt:
Zou je een voorbeeldbestand willen plaatsen?
Ik ben toevallig met zelfde onderwerp bezig en
ben benieuwd hoe jij het aanpakt.

Groetjes Peenvogel.
 
Bv. de eerste keer wordt het B16, de volgend keer eronder, enz.
Code:
ws.cells(application.max(15,ws.cells(rows.count,2).end(xlup).row),2).offset(1) = Userbox.value
 
Factuur bestand

De 1 (een) is voor column A, m.a.w. the eerste kolom.
Als je de 1 verandert in een 4 dan moet de data in kolom D (vierde kolom) geplaats worden, als de rest in je code allemaal klopt.
Als het niet goed geplaatst word is er misschien iets anders fout.
Waar moet de informatie geplaats worden? Onder de laatste cel in kolom ????

Bijgevoegd het test bestand: Bekijk bijlage Factuur test.xlsm

Ik wil dus vanaf cel B16 t/m K16 een regel invoeren, waarna via de userbox telkens een rij lager een opsomming wordt gemaakt tot rij 30.
Als ik het op mijn manier doe, begint ie in rij 2.
 
Laatst bewerkt:
Niet echt een prettig bestandje om mee te werken. Samengevoegde cellen, cellen met en verborgen ".". Bedoel je met hoeveelheid niet eenheid? Maar goed

Code:
Private Sub cmdToevoegen2_Click()
Dim c00 As String, j As Long
  c00 = "het aantal|de hoeveelheid|een omschrijving|de prijs per stuk|21%|6%|0%"
  For j = 7 To 13
    If Trim(Controls(j)) = "" Then
      If j < 10 Then MsgBox "Gelieve " & Split(c00, "|")(j - 7) & " in te voeren" Else MsgBox "Gelieve een 1 (voor ja) of een 0 (voor nee) in te voeren om aan te geven of het BTW tarief van " & Split(c00, "|")(j - 7) & " correct is"
      Controls(j).SetFocus
      Exit Sub
    End If
  Next j
  
  With Sheets("Factuur")
    j = Application.Max(15, .Cells(32, 5).End(xlUp).Row) + 1
    If j > 30 Then
      MsgBox "teveel regels"
      Exit Sub
     Else
      .Cells(j, 2).Resize(, 10) = Array(txtAantal.Value, "", txtHoeveelheid.Value, txtOmschrijving, "à", txtPrijs.Value, "", txtBTW21.Value, txtBTW6.Value, txtBTW0.Value)
    End If
  End With
  
  For j = 7 To 13
    Controls(j) = ""
    Controls(7).SetFocus
  Next j
End Sub
 
Dankbetuiging

Hartstikke bedankt, VenA.
Het werkt perfect.

Je hebt helemaal gelijk wat betreft de opbouw, maar ik ben wel tevreden over het resultaat tot zo ver. De puntjes in de cellen heb ik geplaatst om een vulling te hebben om Excel te dwingen naar beneden te gaan met het invullen van de rijen, zonder resultaat dus.

In ieder geval, hartstikke bedankt voor de hulp, ook aan de rest.
 
Hallo VenA, ik heb jouw bovenstaande code aangepast naar onderstaande:
Code:
Private Sub cmdToevoegen2_Click()
Dim c00 As String, j As Long
  c00 = "het aantal|de hoeveelheid|een omschrijving|de prijs per stuk|[B]bedraagt|totaalprijs|[/B]21%|6%|0%"
  For j = 7 To 13
    If Trim(Controls(j)) = "" Then
      If j < 10 Then MsgBox "Gelieve " & Split(c00, "|")(j - 7) & " in te voeren" Else MsgBox "Gelieve een 1 (voor ja) of een 0 (voor nee) in te voeren om aan te geven of het BTW tarief van " & Split(c00, "|")(j - 7) & " correct is"
      Controls(j).SetFocus
      Exit Sub
    End If
  Next j
  
  With Sheets("Factuur")
    j = Application.Max(15, .Cells(32, 5).End(xlUp).Row) + 1
    If j > 30 Then
      MsgBox "teveel regels"
      Exit Sub
     Else
      .Cells(j, 2).Resize(, [B]12[/B]) = Array(txtAantal.Value, "", txtHoeveelheid.Value, txtOmschrijving, "à", txtPrijs.Value, [B]"bedraagt", [I]txtAantal * txtPrijs,[/I][/B] "", txtBTW21.Value, txtBTW6.Value, txtBTW0.Value)
    End If
 End With
  
  For j = 7 To 13
    Controls(j) = ""
    Controls(7).SetFocus
  Next j
End Sub

Het vetgedrukte heb ik gewijzigd, omdat ik een totaalprijs per regel wil hebben. Dit krijg ik echter niet voor elkaar (zie het cursief vetgedrukte). Heb je hiervoor een aanpassing zodat deze in het geheel past?

Bij voorbaat dank
 
Gebruik de reageer knop ipv de quote knop en stel de vraag incluis bestand. Bij mij gaan nagenoeg alle bestand in een temp map en worden dus regelmatig verwijderd.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan