Excel:Gegevens verplaatsen

Status
Niet open voor verdere reacties.
Hoi milas,

Ik heb toch ff een poging gedaan met je formule (zie bijlage)

Wat betreft je Converteer probleem, het volgende:

Ik weet niet waarom je cell van tekst naar getal wilt veranderen, maar ik denk om deze reden.
Code:
If Workbooks("dagresu.xls").Sheets("Lijst bons niveau 0 detail").Cells(x, 3) = [COLOR="Red"]706[/COLOR]

Als dat zo is, dan hoeft dit niet.
Als het om tekst zou gaan dan zou je het zo moeten doen.
Code:
Workbooks("dagresu.xls").Sheets("Lijst bons niveau 0 detail").Cells(x, 3) = "JouTestWaarde"
 

Bijlagen

sorry

sorry voor mijn late reactie....

formule werkt maar dan enkel op het getal 40-45 en het is de bedoeling om de formule op alle getallen toe te passen.

wat het omzetten van tekst naar cijfers betreft, bestaat er een eenvoudiger code of kan het nog simpel?

bedankt,

milas
 
Hoi milas,

Hoezo werkt de formule alleen bij 40-45?

Als ik bij Dozen 100 invul en bij Palet 99 dan is het resultaat bij mij

Palet = 1
Volle Paletten = 1
Op de laatste palet = 100

Wat zou volgens jou het resultaat dan moeten zijn.

Over het converteren van tekst naar cijfer: Vraag ik nogmaals, waarom wil je converteren. Wat is het doel ervan. Graag hierover meer uitleg?
 
hey spiderman,

max 40/palet dus bij 100 dozen zou de verdeling als volgt moeten zijn:
vb1
totaal palat: 3
volle paletten: 2 (van 40)
laatste palet: 20

maar wanneer het aantal bv 85 is, zou het moeten zijn:
vb2
totaal palat: 2
volle paletten: 1 (van 40)
laatste palet: 45

de formule die ik zoek zou rekening moeten houden met de waarde onder de laatste palet. indien groter of gelijk aan 6/laatste palet is deze formule ok(zie vb1). maar zoek de formule indien kleiner dan 6/laatste palet (zie vb2).

Over het converteren van tekst naar cijfer: de waarden die mijn bestandje in dagresu moet gaan zoeken zijn gegevens die met een query vanuit access opgehaald worden. deze zouden dus eerst moeten omgezet worden, vandaar de volgende code:

For z = 2 To 1500
Cells(z, 3) = Cells(z, 3) + 0
Cells(z, 5) = Cells(z, 5) + 0
Next z

nu was mijn vraag of het misschien eenvoudiger kon?

bedankt

milas
 
Hoi milas,

Heb nog ff met de formules zitten spellen. Test deze eens (zie bijlage)

Over het converteren van tekst naar cijfer: de waarden die mijn bestandje in dagresu moet gaan zoeken zijn gegevens die met een query vanuit access opgehaald worden. deze zouden dus eerst moeten omgezet worden, vandaar de volgende code:

Ik snap nog steeds niet waarom je de tekst om wilt zetten naar getallen.
Wat wil je met het getal gaan doen, wat je met de tekst niet zou kunnen doen? (als het kan met een code voorbeeldje van wat je met de tekst/getal wilt doen)
Dus niet als voorbeeld:
For z = 2 To 1500
Cells(z, 3) = Cells(z, 3) + 0
Cells(z, 5) = Cells(z, 5) + 0
Next z
Daaruit lees ik alleen dat je ze wilt omzetten niet wat je ermee doet.
Dus bijvoorbeeld:
If Workbooks("dagresu.xls").Sheets("Lijst bons niveau 0 detail").Cells(x, 3) = 706
 

Bijlagen

hey spiderman,

super! het werkt, bedankt. kan dit ook op 32/pal toegepast worden?

wat converteren betreft, wanneer ik met een query uit access gegevens ophaal, deze save onder dagresu en vervolgens deze verplaats naar thirytest dan krijg ik "produkt niet gevonden", de waarde wordt waarschijnlijk niet herkent omdat het tekstvelden zijn.


groeten

milas
 
Hoi milas,

Plaats hier eens een NIET geconverteerde DagResu.xls. Dat zal ik eens kijken waarom die gegevens niet worden gevonden.

Wat betreft de 32/pal: Volgens mij werkt dat gewoon.
Als je 40 verandert in 32 en dan bijvoorbeeld 70 dozen hebt, dan is je resultaat 3 Paletten; 2 volle paletten; 6 op de laatste palet
 
als-formule

Bedankt.

Sorry maar zit nog met het volgende probleem (zie bijlage).

heb jij daar een oplossing voor?

als ik het goed begrepen heb, moet je de volgende formule invoegen:
=ALS(D9=C9;0;ALS((A9-(C9-1)*B9)<6;45;A9-(C9-1)*B9))

als het minder dan 6 is, komt er 45 te staan. of moet het A9 zijn?

steven
 
Hoi milas,

Plaats hier eens een NIET geconverteerde DagResu.xls. Dat zal ik eens kijken waarom die gegevens niet worden gevonden.

Wat betreft de 32/pal: Volgens mij werkt dat gewoon.
Als je 40 verandert in 32 en dan bijvoorbeeld 70 dozen hebt, dan is je resultaat 3 Paletten; 2 volle paletten; 6 op de laatste palet

hey spiderman;

sorry, ben er eventjes uitgeweest. zal morgen bestandje plaatsen.
bedankt
groeten
milas
 
als ik het goed begrepen heb, moet je de volgende formule invoegen:
=ALS(D9=C9;0;ALS((A9-(C9-1)*B9)<6;45;A9-(C9-1)*B9))

als het minder dan 6 is, komt er 45 te staan. of moet het A9 zijn?

steven

hey steven,

zal het morgen proberen, bedankt.
groeten
milas
 
hey spiderman;

sorry, ben er eventjes uitgeweest. zal morgen bestandje plaatsen.
bedankt
groeten
milas

hey spiderman,

hierbij het bestandje, kan jij eens proberen of dat zonder problemen zal lukken.

groeten
milas
 

Bijlagen

Hoi milas,

Verander Macro1 in onderstaande:
Code:
Sub Macro1()


Worksheets("BESTEL").AutoFilterMode = False
Dim x As Integer
Dim Product As String
Dim Aantal As Long
Set ThisWB = ThisWorkbook

Workbooks.Open Filename:="C:\Documents and Settings\Arno Fransen\Bureaublad\HELPMIJ\milas\dagresu.xls" ' Openen excel document

For x = 2 To 1500
    
    Product = Workbooks("dagresu.xls").Sheets("Lijst bons niveau 0 detail").Cells(x, 5) ' Variable Product
    Aantal = Workbooks("dagresu.xls").Sheets("Lijst bons niveau 0 detail").Cells(x, 7) ' Variable Aantal
    
    Select Case Workbooks("dagresu.xls").Sheets("Lijst bons niveau 0 detail").Cells(x, 3)
    'indien Thiry
        Case 706
            FAV_klnr 36, Product, Aantal, x
    'indien Ben Fresh
        Case 232
            FAV_klnr 38, Product, Aantal, x
    'indien Gijbels
        Case 320
            FAV_klnr 39, Product, Aantal, x
    End Select

Next x

    ThisWB.Activate

    ThisWB.Worksheets("BESTEL").Range("B2:D2").Select
    Selection.AutoFilter
    Selection.AutoFilter Field:=3, Criteria1:="1"

End Sub
Bij mijn werkt hij dan zoals ik denk dat hij zou moeten werken, als dit niet zo is, dan moet je eventjes aangeven waar het precies mis gaat.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan