Avatar billede ramp Nybegynder
02. juni 2008 - 22:05 Der er 4 kommentarer og
1 løsning

ny version = flytning af celle til andet regneark!

jeg bruger denne formel til at flytte en celle fra mappe1 til mappe2:

Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
x = Sheets("Ark1").Range("A10")
Workbooks.Open Filename:="c:\mappe2.xls"
For Each sh In Workbooks("mappe2.xls").Sheets
sh.Activate
If sh.Range("A10") = "" Then sh.Range("A10") = x: Exit For
Next
Workbooks("mappe2.xls").Close savechanges:=True
Application.ScreenUpdating = True
End Sub

Men når den har fyldt ark tre ud i mappe2 så fortsætter den ikke, hvis man ikke selv har oprettet ark 4. Kan man få den til selv at oprette ark 4 hvis det ikke findes?

Kan man også få den til at døbe det ark som dataen flyttes over. F.eks. skal det ark som celle A10 kommer over i, have navnet fra indholdet i mappe1.?
Avatar billede ramp Nybegynder
02. juni 2008 - 22:06 #1
-------  have navnet fra indholdet i mappe1, Celle A15
Avatar billede supertekst Ekspert
02. juni 2008 - 23:38 #2
Vedr. ark4 - iflg. koden behandler du hvert ark i mappe2 - hvor opstår behovet for det 4. ark? I mappe1 behandler du kun ark1 - eller er der noget jeg har misforstået.
Avatar billede ramp Nybegynder
03. juni 2008 - 09:38 #3
I mappe1 skal der indtastes data. Når der så trykkes på knappen, skal den ryge over i mappe2. Hver gang der trykkes send, skal det sættes over i et nyt ark i mappe2. Når man starter en excel-fil findes der jo kun 3 ark. Når man så har indsat data 3 gange, kommer den jo ikke længere. Der skal den gerne selv oprette ark 4, hvis det er muligt.

Og gerne give arket navnet fra indholdet i mappe1, celle A15.

Er det muligt?
Avatar billede supertekst Ekspert
03. juni 2008 - 11:51 #4
Ja - det er muligt - det ville nok være en fordel, hvis du havde mulighed for at sende filerne til: pb@supertekst-it.dk
Avatar billede supertekst Ekspert
03. juni 2008 - 23:04 #5
Koden er anbragt i Ark1 i Mappe1:

Dim sti, mappe2AntalArk, arkNavn, indsatFlag As Boolean
Private Sub CommandButton1_Click()
    sti = ActiveWorkbook.Path          '
    If Right(sti, 1) <> "\" Then        '
        sti = sti + "\"                ' Egen tilføjelse
    End If                              '
   
    Application.ScreenUpdating = False
    x = Sheets("Ark1").Range("A10")
    arkNavn = Sheets("Ark1").Range("A15")
   
    Workbooks.Open Filename:=sti + "mappe2.xls"
    mappe2AntalArk = ActiveWorkbook.Sheets.Count
    indsatFlag = False
   
    For Each sh In Workbooks("mappe2.xls").Sheets
        sh.Activate
        If sh.Range("A10") = "" Then        'hvis A10 er tom så indsæt
            sh.Range("A10") = x:
            sh.Name = arkNavn              'tilpas arkNavn
            indsatFlag = True              'marker for indsat
            Exit For                        'afbryd
        End If
    Next
   
Rem Test om der blev indsat - hvis ikke opret nyt ark
    If indsatFlag = False Then
        opretNytArk arkNavn, x:
    End If
   
    Workbooks("mappe2.xls").Close savechanges:=True
    Application.ScreenUpdating = True
End Sub
Private Sub opretNytArk(arkNavn, værdi)
On Error GoTo fejl
    With ActiveWorkbook
        .Sheets.Add After:=Worksheets(mappe2AntalArk)
        .Sheets(mappe2AntalArk + 1).Name = arkNavn
        .Sheets(mappe2AntalArk + 1).Range("A10").Select
        Selection = værdi:
    End With
    Exit Sub
   
fejl:
    MsgBox ("ArkNavnet " + arkNavn + " er sandsynligvis anvendt i forvejen")
End Sub
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