Ga naar inhoud

bakerman

Lid
  • Items

    378
  • Registratiedatum

  • Laatst bezocht

Berichten die geplaatst zijn door bakerman

  1. Als beide routines in dezelfde module staan zet je de variabelen helemaal bovenaan de module en ken je de waarden toe wanneer je een bepaalde routine draait.

     

    Daarna kan je ze gebruiken in een andere routine. Draai eerst maar eens Test1 en daarna Test2


     

    Dim fNaam As String               'AX'
    Dim fStraat As String             'AY'
    Dim fPlaats As String             'AZ'
    
    Sub test1()
        fNaam = "Cor Assa"               'AX'
        fStraat = "Weetiknietstraat 1"             'AY'
        fPlaats = "1234 AB Watisdeoplossing"            'AZ'
    End Sub
    
    Sub test2()
        MsgBox fNaam & Chr(10) & fStraat & Chr(10) & fPlaats
    End Sub

     

     

  2. Bij verdere tests toch nog een foutje gespot.

     

    Zoals je kan zien in regel 14 treed er een fout op als er slechts 1 doos in voorraad is.

     

    Had nu wat meer tijd dus in groene vak andere formules die (denk ik nu) alle situatie(s) wel aankunnen.

     

    In het rode vak 2 manieren om dan de minimum voorraad te berekenen.

     

    De formules in het groene vak kan je eender waar op je werkblad zetten (de kolommen zelfs verbergen indien gewenst. De formule in het rode vak zet je dan in kolom Q.

     

    Bekijk het eens en zie of dit zou werken voor jouw situatie.

    Magazijnverplaatsing_rev03.xlsx

  3. 14 uren geleden, Marinus_Henk zei:

    De formule van Bakerman is niet wat ik zoek.

    Herinner je je deze uitspraak nog ? Wel, het is wel juist die formule die het juiste resultaat geeft. 😲

    =MIN(ALS(B6+J6 <> 0;B6+J6;10^10);ALS(C6+K6 <> 0;C6+K6;10^10);ALS(D6+L6 <> 0;D6+L6;10^10);ALS(E6+M6 <> 0;E6+M6;10^10);ALS(F6+N6 <> 0;F6+N6;10^10);ALS(G6+O6 <> 0;G6+O6;10^10);ALS(H6+P6 <> 0;H6+P6;10^10))

     

  4. Nu zal je toch eens heeeeeeeeel gedetailleerd moeten uitleggen waarom het 40 en 89 zou moeten zijn want ik ben nu compleet het noorden kwijt.

     

    Ik heb er echt geen idee meer van hoe de berekening volgens jou moet gebeuren.

     

    Met mijn vorige formule (volgens jou onjuist) kom ik uit op 123 wat jouw resultaat nog het dichtst benadert.

  5. 16 uren geleden, emielDS zei:

    Ik dacht dat het de kleinste van de het tweede magazijn moest zijn  plus de overeenkomstige van het eerste magazijn.

    Ik heb het ganse topic nog eens 2x helemaal doorgelezen en dit heb ik nog in geen enkel antwoord van TS zien staan .

     

    9 uren geleden, Marinus_Henk zei:

    Doos 1 van mag.1 moet bij doos 1 van mag.2 worden opgeteld. Dit geldt ook voor doos 2 van mag.1 en doos 2 van mag.2. enz..... Als deze bij elkaar zijn opgeteld dan moet ik de laagste waarde hebben.

    Als ik dit lees begrijp ik daaruit dat alle overeenkomstige dozen bij elkaar moeten opgeteld worden en dat dan van al deze sommen de laagste moet weergegeven worden in kolom Q.

    Als dit niet het geval is waarom geeft mijn formule dan exact de gevraagde resultaten ?

     

    Alternatieve formule.

    =ALS(MIN(J3:P3)> 0;MIN(J3:P3) +INDEX(B3:P3;VERGELIJKEN(MIN(J3:P3);J3:P3;0));"")

     

  6. Formule in Q3 en doortrekken naar beneden.

     

    =MIN(ALS(B3+J3 <> 0;B3+J3;10^10);ALS(C3+K3 <> 0;C3+K3;10^10);ALS(D3+L3 <> 0;D3+L3;10^10);ALS(E3+M3 <> 0;E3+M3;10^10);ALS(F3+N3 <> 0;F3+N3;10^10);ALS(G3+O3 <> 0;G3+O3;10^10);ALS(H3+P3 <> 0;H3+P3;10^10))

     

  7. Nog een beetje verder aangepast zodat je

     

    1) De lijst op Blad1 onbeperkt kan uitbreiden.

    2) Op Blad2 een onbeperkt aantal bussen kan toevoegen. (mits respecteren van de huidige opzet.

    3) Op Blad2 het aantal stoelen per bus onbeperkt kan vermeerderen.

    Private Sub Worksheet_Activate()
        Application.ScreenUpdating = False
        With Blad2
            For i = 3 To .Cells(3, .Columns.Count).End(xlToLeft).Column Step 3
                .Cells(3, i).CurrentRegion.Offset(, 1).ClearContents
            Next
        End With
        For Each Cell In Blad1.Range("E4", Blad1.Range("E" & Rows.Count).End(xlUp))
            x = Cell.Value: nr = Cell.Offset(, 1).Value
            With Blad2
                Set y = .Rows(3).Find("bus " & x)
                If Not y Is Nothing Then
                    Set Z = y.Resize(y.CurrentRegion.Rows.Count).Find(nr)
                    If Not Z Is Nothing Then
                        Z.Offset(, 1) = Cell.Offset(, -3).Value & " " & Cell.Offset(, -2).Value
                    End If
                End If
            End With
        Next
        Application.ScreenUpdating = True
    End Sub

     

  8. Zet deze in de bladmodule van Blad2.

     

    Private Sub Worksheet_Activate()
        Application.ScreenUpdating = False
        With Blad2
            For i = 3 To .Cells(3, .Columns.Count).End(xlToLeft).Column Step 3
                .Cells(3, i).CurrentRegion.Offset(, 1).ClearContents
            Next
        End With
        For Each Cell In Blad1.Range("E4", Blad1.Range("E" & Rows.Count).End(xlUp))
            x = Cell.Value: nr = Cell.Offset(, 1).Value
            With Blad2
                Set y = .Rows(3).Find("bus " & x)
                If Not y Is Nothing Then
                    Set Z = y.Resize(16).Find(nr)
                    If Not Z Is Nothing Then
                        Z.Offset(, 1) = Cell.Offset(, -3).Value & " " & Cell.Offset(, -2).Value
                    End If
                End If
            End With
        Next
        Application.ScreenUpdating = True
    End Sub

     

  9. Op 6/1/2020 om 00:40, Rob7 zei:

    Ik heb nog een ( hopelijk laatste ) vraag :

    Ik vraag me af of wat ik tracht te bereiken niet nog sneller kan door niet twee foto's te vergelijken , maar wel de naam van de foto ( ik wist tot voor kort niet dat afbeeldingen een naam hadden ) te controleren . Ik dacht aan de volgende macro . Die geeft geen compileer- of run-time fouten , maar hij doet ook niet wat ik ( niet ) vraag .

     

    Sub Nummers_afbeeldingen_controleren()


    With ActiveSheet
       
       If [A1].Value = ("Afbeelding 18") Then
       .[B1].Value = 1
       End If
      
    End With
    End Sub

     

    Er is nog iets mis met de ("Afbeelding 18") . Omdat het geen Value is ?

    Het stadium van de Alternatieve tekst zijn we al voorbij Emiel, dit was al een antwoord op de volgende bovenstaande vraag.

  10. Een 6-tal maanden geleden is er in een ander forum een gelijkaardige vraag gepasserd en daarvoor had ik toen onderstaand bestand gemaakt.

     

    In de cellen I3 en J3 vul je de binnendiameter (in cm) end de materiaaldikte (in mm) in en dan ga je in kolom B op zoek naar de overeenkomende buitendiameter. Kolom D geeft je dan het aantal meter op de rol.

     

    @ dotchiejack

     

    Waarom eerst de waarden naar het werkblad schrijven en de uitkomst terug inlezen in de Textbox als de berekening in de code zelf kan gebeuren.

    antisliprol_ba.xlsx Rollengte(fancy)_ba.xlsm

×
×
  • Nieuwe aanmaken...

Belangrijke informatie

We hebben cookies geplaatst op je toestel om deze website voor jou beter te kunnen maken. Je kunt de cookie instellingen aanpassen, anders gaan we er van uit dat het goed is om verder te gaan.