Celwaarde verhogen d.m.v. loop door tabbladen

Status
Niet open voor verdere reacties.

debastaard

Gebruiker
Lid geworden
27 nov 2006
Berichten
29
Beste helpmij-ers,

Ik kom niet uit het volgende probleem.

Ik heb vier kolommen in Excel: Status (Kolommen: Goed/Fout) en Verholpen (Kolommen Ja/Nee). Deze kolommen komen op zo'n 30 tabbladen voor vanaf kolom L tot kolom O.

Nu dient er wanneer er FOUT en NEE is ingevuld (met bijvoorbeeld een 1-tje of nulletje) een afwijkingsnummer te verschijnen in kolom P. Dit afwijkingsnummer moet beginnen bij 1 en dan vanzelf oplopen tot het aantal afwijkingen.
Er dient dus vanaf werkblad 1 tot en met werkblad 40 gekeken te worden of er afwijkingen zijn, en deze moeten dus een afwijkingsnummer krijgen. Dan moeten deze afwijkingsnummers nog gekopieerd worden naar een afwijkingenlijst, maar dat is iets om later eens naar te kijken. Ik zat zelf te denken aan een loop maar door mijn geringe VBA ervaring kan ik er natuurlijk ook volledig naast zitten.

Heeft iemand een idee? Alvast bedankt!
 
Dag D,

Je hebt vier kolommen namelijk Status en Verholpen die elk zijn verdeeld in twee kolommen (Goed en fout en ja en nee). Waarom niet gewoon twee kolommen Status en Verholpen. In de ene komt of Goed of Fout en in de andere Ja of Nee.

Code:
  Dim f
  Dim i As Integer
  Dim n As Integer
  
  For Each f In ActiveWorkbook.Sheets
    With f
      For i = 1 To .Cells(1, 1).CurrentRegion.Rows.Count
        If .Cells(i, 13).Value = "Fout" And .Cells(i, 15).Value = "Nee" Then n = n + 1: .Cells(i, 16).Value = n
      Next
    End With
  Next

Gegroet,

Axel.
 
Geweldig! Het werkt perfect! :thumb: Ik heb nog een heel klein vraagje:

Nu wordt er gekeken in kolom A naar de laatste rij:

Code:
For Each f In ActiveWorkbook.Sheets
    With f
      For i = 1 To .Cells(1, 1).CurrentRegion.Rows.Count

Ik zou graag willen dat dit in kolom C gebeurt vanaf rij 14. Nu heb ik al geprobeerd de (1, 1) aan te passen maar dit lukt niet.

alvast bedankt!
 
Dag D,

.Cells(1,1).Current.rows.count is om de laatst gevulde regel te bepalen. Als je vanaf regel 14 wilt beginnen dan moet je de 1 in 14 veranderen:

For i = 14 To .Cells(1, 1).CurrentRegion.Rows.Count

Gegroet,

Axel
 
Bedankt!
Ik had het zelf ook al opgelost d.m.v de volgende code:

Code:
Sub afwijkingsnummer()
  Dim f
  Dim i As Integer
  Dim n As Integer
  Dim lastrow As Long
  
  For Each f In ActiveWorkbook.Sheets
    With f
      For i = 1 To Range("C" & Rows.Count).End(xlUp).Row
      
      If .Cells(i, 14).Value = "x" And .Cells(i, 16).Value = "x" Then n = n + 1: .Cells(i, 17).Value = n
      Next
    End With
  Next

End Sub
 
Goed dat je het zelf opgelost hebt.

Ik zou toch een Autofilter gebruiken. Maar dat is persoonlijke smaak.

Zet de vraag nog op opgelost aub.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan