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

stockbeheer

Status
Niet open voor verdere reacties.

nobeleyes

Gebruiker
Lid geworden
22 okt 2013
Berichten
47
Hoi,

Ik ben werkzaam bij de brandweer in belgië.
Om me heel wat tijd te besparen heb ik een excelsheet aangemaakt om de stock van het medisch materiaal te beheren.

Ik heb nog wat problemen met de overdracht van data van de ene pagina naar de andere.
In bijlage zit een documentje.. (ik heb er wat opmerking en tekstvelden in gestoken om mijn vraag te verduidelijken)

wie helpt me op weg?

Bekijk bijlage stockbeheer vraagdoc.xlsx
 
Als jullie me al op weg kunnen helpen zou dit super zijn...
Van VBA ken ik zo goed als niets... liefst dus met bepaalde formules in excel zelf...

bedankt
 
Om te beginnen: Op de pagina NIET STERIEL MATERIAAL staan geen leveranciers genoemd...
 
Laatst bewerkt:
Ik heb daar inderdaad nog niets ingevuld... dat maakt in pricipe ook niet echt uit... daar mag staan wat je wil... als ik het principe doorheb kan ik al een stukje verder.

Mercikes

Ik steek in deze bijlage een aangepaste versie waar de lijst van niet steriel materiaal deels is ingevuld.
Bekijk bijlage stockbeheer.xlsx
 
Laatst bewerkt door een moderator:
Als jullie me al op weg kunnen helpen zou dit super zijn...
Van VBA ken ik zo goed als niets... liefst dus met bepaalde formules in excel zelf...
Met alleen formules kun je dit probleem niet fatsoenlijk oplossen, tenzij met heel lange formules, hulpcellen e.d.
Het feit dat je nadrukkelijk om een oplossing met formules vraagt, zal waarschijnlijk de reden zijn dat nog niet eerder oplossingen werden geplaatst; zo'n oplossing lijkt mij niet de meest aangewezen weg. Maar als je , zoals je zelf schrijft, zo goed als niets van vba kent, dan is een hulpverlener niet klaar "met op weg helpen", want dan kun je er zelf maar weinig aan wijzigen/toevoegen. Het komt er dan altijd op neer dat een hulpverlener het gehele werk doet en de vragensteller niets. Dat is geen verwijt, maar een constatering. Het is overigens opvallend op het forrum dat degenen die het minst verstand hebben van iets vaak het meeste willen. Dat komt waarschijnlijk omdat ze nog niet door hebben hoeveel tijd sommige oplossingen van problemen vergen.
Wat je bestand betreft:
- ik neem aan dat op de bestelbon, wat aantal betreft, de aantallen moeten komen die op de bladen "Steriel materiaal" en "Niet steriel materiaal" bij "Bestelling 1" onder "Aantal" staan (kolom L), is dat juist?
- Op basis waarvan de bestellingen 2 t/m 6 moeten worden ingevuld staat nergens vermeld.
- Hoeveel leveranciers zijn er ongeveer, enkele tientallen?
- Wat de bestelbon(nen) betreft: in plaats van voor elke leverancier een bestelbonblad te maken, zou je ook slechts 1 bestelbonblad kunnen gebruiken waarin, na een keuze voor een leverancier te hebben gemaakt via een combo- of listbox, de bestelgegevens voor die leverancier worden weergegeven.
- Los van de oplossing van je probleem, doe je er verstandig aan om een tabel te maken met het materiaal, bijbehorend referentienummer, en bijbehorende leverancier; als je dan bv. via een keuzelijst een materiaal kiest, kunnen de bijbehorende gegevens (refnr. en leverancier) er automatisch worden bijgeplaatst.
- Ik zal zien of ik wat kan doen.
 
Beste zapatr,
bedankt voor je reactie,

Ik vraag inderdaad heel veel.... op excel gebied kan ik me aardig uit de slag trekken, met VBA inderdaad niet.
een antwoord op je vragen:
- Bestelling 1 is inderdaad de enige kolom die ik ga gebruiken... 2 tot en met 6 daar moet geen rekening le gehouden worden
- Er zullen ongeveer een 20 tal leveranciers zijn...
- Het materiaal zal ongeveer kunnen oplopen tot een 300 items
- Je voorstel van combo of listbox is inderdaad een goede oplossing
- Je voorstel van tabel daar snap ik de bedoeling niet echt van. Ga je daar de gegevens halen voor de bestelbon? In de sheet van steriel en niet steriel materiaal staan deze gevens eveneens vermeld....

Alvast bedankt, ik hoop dat er je me op weg kan helpen
 
- Als de bladen STERIEL MATERIAAL en NIET STERIEL MATERIAAL voor jou nu voldoen, dan hoef je die niet te wijzigen (het is immers jíj die er mee moet werken, niet ik).
- Alle leveranciers bij elkaar plaatsen, moet eigenlijk wel gebeuren om er in het blad van de bestelbon een keuze uit te kunnen maken. Het bereik van leveranciers heeft een naam gekregen ("Leveranciers", gedefinieerd als Leveranciers!A1:A30), pas dat zonodig aan (als het bereik maar minimaal net zo groot is als het aantal leveranciers, dan is het goed).
- Mocht je toch liever voor elke leverancier een afzonderlijk blad willen voor de bestellingen, dan kan dat.
- Ga naar het blad "Bestelbon", maak daar verschillende keuzes en bekijk het resultaat; ik verneem graag je ervaringen.
- Los van dit bestand en ik heb er niks mee te maken, maar ik vind het nogal wat dat mensen van de brandweer ook nog voor dergelijke administratieve zaken moeten zorgdragen. Dat de voorraad moet worden bijgehouden is logisch, maar dat de instantie in wiens opdracht jullie werken, niet zorgt voor de programmatuur, dat vind ik in- en in-triest en van die instantie erg onprofessioneel. Is dat een gemeente?
Zie verder de bijlage.
 
Beste Zapatr,
Dat is inderdaad wat ik graag zou willen.

Ik heb ondertussen de dropdown selectie al kunnen verplaatsen en de code in VBA kunnen aanpassen.
Bedankt voor al de moeite die je gedaan hebt.
RESPECT!!!

Momenteel loopt het stockbeheer niet zoals het hoort... Ik wil hier zelf meer controle over krijgen - er zal minder snel iets kunnen 'verdwijnen' - het dagelijks aanvullen gaat een stuk sneller - ik vergeet niets meer te bestellen -...

Momenteel kan ik al weer een heel stuk verder. In de toekomst wil ik hier graag nog aan verder werken
-> als ik een bestelbon voor een firma gemaakt heb wil ik hem graag via een button als pdf opslaan...
-> moest je hiervoor een pasklaar antwoord hebben graag, maar voel je zeker niet verplicht!


("Leveranciers", gedefinieerd als Leveranciers!A1:A30),
waar en hoe kan ik deze range aanpassen?

Ik mag in de lijst van de leveranciers de volledige gegevens neerzetten?
ik bedoel, de naam staat nu in de eerste kolom, volgende kolommen mag ik gebruiken voor andere gegevens van de leverancier -> zo kan ik de gegevens neerzetten op de bestelbon na selectie.

nogmaals 1000X dank
 
Laatst bewerkt:
- Je mag de echte leveranciers op elke gewenste plaats zetten die je maar wil en het doet er niet toe hoe lang die naam is. Maar je moet natuurlijk wel rekening houden met hoe je wil dat de bestelbon er uit gaat zien.
- Om het bereik waarin de leveranciers staan een naam te geven: selecteer het bereik (dan hoef je dat niet te typen), kies in het menu: "Formules" - "Namen beheren", klik op "Nieuw", typ een naam en klik op Ok. Daar natuurlijk niet twee keer dezelfde naam gebruiken.
- Om welke brandweer gaat het?
 
Hoe je een bon opslaat als pdf-bestand kun je eenvoudig nagaan als je het blad opslaat terwijl de macrorecorder aan staat. Je voegt er dan nog een inputbox aan toe waarin je de naam kunt opgeven, en je bent klaar.
Stel dat je de bonnen wil opslaan in de map
"C:\Documents and Settings\Jouw computergebruikersnaan\Mijn Documenten\Bestelbonnen"
(als je met WIndows 7 of 8 werkt, zal dat pad er (iets) anders uitzien).
Dan zorg je eerst dat de map "Bestelbonnen" op de betreffende plaatst bestaat, dus die map maak je aan (of die map bestaat en indien niet, die dan door vba laten aanmaken, dat kan ook allemaal, maar daar ga ik nu niet op in).
De macro behorend bij de knop kan er dan als volgt uitzien:
Code:
Sub Macro1()
Dim naam As String
naam = InputBox("Naam van het pdf-bestand:")
ChDir "C:\Documents and Settings\Jouw computergebruikersnaan\Mijn Documenten\Bestelbonnen"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Documents and Settings\Jouw computergebruikersnaan\Mijn Documenten\Bestelbonnen\naam.pdf"
End Sub
Als de inputbox op een naam vraagt, die invoeren zonder .pdf er achter.
 
Laatst bewerkt:
naam = InputBox("Naam van het pdf-bestand:")

Ik in 1 cel de naam van de firma staan, en in een andere cel de datum van vandaag.
Kan ik deze 2 combineren om te gebruiken als naam van het bestand?

Is het mogelijk om een pop-up te krijgen dat het bestand is opgeslaan?

nogmaals mijn oprechte dank
 
Met de naam van de firma in B4 en de datum in C4:
Code:
....
naam = Sheets("Bestelbon").Range("B4").Value & " " & Range("C4").Value
ChDir "C:\Documents and Settings\Jouw computergebruikersnaan\Mijn Documenten\Bestelbonnen"
ActiveSheet.Range("A4:C20").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Documents and Settings\Jouw computergebruikersnaan\Mijn Documenten\Bestelbonnen"& naam & ".pdf"
MsgBox ("Het bestand is opgeslagen.")
....

Om welke brandweer gaat het nu?
 
Laatst bewerkt:
Ik wil je even een privebericht sturen maar heb daar geen toestemming voor...
Als je me een e-mailtje geeft kan ik je wat meer info geven.

Nog een klein vraagje:
Dim A, B, lr As Integer, p As Integer, x As Integer, y As Integer
Dim myrange As Range, range1 As Range, range2 As Range
'Deze macro is geschreven door Zapatr
Set range1 = Sheets("steriel materiaal").Range("g7:l100")
Set range2 = Sheets("niet steriel materiaal").Range("g7:l100")
A = Array(range1, range2)
lr = Cells(Rows.Count, 1).End(xlUp).Row + 1
Range("A6:C" & lr).ClearContents
Range("c2").Value = Range("j2").Value
For x = 1 To 2
Set myrange = A(x - 1)
With myrange
For y = 1 To .Rows.Count
If WorksheetFunction.And(.Cells(y, 3) = Range("j2"), .Cells(y, 6) > 0) Then
B = Array(.Cells(y, 1), .Cells(y, 4), .Cells(y, 6))
lr = Cells(Rows.Count, 1).End(xlUp).Row + 1
For p = 1 To 3
Cells(lr, p).Value = B(p - 1)
Next p
End If
Next y
End With
Next x
End If
End Sub

moet ik het gekleurde iets aanpassen om het invullen lager te laten beginnen?
nu start de lijst op cel A6, maar ik zou dit graag een aantal cellen lager doen.
 
Het spreekt toch vanzelf dat als je niet in rij 6 maar in rij 7 wil beginnen, dat je dan A6 wijzigt in A7?

E-mailontvangst staat (tijdelijk) aan.
 
Die rode rgel wist alleen wat er in de bestelbon staat vanaf A6.
De nieuwe tekst begint 1 regel onder de laatste tekst in kolom A (als de bon leeg is).
Als je die lager wil beginnen, dan schuif je die op.
 
Dim A, B, lr As Integer, p As Integer, x As Integer, y As Integer
Dim myrange As Range, range1 As Range, range2 As Range
'Deze macro is geschreven door Zapatr
Set range1 = Sheets("steriel materiaal").Range("g7:l100") -> hier moet ik de range aanpassen naar bv: g7:j100
Set range2 = Sheets("niet steriel materiaal").Range("g7:l100") -> hier moet ik de range aanpassen naar bv: g7:j100
A = Array(range1, range2)
lr = Cells(Rows.Count, 1).End(xlUp).Row + 1
Range("A6:C" & lr).ClearContents-> hier moet ik de range aanpassen naar "A6: D"

Range("c2").Value = Range("j2").Value
For x = 1 To 2
Set myrange = A(x - 1)
With myrange
For y = 1 To .Rows.Count
If WorksheetFunction.And(.Cells(y, 3) = Range("j2"), .Cells(y, 6) > 0) Then
B = Array(.Cells(y, 1), .Cells(y, 4), .Cells(y, 6))
lr = Cells(Rows.Count, 1).End(xlUp).Row + 1
For p = 1 To 3
Cells(lr, p).Value = B(p - 1)
Next p
End If
Next y
End With
Next x
End If
End Sub

Als ik op de 2 sheets een kolom wil toevoegen die eveneens moet meegenomen worden naar de bestelbon, begrijp ik dat er een aantal dingen moeten aangepast worden.
Voor een aantal zaken ben ik er al uit, zie hierboven in kleur...
wat moet er nog meer aangepast worden?


thanks alvast
 
1. In plaats van aanpassen naar "A6: D40" (als 40 je laatste rij is in de bestelbon), zou ik in plaats van D40 er van maken: H40 of i40; ik bedoel: wissen t/m de laatste kolom.

2. Als je "G7:L100" wijzigt in "G7:J100", dan hangt het ervan af welke gegevens uit dat bereik in welke kolom op het blad bestelbon komen, om te bepalen wat er gewijzigd moet worden. Het kan eigenlijk niet meer zijn dan het veranderen van getallen om kolommen aan te passen, maar zonder te zien wat er op de bladen veranderd is, is dat niet te zeggen.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan