10. januar 2007 - 10:37Der 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
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
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
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.
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
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
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
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?
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
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.