Avatar billede Th72 Praktikant
12. august 2013 - 22:36 Der er 2 kommentarer og
1 løsning

PasteSpecial problem ved kopi af hele rækker

Hej,
Jeg har rodet lidt med at få kopieret bestemte rækker fra et ark ("Timer")over på et andet ark("Statistik"). På det første ark er kolonne A datoer for et helt år, hvor der flere steder forekommer flere rækker med samme dato. Kolonne B indeholder kunde navn som jeg søger efter. Resten af kolonnerne (op til P) indeholder diverse oplysninger om tidsforbrug for det enkelte besøg på den dag.

Når jeg kopierer vil jeg gerne have værdier og tekst over men ikke formatering og formler. Jeg har forsøgt med nedenstående kode men den virker kun hvis jeg ikke bruger PasteSpecial.

Jeg ville også rigtig gerne hvis nogen har en ide til, hvordan jeg vælger et bestemt søge interval. For det første søger jeg efter en bestemt kunde for at få listet alle kundebesøg til netop den kunde. I stedet for at liste alle besøg på et helt år ville det være praktisk at søge indenfor et bestemt dato interval.

Sub SøgKunde()

Dim sRækketæller As String
Dim sSøgeord As String

Dim Message, Title, Default
Message = "Indtast kunde navn"
Title = "Søg kunde"
Default = ""
sSøgeord = InputBox(Message, Title, Default)

If sSøgeord = "" Then
  Exit Sub
End If

  Application.ScreenUpdating = False

  Sheets("Timer").Select
  Range("B5").Select
 
  sRækketæller = ActiveCell.Row
 
Do
  If ActiveCell.Value = sSøgeord Then
    Rows(sRækketæller & ":" & sRækketæller).Select
    Selection.Copy
   
    Sheets("Statistik").Select
    Range("A8").Select
   
      If Range("A8").Value = "" Then
        Range("A8").Activate
        ActiveSheet.PasteSpecial Paste:=xlPasteValues  'Her vil jeg kun indsætte værdier, men det virker ikke. Virker fint hvis jeg kun bruger ActiveSheet.Paste
        Range("A8").Select
      Else
        Range("A8").CurrentRegion.Select
        ActiveCell.Offset(Selection.Rows.Count, 0).Activate
        ActiveSheet.PasteSpecial Paste:=xlPasteValues
        Range("A8").Select
      End If
     
    Sheets("Timer").Select
    Application.CutCopyMode = False
  End If
    sRækketæller = sRækketæller + 1
    Range("B" & sRækketæller).Select
Loop Until ActiveCell.Value = "Slut"
 
    Range("B2").Select
    Sheets("Statistik").Select
    Application.ScreenUpdating = True
End Sub
Avatar billede H_Klein Novice
15. august 2013 - 22:14 #1
Hej Th72,

Prøv at indsætte nedenstående kode istedet for.

Der er lidt mere med end det du bruger i din kode og nedenstående virker fint for mig.

-----------------------

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

----------------------

Med venlig hilsen

Henrik
Avatar billede Th72 Praktikant
21. august 2013 - 14:05 #2
Hej H_Klein,

Undskyld det sene svar. Nu har jeg fået det afprøvet og det virker. Fandt også ud af at jeg får fejlen hvis jeg beholder udtrykket ActiveSheet.PasteSpecial... Det skal altså være som du foreslår Selection.Pastespecial....

Tak for hjælpen. Smider du et svar så får du point.
Avatar billede H_Klein Novice
21. august 2013 - 23:00 #3
Glad for at høre at det virkede :-)

Med venlig hilsen

Henrik
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

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