VBA met inputbox

Status
Niet open voor verdere reacties.

jebroeder

Nieuwe gebruiker
Lid geworden
28 aug 2018
Berichten
2
Hallo,

Ik probeer een macro te schrijven voor het volgende probleem:
Ik heb een database blad met daarin o.a. datums in weken. Deze zijn weergegeven als bijv. 201835 (jaar 2018, week 35). Deze data is weergegeven in kolom V van sheet "productieplanning".

Op dit moment is het de bedoeling dat op een tweede tabblad (in mijn voorbeeld "Blad2") alle regels worden weergegeven gebaseerd op de ingegeven week.

Mijn macro ziet er als volgt uit:

Code:
Sub zesweken()
'
' zesweken Macro
  Dim rngA As Range
  Dim cell As Range
    Dim test As Variant
 test = InputBox("Jaar+Week (Bijv. 201820)")
     Sheets("Productieplanning").Activate
    Set rngA = Range("v1", Range("v65536").End(xlUp))
    For Each cell In rngA
        If cell.Value = test Then
            cell.EntireRow.Copy
            Sheets("Blad2").Activate
            LastRow = Range("D65536").End(xlUp).Row + 1
            Cells(LastRow, 1).Select
            Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        End If
    Next cell

'
End Sub

Wanneer ik cell.Value = test vervang door cell.Value = "201835" dan werkt de macro wel. Echter moet de input dus variabel zijn, het lieft doormiddel van een popup menu. Wanneer ik "test" vervang door InputBox dan vraagt hij deze input bij elke cel die hij controleert op de waarde.

Wie o wie kan mij verder helpen?
 
Laatst bewerkt:
Wat wil je precies? Je loopt door alle cellen in de range; die cellen hebben een waarde. Die waarde vang je nu af door een Inputbox. Werkt dat niet? Je geeft aan dat het wel werkt als je de waarde hard in programmeert; ik zie niet waarom de variabele + inputbox niet werkt. Al zou je dit
PHP:
If cell.Value = & """" & test  & """" Then
nog kunnen proberen, omdat je blijkbaar op een tekstwaarde wilt filteren.
 
Ik wil inderdaad dat in de gegeven range gezocht wordt naar de juiste week. Dit is een waarde, geen tekst. Gaat het daar dan mis?
Naar mijn mening lijkt het zo te moeten werken.. maar helaas
 
Op zich is de inputbox een getal, dus je zou dat zonder meer als getal moeten kunnen filteren. Heb je al in de stopmodus gekeken of de variabele test wel een goede waarde heeft? En of die ook in de gevonden cel staat?
Eventueel kun je de input nog wat vergemakkelijken:
PHP:
    test = InputBox("Jaar+Week (Bijv. 201820)", "Jaar + Week", Format(Date, "yyyyww", 2, 2))
En dit zou toch gewoon moeten werken, als tenminste de cel een waarde bevat.
PHP:
    For Each cell In rngA
        If cell.Value = test Then
    Next cell
 
Code:
Sub M_snb()
  sheets("produktieplanning").columns(22).autofilter 1, "201820"
End Sub

Als dit niet werkt moet je je voorbeeldbestand plaatsen.
 
Dat is sowieso altijd een goed idee.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan