Beste allen,
Ik heb geen ervaring met enige vba programmeer kunde of iets dergelijks. Ik zit helemaal vast met het volgende en hoop dat jullie mij kunnen helpen ;
In mijn workbook heb ik 2 tabbladen; Sheet1 en Sheet2
In sheet1 heb ik de volgende data:

Wanneer er sprake is van een getal in de range Q2:V2 beschouw ik dit als positief en kopieer de waarde naar sheet2 in cel S3 als zijnde positief.
Daarna wil ik dat mijn macro naar het volgende range Q3:V3 gaat en hetzelfde controle uitvoert, komt daar een getal voor, dan in sheet2 cel S4 de gekopieerde waarde als positief neerzetten.
Verdere voorwaarden zijn; 1)Wanneer in sheet1 zoals range Q7:V7 lege cellen zijn mag er niets gekopieerd worden en moet in sheet2 cel S8 geen waarde inkomen. 2) Wanneer in sheet1 zoals range Q9:V9 inhoud van cellen de waarde ND zijn mag er niets gekopieerd worden en moet in sheet2 cel S10 geen waarde inkomen. Na tegenkomen van beide voorwaarden springt de macro over naar volgende range totdat alle gevulde rijen in de kolommen Q:V gedaan zijn.
Zo ziet sheet2 er uit:

Ik heb tot nu twee sub procedures (voor de functionaliteiten selecteer ranges en bovengenoemde voorwaarden) kunnen maken, die niet helemaal volledig zijn. Uiteindelijk wil ik, als het kan, één subprocedure van maken.
Enig hulp zou ik geweldig vinden want ik kom er niet meer uit.
Alvast bedankt,
KemalO
Ik heb geen ervaring met enige vba programmeer kunde of iets dergelijks. Ik zit helemaal vast met het volgende en hoop dat jullie mij kunnen helpen ;
In mijn workbook heb ik 2 tabbladen; Sheet1 en Sheet2
In sheet1 heb ik de volgende data:

Wanneer er sprake is van een getal in de range Q2:V2 beschouw ik dit als positief en kopieer de waarde naar sheet2 in cel S3 als zijnde positief.
Daarna wil ik dat mijn macro naar het volgende range Q3:V3 gaat en hetzelfde controle uitvoert, komt daar een getal voor, dan in sheet2 cel S4 de gekopieerde waarde als positief neerzetten.
Verdere voorwaarden zijn; 1)Wanneer in sheet1 zoals range Q7:V7 lege cellen zijn mag er niets gekopieerd worden en moet in sheet2 cel S8 geen waarde inkomen. 2) Wanneer in sheet1 zoals range Q9:V9 inhoud van cellen de waarde ND zijn mag er niets gekopieerd worden en moet in sheet2 cel S10 geen waarde inkomen. Na tegenkomen van beide voorwaarden springt de macro over naar volgende range totdat alle gevulde rijen in de kolommen Q:V gedaan zijn.
Zo ziet sheet2 er uit:

Ik heb tot nu twee sub procedures (voor de functionaliteiten selecteer ranges en bovengenoemde voorwaarden) kunnen maken, die niet helemaal volledig zijn. Uiteindelijk wil ik, als het kan, één subprocedure van maken.
Code:
Sub PosKopie()
Dim i As Integer
i = 2
Sheets("Sheet2").Select
Range("S3").Select
ActiveCell.Range("A1").Select
Sheets("Sheet1").Select
Range("Q2:V2").Select
Do While Sheets("Sheet1").Cells(i, 17).Value <> 0 'volgende stap: herkennen van integer achter ND
If IsNumeric(ActiveCell) Then
ActiveCell.Copy
ActiveCell.Offset(1, 0).Select
Sheets("Sheet2").Select
ActiveCell.Range("A1").Select
ActiveSheet.Paste
ActiveCell.Value = "positive"
ActiveCell.Offset(1, 0).Select
Sheets("Sheet1").Select
Else: ActiveCell.Offset(1, 0).Select
Sheets("Sheet2").Select
ActiveCell.Offset(1, 0).Select
Sheets("Sheet1").Select
End If
i = i + 1
Loop
End Sub
Code:
Sub LoopRange2() 'Bepaal van de geselecteerde range per cel numeric or not
Dim rCell As Range
Dim rRng As Range
Set rRng = Sheet1.Range("Q2:V2")
For Each rCol In rRng.Columns
For Each rCell In rCol.Rows
Debug.Print rCell.Address, rCell.Value
If IsNumeric(rCell.Value) Then
rCell.Activate
Selection.Copy 'Dit stuk moet uitgebreid worden
ElseIf isnotnumeric Then
Exit For
End If
Next rCell
Next rCol
End Sub
Enig hulp zou ik geweldig vinden want ik kom er niet meer uit.
Alvast bedankt,
KemalO