Juiste regel vinden en verwijderen
Beste forumleden,
Ik heb een VBA code waarmee ik gegevens uit een userform op het werkblad kan plaatsen. Dezelfde gegevens worden van een ander werkblad verwijderd. Deze code heb ik met dank aan wigi, demeter en spiderman gekregen. Ik wil nu enkele wijzigingen hierin brengen:
De regel (rij) waar moet worden opgeslagen wordt gezocht aan de hand van 1 voorwaarde (ordernummer) deze moeten overeenkomen. Nu wil ik echter een 2e voorwaarde toevoegen, dus dat de juiste regel wordt gezocht aan de hand van het ordernummer én kassanummer.
de code die ik hervoor gebruik is:
overal waar rt staat was oorspronkelijk alleen een r, maar omdat er aan 2 voorwaarden voldaan moet worden heb ikzelf de t toegevoegd. Hopelijk kan iemand mij helpen zodat de ingevoerde velden op het userform in de juiste rij wordt geplaatst.
Beste forumleden,
Ik heb een VBA code waarmee ik gegevens uit een userform op het werkblad kan plaatsen. Dezelfde gegevens worden van een ander werkblad verwijderd. Deze code heb ik met dank aan wigi, demeter en spiderman gekregen. Ik wil nu enkele wijzigingen hierin brengen:
De regel (rij) waar moet worden opgeslagen wordt gezocht aan de hand van 1 voorwaarde (ordernummer) deze moeten overeenkomen. Nu wil ik echter een 2e voorwaarde toevoegen, dus dat de juiste regel wordt gezocht aan de hand van het ordernummer én kassanummer.
de code die ik hervoor gebruik is:
Code:
'waar gaan we opslaan
Dim Rij As Integer
Rij = FindOnSheet("reactietijden", storinggereedordernummer, storinggereedkassanummer, "rt) [B]in deze regel moet volgens mij een wijziging worden gebracht[/B] If Rij = -1 Then Rij = LastRow
With Sheets("reactietijden")
.Range("s" & Rij) = storinggereeddatumgereed
.Range("w" & Rij) = storinggereedbegintijd
.Range("y" & Rij) = storinggereedeindtijd
.Range("ax" & Rij) = storingsformuliergereed.TxtHerhaalStoring.Text
.Range("ay" & Rij) = storingsformuliergereed.CmbbStoringGereedMonteur.Text
.Range("az" & Rij) = storingsformuliergereed.storinggereedcode.Text
.Range("ba" & Rij) = storingsformuliergereed.storinggereedomschrijving.Text
.Range("bb" & Rij) = storingsformuliergereed.storinggereedcode1.Text
.Range("bc" & Rij) = storingsformuliergereed.storinggereedomschrijving1.Text
End With
MsgBox "De storing is gereed gemeld"
Application.ScreenUpdating = True
End Sub
Code:
Function RemoveOnCondition(sSheet As String, Condition As String, RowColOrCell As String) As Boolean
Dim ToRemove As String
ToRemove = FindOnSheet(sSheet, Condition, RowColOrCell)
Select Case LCase(RowColOrCell)
Case "rt"
Sheets(sSheet).Range("A" & ToRemove).EntireRow.Delete xlShiftUp
Case "c"
Sheets(sSheet).Range("A" & ToRemove).EntireColumn.Delete xlShiftToLeft
Case "rtc"
Sheets(sSheet).Range(ToRemove).Value = ""
End Select
End Function
Code:
Function FindOnSheet(sSheet As String, ByVal Zoek As String, RowOrCol As String) As String
Dim Row, column As Long
Dim FilledRows, RowCol As String
FindOnSheet = -1
FilledRows = Sheets(sSheet).UsedRange.Address
With Sheets(sSheet).Range(FilledRows)
Set c = .Find(Zoek, LookIn:=xlValues, MatchCase:=False)
If Not c Is Nothing Then
Row = c.Row
col = c.column
RowCol = c.AddressLocal
End If
End With
If LCase(RowOrCol) = "rt" Then FindOnSheet = CStr(Row) ' Geeft als resultaat de Rij
If LCase(RowOrCol) = "c" Then FindOnSheet = CStr(col) ' Geeft als resultaat de kolom
If LCase(RowOrCol) = "rtc" Then FindOnSheet = RowCol ' Geeft als resultaat de Rij en kolom
End Function
overal waar rt staat was oorspronkelijk alleen een r, maar omdat er aan 2 voorwaarden voldaan moet worden heb ikzelf de t toegevoegd. Hopelijk kan iemand mij helpen zodat de ingevoerde velden op het userform in de juiste rij wordt geplaatst.
Laatst bewerkt: