Avatar billede mortcob Nybegynder
13. december 2005 - 14:07 Der er 1 kommentar

Samle ark men uden formel og med billeder?

Hej NG!

Jeg har en rækkke regneark som hver især indeholder et kalkulationsværktøj for en specifik afdeling. I hvert enkelt regneark er der et ark(dataarket) som jeg gerne vil have kopieret over i et fælles ark. (det vil sige at i en workbook med et sheet (dataarket) fra hvert af de ovennævnte workbooks.

Problemet er, at jeg ikke vil have henvisninger til andre ark i formlerne i den nye workbook, men kun værdierne fra cellerne. Samtidig er der en række billeder på disse dataark, som ikke bliver kopieret vil jeg vælger "paste special" og "values"

Er der nogen, som har et løsning til et sådant problem?

På forhånd tusind tak for hjælpen!
Avatar billede bak Forsker
13. december 2005 - 15:47 #1
Denne makro laver en kopi af det ark der er aktivt når den køres. Kopien bliver lagt over i en ny fil. Derfra kan du så hente den.

Sub CreateDeadSheet()
  Dim l As Long, t As Long, y
  Dim C As ChartObject
  Dim q
  Dim cur As Range
  Dim r, k
  If ActiveSheet.ChartObjects.Count > 0 Then
      q = MsgBox("Som vist på skærm ? (Yes) " & vbCrLf & "eller som printet ? (No)", vbYesNoCancel, "Hvordan skal grafer behandles")
      If q = vbCancel Then Exit Sub
  End If
  Application.ScreenUpdating = False
  ActiveSheet.Copy
  Cells.Copy
  Cells.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
                      False, Transpose:=False


  If ActiveSheet.ChartObjects.Count > 0 Then
      For Each C In ActiveSheet.ChartObjects
        With ActiveSheet.Shapes(C.Name)
            t = .Top
            l = .Left
        End With
        If q = vbNo Then
            C.CopyPicture Appearance:=xlPrinter, Format:=xlPicture
        Else
            C.CopyPicture Appearance:=xlScreen, Format:=xlPicture
        End If
        Set y = ActiveSheet.Pictures.Paste
        With y
            .Top = t
            .Left = l
        End With
        C.Delete
      Next
  End If

  Set cur = ActiveSheet.UsedRange
  For Each r In cur.Rows
      If r.Hidden = True Then r.EntireRow.Clear
  Next
  For Each k In cur.Columns
      If k.Hidden = True Then k.EntireColumn.Clear
  Next


  Application.CutCopyMode = False
  Application.ScreenUpdating = True

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