20. januar 2012 - 22:25Der er
4 kommentarer og 1 løsning
Erstatte samme værdi flere steder i samme kolonne
Rem Version 2 Dim ræk As Integer, erstatRække As Integer Private Sub CommandButton1_Click() Rem Ark1 erstatRække = findRække(Sheets(1), "B:B", Me.ComboBox1) If erstatRække > 0 Then Range("B" & erstatRække).Value = Me.TextBox1 End If
Rem Ark2 erstatRække = findRække(Sheets(2), "B:B", Me.ComboBox1) If erstatRække > 0 Then Sheets(2).Range("B" & erstatRække).Value = Me.TextBox1 End If
Me.CommandButton1.Enabled = False End Sub Private Sub TextBox1_Change() If Me.TextBox1 <> "" And Len(Me.TextBox1) = 7 Then Me.CommandButton1.Enabled = True Else Me.CommandButton1.Enabled = False End If End Sub Private Sub UserForm_activate() Me.ComboBox1.Clear For ræk = 2 To ActiveCell.SpecialCells(xlLastCell).Row If Range("B" & ræk).Value <> "" Then Me.ComboBox1.AddItem Range("B" & ræk) End If Next ræk End Sub Private Function findRække(ark, område, id)
With ark.Range(område) Set c = .Find(id, LookIn:=xlValues, LookAt:=xlWhole) If Not c Is Nothing Then findRække = c.Row Else findRække = 0 End If End With Exit Function
End Function
Bruger denne kode til at rette en værdi i 2 kolonner, en på hver sit ark. Udgangspunktet var, at der i disse kolonner kun var unikke værdier, men nu har jeg altså brug for at rette samme værdi flere steder i hver kolonne - altså på hver ark. Hvad skal der evt. tilføjes. Køres via userform.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Ikke testet, men prøv, lav selv for ark2, hvis det virker
Rem Ark1 erstatRække = findRække(Sheets(1), "B:B", Me.ComboBox1) If erstatRække > 0 Then Do Until findRække(Sheets(1), "B:B", Me.ComboBox1) = 0 erstatRække = findRække(Sheets(1), "B:B", Me.ComboBox1) Range("B" & erstatRække).Value = Me.TextBox1 Loop End If
Rem Ark1 erstatRække = findRække(Sheets(1), "B:B", Me.ComboBox1) If erstatRække > 0 Then Range("B" & erstatRække).Value = Me.TextBox1 End If
i din kode med denne
Rem Ark1 erstatRække = findRække(Sheets(1), "B:B", Me.ComboBox1) If erstatRække > 0 Then Do Until findRække(Sheets(1), "B:B", Me.ComboBox1) = 0 erstatRække = findRække(Sheets(1), "B:B", Me.ComboBox1) Range("B" & erstatRække).Value = Me.TextBox1 Loop End If
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.