Ik zit even met iets anders. Het gaat in feite om het zelfde GUI formulier waar ik mee bezit ben. Deze werkt in feite, op een paar kleinigheden na, hoe ik wil dat deze werkt. De kleinigheden worden elders al besproken. Al heb ik dat nog niet werkend gekregen. Ik moet daar kennelijk toch de boel Global zien te krijgen, maar dat staat los van wat ik wil gaan doen.
Het GUI formulier wordt nu nog vanuit tabblad Materiaallijst aangeroepen. Dat wil ik dus niet. Het formulier moet elders zijn op te roepen en dat heb ik werkend gekregen. Alleen waar ik nu op stuit is dat als ik wijzigingen wil doorvoeren het niet krijg doorgevoerd op blad materiaallijst, maar dat de wijzigingen op het actieve blad komt te staan op de rij waar het in de materiaallijst om gaat. Ik heb al 1 en ander omgezet, maar ik neem toch aan dat ik met onderstaande code de wijzigingen normaal in blad materiaallijst moet krijgen.
Ik roep het userform aan vanaf tabblad Opmaak en vraag de gegevens op in tabblad materiaallijst. Deze worden dan keurig op tabblad Opmaak in het userform weergegeven. Zodra ik wijzigingen wil maken dan lukt het niet. Moet ik hier: With Sheets("Materiaallijst") ook nog aanpassen soms?
De IT wordt hiermee opgevraagd
Het GUI formulier wordt nu nog vanuit tabblad Materiaallijst aangeroepen. Dat wil ik dus niet. Het formulier moet elders zijn op te roepen en dat heb ik werkend gekregen. Alleen waar ik nu op stuit is dat als ik wijzigingen wil doorvoeren het niet krijg doorgevoerd op blad materiaallijst, maar dat de wijzigingen op het actieve blad komt te staan op de rij waar het in de materiaallijst om gaat. Ik heb al 1 en ander omgezet, maar ik neem toch aan dat ik met onderstaande code de wijzigingen normaal in blad materiaallijst moet krijgen.
Ik roep het userform aan vanaf tabblad Opmaak en vraag de gegevens op in tabblad materiaallijst. Deze worden dan keurig op tabblad Opmaak in het userform weergegeven. Zodra ik wijzigingen wil maken dan lukt het niet. Moet ik hier: With Sheets("Materiaallijst") ook nog aanpassen soms?
Code:
Case Is = "Wijzigingen opslaan"
If TextBox6 = vbNullString Then MsgBox ("U dient een" & Label7.Caption & " in te voeren."), vbExclamation, "Invoerwaarde verplicht": TextBox6.SetFocus: Exit Sub
If TextBox7 = vbNullString Then TextBox7 = "0.00"
If Right(TextBox8, 1) = "%" Then TextBox8 = Format(Left(TextBox8, Len(TextBox8) - 1), "0.00")
TextBox8 = IIf(TextBox8 <> vbNullString, Format(TextBox8, "0.00"), "0.00") 'Indien textbox leeg is, wordt deze gevuld met waarde 0,00
Me.Top = "170"
'Gegevens opslaan
With Sheets("Materiaallijst")
Cells(IT, 1).Resize(, 8) = Array(TextBox1, TextBox2, TextBox3, TextBox4, TextBox5, TextBox6,
CDbl(TextBox7), CDbl(TextBox8 / 100)) 'Dit stukje staat in de originele code direct achter TextBox6
End With
'Opmerkingen toevoegen of wissen
Select Case TextBox12.Value
Case Is = vbNullString
Cells(IT, 1).ClearComments
Case Is = "Geen opmerkingen" 'Voorkomen dat er met deze tekst een opmerking wordt ingevoerd
Cells(IT, 1).ClearComments
Case Else
With Cells(IT, 1)
.ClearComments 'Indien er in de cel al een opmerking aanwezig is dan eerst deze wissen
.AddComment
.Comment.Text Text:=TextBox12.Value
End With
End Select
If Frm_Product_1.TextBox1 <> TextBox6.Text Then Frm_Product_1.TextBox1 = TextBox6
For j = 1 To 8
Me("TextBox" & j).Enabled = False
Next
Me.TextBox12.Enabled = False
CommandButton2.Enabled = False
Call Frm_Product_1.Gegevens 'Opnieuw gegevens uit database ophalen
CommandButton1.Caption = "Bewerken"
MsgBox ("Gegevens zijn aangepast en opnieuw geladen."), vbOKOnly, ""
End Select
End Sub
De IT wordt hiermee opgevraagd
Code:
Dim IT As Long
If Frm_Product_1.ComboBox1.Value = Tekst_B Then IT = WorksheetFunction.Match(Frm_Product_1.TextBox1.Text, Sheets("Materiaallijst").Columns(3), 0)
If Frm_Product_1.ComboBox1.Value = Tekst_C Then IT = WorksheetFunction.Match(Frm_Product_1.TextBox1.Text, Sheets("Materiaallijst").Columns(4), 0)
If Frm_Product_1.ComboBox1.Value = Tekst_D Then IT = WorksheetFunction.Match(Frm_Product_1.TextBox1.Text, Sheets("Materiaallijst").Columns(5), 0)
If Frm_Product_1.ComboBox1.Value = Tekst_E Then IT = WorksheetFunction.Match(Frm_Product_1.TextBox1.Text, Sheets("Materiaallijst").Columns(6), 0)
Laatst bewerkt: