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

getal Y in sheet A geeft Y-keer het woord "test" (onder elkaar) in sheet B

Status
Niet open voor verdere reacties.

gvanwijk

Gebruiker
Lid geworden
3 mei 2018
Berichten
182
Sheet A: wordt een getal ingevoerd, bijv. 6 -> er moet dan in Sheet B 6 x woordje "test" komen in kolom E, onder elkaar, te beginnen in cel E5.
Bij 10 -> 10 test etc. Zie voorbeeld (opmerking: probleem is sterk vereenvoudigd, maar met de eventuele oplossing - als die bestaat - kan ik verder!)
Dank alvast

Bekijk bijlage Voorbeeld test.xlsx
 
In de module van Sheet B
Code:
Private Sub Worksheet_Activate()
  t = Sheets("Sheet A").Cells(4, 3).Value
  Columns(5).SpecialCells(2).Offset(1).ClearContents
  If t > 0 Then Cells(5, 5).Resize(t) = "test"
End Sub
 
Bedankt VenA voor het antwoord :
1. Het kan dus niet zonder macro denk je?
2. Als er dan toch macro gebruikt moet worden dan eentje die werkt vanuit sheet A. Kan dat ook? Hoe luidt de code in dat geval?
 
Code:
Private Sub Worksheet_Deactivate()
 t = Sheets("Sheet A").Cells(4, 3).Value
  Sheets("Sheet B").Columns(5).SpecialCells(2).Offset(1).ClearContents
  If t > 0 Then Sheets("Sheet B").Cells(5, 5).Resize(t) = "test"
End Sub
 
Waarom moet de code werken vanuit Sheet A?

Als formule kan ook.
In E5 en naar beneden slepen.
Code:
=IF(ROW()-5<='Sheet A'!$C$4;"test";"")
 
Laatst bewerkt:
@VenA -> moet dan =IF(ROW()-4<='Sheet A'!$C$4;"test";"") zijn , maar dan werkt het goed.

Lukt me nog niet met de VBA code, maar ligt aan mij, krijg dat niet goed onder de knie
 
Gelukkig nu gelukt met VBA code, 2 opties nu dus, dank allen, opgelost!
 
Nog een aanvullende wens ter afsluiting: hoe onderstaande code aan te passen als ik tevens in sheet B de datum van vandaag , dus =Vandaag() wil , in kolom B, te beginnen in cel B 5


Private Sub Worksheet_Deactivate()
t = Sheets("Sheet A").Cells(4, 3).Value
Sheets("Sheet B").Columns(5).SpecialCells(2).Offset(1).ClearContents
If t > 0 Then Sheets("Sheet B").Cells(5, 5).Resize(t) = "test"
End Sub

Bekijk bijlage Aanvulling.xlsx
 
Plaats code tussen codetages. In een .xlsx staat geen macro en er staat nog een vraag in #5 waar nog geen antwoord op gegeven is.
 
1. In een .xlsx staat geen macro : mijn vraag staat in een .xlsx omdat ik vraag naar een macro, die er nog niet is
2. een vraag in #5 waar nog geen antwoord op gegeven is : je bedoelt: 'Waarom moet de code werken vanuit Sheet A?" -> Dat is logischer vanuit de workflow zoals ik die voor ogen heb

Vraag gesloten
 
Klinkt zeer logisch. Als je van Sheet A naar bv Sheet C gaat dan wordt de code ook uitgevoerd. In #8 staat toch een .xlsx zonder code en wat code zonder codetags. Hoe heb je de aanvullende vraag opgelost?
 
@VenA:
Niet met code maar gewoon voorwaardelijk: =ALS(E5="test";VANDAAG(); "")
Niet zo sophisticated maar voldoet, als 't linksom niet wil, dan maar rechtsom
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan