Avatar billede hubertus Seniormester
10. januar 2007 - 10:37 Der er 20 kommentarer og
1 løsning

Ændring af en bestemt celle i flere ws, som ligger i samme bib.

Hejsa
Opgaven går på at ændre flere data i et regneark via en userform. Der skal ændres i 3 felter. Kan man via en userform indtaste ændringen af de 3 felter mens man i et 4. felt vælger den fil, som der skal ændres i?
En anden del af opgaven er at gennemløbe alle filer i et bibliotek og foretage en ændring i en bestemt celle.
mvh.
Hubertus
Avatar billede kabbak Professor
10. januar 2007 - 10:59 #1
Public Sub test()
    Dim strFilNavn(100) As Variant, Mypath As String, NR As Integer, I As Integer
    Mypath = "C:\Test\"    ' ret til din sti
    If Right(Mypath, 1) <> "\" Then Mypath = Mypath & "\"
    NR = 0
    strFilNavn(NR) = Dir(Mypath & "*.xls")  ' Hent den første filnavn.

    Do While strFilNavn(NR) <> ""  ' Start løkken
        If strFilNavn(NR) <> "." And strFilNavn(NR) <> ".." Then
            NR = NR + 1
        End If

        strFilNavn(NR) = Dir    ' Hent næste filnavn.
    Loop
    Application.ScreenUpdating = False
    For I = 0 To NR - 1
        Workbooks.Open (Mypath & strFilNavn(I))    ' åbner regneark
        ActiveWorkbook.Worksheets("Ark1").Range("A1") = 20    ' skriver i en celle
        ActiveWorkbook.Close savechanges:=True    ' lukker og gemmer
    Next
    Application.ScreenUpdating = False

End Sub
Avatar billede richter1 Nybegynder
10. januar 2007 - 15:09 #2
Hej Kabbak - det virker perfekt :o), så sidste del af opgaven er løst. Har du mod på første del?
Avatar billede hubertus Seniormester
10. januar 2007 - 15:12 #3
ups - min kollega var lidt hurtiger end mig - vi arbejder sammen om projektet - men tak for hjælpen med sidste del.
Avatar billede kabbak Professor
10. januar 2007 - 15:15 #4
Hvordan vil du vælge filen ??
Avatar billede hubertus Seniormester
10. januar 2007 - 15:16 #5
hvis det er muligt vil jeg gerne kunne vælge den fra en dropdown box
Avatar billede kabbak Professor
10. januar 2007 - 15:42 #6
Ok, lav en Userform med 3 Tekstbokse og en commandknap

Her er koden til knappen, ret selv til

Private Sub CommandButton1_Click()
Dim FileToOpen As Variant
Application.ScreenUpdating = False
FileToOpen = Application.GetOpenFilename("Excelfiler (*.xls), *.xls")
    If FileToOpen <> False Then
        Workbooks.Open (FileToOpen)    ' åbner regneark
        ActiveWorkbook.Worksheets("Ark1").Range("A1") = Me.TextBox1    ' skriver i en celle
        ActiveWorkbook.Worksheets("Ark1").Range("A2") = Me.TextBox2
        ActiveWorkbook.Worksheets("Ark1").Range("A3") = Me.TextBox3
        ActiveWorkbook.Close savechanges:=True    ' lukker og gemmer
    End If
    Application.ScreenUpdating = False
End Sub
Avatar billede kabbak Professor
10. januar 2007 - 15:42 #7
et svar ;-))
Avatar billede hubertus Seniormester
10. januar 2007 - 16:14 #8
hej Kabak - den virker ikke helt endnu. Jeg kan fint åbne udfylde og åbne et ark, men der skrives ikke noget i arket. Det smarte vil være om man først åbner arket, derefter udfylder felterne og dernæst gemmer.
Avatar billede kabbak Professor
10. januar 2007 - 18:01 #9
Virker fint her, Har du husket at rette arknavn, celle og navnene på tekstboksene
Avatar billede hubertus Seniormester
10. januar 2007 - 18:58 #10
det gør den også hos mig nu - lidt underligt, men det virker. Kan du afslutningsvis vise, hvordan jeg i koden kan forubestemme i hvilket katalog der åbnes som default?
mvh / hubertus
Avatar billede kabbak Professor
10. januar 2007 - 19:10 #11
Det tror jeg ikke man kan, som standard er det vist, hvor excelmappen med koden i ligger.
Avatar billede hubertus Seniormester
10. januar 2007 - 19:12 #12
det er ok - Tak for hjælpen det sparer mig for meget arbejde. :-)
Avatar billede hubertus Seniormester
11. januar 2007 - 10:03 #13
Hej Kabak
Burde følgende ikke bevirke at jeg fik indlæst infomationer i userformen?

Private Sub cmdopen_Click()
Dim FileToOpen As Variant
FileToOpen = Application.GetOpenFilename("Excelfiler (*.xls), *.xls")
Me.txtårstal = ActiveWorkbook.Worksheets("Ark1").Range("a1")
Me.txtfag = ActiveWorkbook.Worksheets("Ark1").Range("c3")
Me.txtformand = ActiveWorkbook.Worksheets("Ark1").Range("A35")
End Sub

det var med henblik på at kunne ændre i felterne og dernæst gemme
Avatar billede kabbak Professor
11. januar 2007 - 10:50 #14
Du glemte at åbne og lukke

Private Sub cmdopen_Click()
    Dim FileToOpen As Variant
    FileToOpen = Application.GetOpenFilename("Excelfiler (*.xls), *.xls")
    If FileToOpen <> False Then
        Workbooks.Open (FileToOpen)
        Me.txtårstal.Text = ActiveWorkbook.Worksheets("Ark1").Range("a1").Text
        Me.txtfag.Text = ActiveWorkbook.Worksheets("Ark1").Range("c3").Text
        Me.txtformand.Text = ActiveWorkbook.Worksheets("Ark1").Range("A35").Text
        ActiveWorkbook.Close savechanges:=True    ' lukker og gemmer
    End If
End Sub
Avatar billede hubertus Seniormester
11. januar 2007 - 14:21 #15
Kabak - den havde jeg overset - er ikke vandt til at arbejde med åbne lukke filer.
Tak for hjælpen.
Avatar billede hubertus Seniormester
13. januar 2007 - 11:36 #16
Hej kabak - sætter lig nogle flere point på højkant

Jeg har brug for at kunne ændre linien   
ActiveWorkbook.Close savechanges:=True   
således at jeg kan gemme under et andet filnavn. (svarende til gem som). Kan du hjælpe med det?
Avatar billede kabbak Professor
13. januar 2007 - 19:53 #17
Denne øverst i makroen
    Dim fName As Variant


Erstat

ActiveWorkbook.Close savechanges:=True    ' lukker og gemmer

med nedenstående


    fName = Application.GetSaveAsFilename( _
            fileFilter:="Excelfiler  (*.xls), *.xls")
    If fName <> False Then
        ActiveWorkbook.SaveAs Filename:=fName
    Else
        MsgBox " Mappen er ikke gemt"
    End If
Avatar billede hubertus Seniormester
13. januar 2007 - 22:30 #18
Hej Kabbak - det var lige det jeg søgte. Jeg opretter lige et spørgsmål, så du kan få nogle point.
Avatar billede kabbak Professor
13. januar 2007 - 22:32 #19
behøves ikke, det er service ;-))
Avatar billede hubertus Seniormester
13. januar 2007 - 22:33 #20
Tak for det - ha en god aften :-)
Avatar billede kabbak Professor
13. januar 2007 - 22:35 #21
selv tak
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester