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

Met behulp van een commandbutton waarden van invoerblad naar verborgen sheet kopieren

Status
Niet open voor verdere reacties.

mschrijver

Gebruiker
Lid geworden
1 apr 2011
Berichten
40
Goedemorgen,

Voor bij ons in het laboratorium heb ik een Excelblad gemaakt voor het uitvoeren van een proef genaamd korrelverdeling.

Het Excelblad bestaat uit 4 tabbladen;

1. ZeefSelectie --> Hier heeft de gebruiker de mogelijkheid om aan te geven welke zeven hij/zij gaat gebruiken tijdens het uitvoeren van de proef.
2. ZeefAnalyse --> Het rekenblad waar de gebruiker alle verkregen data tijdens het uitvoeren van de proef invoert en aan de hand daarvan worden er resultaten berekend.
3. Rapport --> Rapportage die uiteindelijk naar onze klant zal worden gestuurd
4. Logboek --> Hierin worden alle wijzigingen die door de gebruiker worden toegepast opgeslagen.

Mijn vraag:

In het tabblad Zeefanalyse heeft de gebruiker de mogelijk heid om per monster de proef uit te voeren. Echter, wil ik op het rapportabele blad (Tabblad Rapport) de resultaten van 4 monsters kunnen presenteren.

Nu kan ik natuurlijk beide bladen (Zeefselectie en Zeefanalyse) 3x kopieren en plakken maar dat is niet echt bevorderlijk voor de gebruiksvriendelijkheid van het Excelblad.
Vandaar de volgende vraag:

Op tabblad ZeefAnalyse worden er in de cellen F48:F71 resultaten berekend. Deze worden ook op het rapport gepresenteerd.
Is het mogelijk om de waarden van deze cellen (door middel van een command button) elders onder te brengen (variabelen?), alle invoervelden leeg te maken en de gebruiker de mogelijkheid te geven om aan het tweedemonster te beginnen, die resultaten weer op te slaan, en vervolgens naar het 3e monster etc....?

Heb hier al een beetje mee zitten stoeien, maar echt tot een goede oplossing ben ik niet gekomen.

Ik wil u alvast bedanken voor uw tijd en hulp.

Michael Schrijver
 
Beste Michael,
Zou je een voorbeeldbestandje kunnen plaatsen, zonder gevoelige/vertrouwelijke info natuurlijk...
 
Sorry voor mijn late reactie. Het is nogal druk op de zaak waardoor ik geen tijd heb gehad om te reageren.
Hierbij voeg ik een kopie als bijlage toe.

Heb het rapportage blad eruit moeten halen i.v.m. grootte van bestand.

Bekijk bijlage Korrelverdeling.xls
 
Goedemiddag,

Inmiddels ben ik verder gegaan met stoeien, en tot op heden heb ik het volgende:

Code:
Sub CopySample()

    Dim rSource As Excel.Range

    Dim rDestination As Excel.Range

    Set rSource = ActiveSheet.Range("B10")

    Set rDestination = ActiveSheet.Range("M47")
    rSource.Copy

    rDestination.Select
    Selection.PasteSpecial Paste:=xlPasteValues, _

    Operation:=xlNone, _

    SkipBlanks:=False, _

    Transpose:=False
    Range("A47").Select

    Application.CutCopyMode = False

valKill:

    Set rSource = Nothing

    Set rDestination = Nothing
    Exit Sub

End Sub

Nu wil ik echter hetzelfde doen, maar zou ik graag willen dat er eerst gekeken wordt of M47 leeg is, is dat het geval mag hij hem gewoon in M47 plakken, is dat niet het geval dan wil ik dat hij hem 2 kolommen verder neer zet (O47).

Ik heb gekeken of ik hier een loop voor zou kunnen gebruiken, maar mijn kennis wat betreft Excel / VBA is minimaal.

Enig idee hoe ik dit het makkelijkste kan doen?
 
Zo zou die dat wel moeten doen:
Code:
Sub CopySample()

    Dim rSource As Excel.Range

    Dim rDestination As Excel.Range

    Set rSource = ActiveSheet.Range("B10")
       If ActiveSheet.Range("M47") <> "" Then
            Set rDestination = ActiveSheet.Range("O47")
       Else
       If ActiveSheet.Range("M47") = "" Then
       Set rDestination = ActiveSheet.Range("M47")
       End If: End If
    rSource.Copy

    rDestination.Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Range("A47").Select

    Application.CutCopyMode = False

valKill:

    Set rSource = Nothing

    Set rDestination = Nothing
    Exit Sub

End Sub
 
Nice, het werkt inderdaad.

Toch heb ik nog een klein vraagje;

Is het ook mogelijk om het volgende te realiseren.

Als M47 is leeg ja --> waarde van B10 naar M47
nee --> ALS O47 is leeg Ja --> waarde van B10 naar O47
Nee --> ALS Q47 is leeg Ja --> Waarde van B10 naar Q47
Nee --> ALS S47 is leeg Ja --> waarde van B10 naar S47
Nee --> ALS U47 is leeg Ja--> waarde B10 naar U47
Nee --> ""

Of kan ik hier beter een andere oplossing voor zoeken?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan