Oprettet søn. d. 22. januar 2012 kl. 09:44:11

denero
denero (2.335 point. Point ude: 100)

Erstatte samme værdi flere steder i samme kolonne - (Del 2) "problemer"

Skal bruge nedenstående kode til at rette numre på 4 forskellige ark.
Ved test uden data på arkene køren den fint, men så snart der kommer data på flere ark går det galt og excel "låser". Jeg må have overset et eller andet.

Rem Version 2
Dim ræk As Integer, erstatRække As Integer
Private Sub CommandButton1_Click()
Rem Ark2
    erstatRække = findRække(Sheets(2), "B:B", Me.ComboBox1)
    If erstatRække > 0 Then
        Do Until findRække(Sheets(2), "B:B", Me.ComboBox1) = 0
            erstatRække = findRække(Sheets(2), "B:B", Me.ComboBox1)
            Range("B" & erstatRække).Value = Me.TextBox1
        Loop
    End If

Rem Ark3
    erstatRække = findRække(Sheets(3), "B:B", Me.ComboBox1)
    If erstatRække > 0 Then
        Do Until findRække(Sheets(3), "B:B", Me.ComboBox1) = 0
            erstatRække = findRække(Sheets(3), "B:B", Me.ComboBox1)
            Range("B" & erstatRække).Value = Me.TextBox1
        Loop
    End If
   
Rem Ark6
    erstatRække = findRække(Sheets(6), "B:B", Me.ComboBox1)
    If erstatRække > 0 Then
        Do Until findRække(Sheets(6), "B:B", Me.ComboBox1) = 0
            erstatRække = findRække(Sheets(6), "B:B", Me.ComboBox1)
            Range("B" & erstatRække).Value = Me.TextBox1
        Loop
    End If
   
Rem Ark8
    erstatRække = findRække(Sheets(8), "B:B", Me.ComboBox1)
    If erstatRække > 0 Then
        Do Until findRække(Sheets(8), "B:B", Me.ComboBox1) = 0
            erstatRække = findRække(Sheets(8), "B:B", Me.ComboBox1)
            Range("B" & erstatRække).Value = Me.TextBox1
        Loop
   
    Me.CommandButton1.Enabled = False
 
   

   
    UserForm7.Hide
    UserForm8.Show
 
    End Sub

Skrevet søn. d. 22. januar 2012 kl. 10:59:12| #1

oyejo
oyejo (18.850 point)
Prøv å erstatte dim as Integer med
Dim as Variant

Skrevet søn. d. 22. januar 2012 kl. 11:05:04| #2

kabbak
kabbak (152.524 point)
www.kabbak.dk
Dim ræk As Integer, erstatRække As Integer

lav det om til
Dim ræk As Long, erstatRække As Long

Skrevet søn. d. 22. januar 2012 kl. 11:10:18| #3

kabbak
kabbak (152.524 point)
www.kabbak.dk
den kode du har nu, kan erstattes af denne


Rem Version 2
    Dim ræk As Long, erstatRække As Long
Private Sub CommandButton1_Click()
    Dim Ws As Variant, I As Integer
    Ws = Array(2, 3, 6, 8)    ' sæt flere ark nummere ind hvis de skal med
    For I = 0 To UBound(Ws)
        erstatRække = findRække(Sheets(Ws(I)), "B:B", Me.ComboBox1)
        If erstatRække > 0 Then
            Do Until findRække(Sheets(Ws(I)), "B:B", Me.ComboBox1) = 0
                erstatRække = findRække(Sheets(Ws(I)), "B:B", Me.ComboBox1)
                Range("B" & erstatRække).Value = Me.TextBox1
            Loop
        End If
    Next
End Sub

Skrevet søn. d. 22. januar 2012 kl. 11:11:31| #4

kabbak
kabbak (152.524 point)
www.kabbak.dk
Jeg glemte lige slutningen


Rem Version 2
    Dim ræk As Long, erstatRække As Long
Private Sub CommandButton1_Click()
    Dim Ws As Variant, I As Integer
    Ws = Array(2, 3, 6, 8)    ' sæt flere ark nummere ind hvis de skal med
    For I = 0 To UBound(Ws)
        erstatRække = findRække(Sheets(Ws(I)), "B:B", Me.ComboBox1)
        If erstatRække > 0 Then
            Do Until findRække(Sheets(Ws(I)), "B:B", Me.ComboBox1) = 0
                erstatRække = findRække(Sheets(Ws(I)), "B:B", Me.ComboBox1)
                Range("B" & erstatRække).Value = Me.TextBox1
            Loop
        End If
    Next

  Me.CommandButton1.Enabled = False
 
   

   
    UserForm7.Hide
    UserForm8.Show
 
    End Sub

Skrevet søn. d. 22. januar 2012 kl. 12:06:45| #5

denero
denero (2.335 point)
Vender tilbage senere på dagen, men umiddelbart låser det stadig mappen på den måde nu, at knappen på userformen bliver inde og jeg kan kun lukke ved hjælp af afslut job.

Skrevet søn. d. 22. januar 2012 kl. 14:00:18| #6

kabbak
kabbak (152.524 point)
www.kabbak.dk
Rem Version 2
    Dim ræk As Long, erstatRække As Long
Private Sub CommandButton1_Click()
    Dim Ws As Variant, I As Integer, RW As Long
    Ws = Array(1, 2, 3, 6, 8)  ' sæt flere ark nummere ind hvis de skal med
    For I = 0 To UBound(Ws)
        UserForm1.Caption = "Ark(" & Ws(I) & ")"
        Me.Repaint
        RW = Sheets(Ws(I)).Range("B65536").End(xlUp).Row
        erstatRække = findRække(Sheets(Ws(I)), "B1:B" & RW, Me.ComboBox1)
        If erstatRække > 0 Then
            Do Until findRække(Sheets(Ws(I)), "B1:B" & RW, Me.ComboBox1) = 0
                erstatRække = findRække(Sheets(Ws(I)), "B1:B" & RW, Me.ComboBox1)
                Sheets(Ws(I)).Range("B" & erstatRække).Value = Me.TextBox1
            Loop
        End If
    Next
    Me.CommandButton1.Enabled = False
    UserForm7.Hide
    UserForm8.Show
End Sub

der manglede arknavn på linjen

    Range("B" & erstatRække).Value = Me.TextBox1

skal være

Sheets(Ws(I)). Range("B" & erstatRække).Value = Me.TextBox1

Jeg har også lavet så den ikke kikker på hele kolonnen, men kun dem med data i.

Skrevet søn. d. 22. januar 2012 kl. 17:05:33| #7

denero
denero (2.335 point)
Virker, men det har jeg jo skrevet før. Lægger du et svar

Skrevet søn. d. 22. januar 2012 kl. 17:27:29| #8


Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   

   

Seneste spørgsmål

hjælp til at lave et træningsprogram

Oprettet den 26. maj 2012 kl. 20.44
janskov giver 30 point for svar | Giv et svar »

Datavalidering med anden workbook som referance

Oprettet den 26. maj 2012 kl. 09.05
KenneyD71 giver 60 point for svar | Giv et svar »

Søgeformel i Excel

Oprettet den 25. maj 2012 kl. 23.28
Torben1970 giver 60 point for svar | Giv et svar »



   




Tips & Tricks fra PC World

Teaser billede

Læserne: Her er vores værste it-indkøb

Det er ikke al it-udstyr, som er det rene guld. Her er nogle af læsernes skrækhistorier.


Anmeldelser fra PC World

Teaser billede

Test: Mobil med Ferrari-design - og en Trabant-motor

Motorola har begået endnu en smartphone med lækkert design og potentiale til at være blandt de bedste. Men den når ikke i mål. Se her hvorfor.


Seneste blogindlæg

Teaser billede

Tvangslukke spørgsmål: Hvad er den bedste løsning?

Hej Vi har mange åbne spørgsmål på Eksperten. Vi ville gerne tvangslukke dem - så et spørgsmål efter f.eks. 6 måneder lukkes. Men der er et par uklarheder som ville være gode at få lidt input til:...


Nyheder fra PC World

Teaser billede

Sådan siger du farvel til Facebook

Læs her, hvordan du dropper Facebook og i stedet anvender nogle brugervenlige alternativer, så du stadig kan være social på nettet.


Nyheder fra Computerworld

Teaser billede

Galleri: De fedeste håndholdte gennem 40 år

Her har du de mest banebrydende håndholdte computere gennem alle tider.


Kurser
Samarbejdspartnere

Udgiver · © 2012 IDG Danmark A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger