Avatar billede morten_o Nybegynder
24. juli 2008 - 00:06 Der er 1 kommentar

Excel: Find og kopier data(rækker) til andet faneblad

Sidder og fumler lidt med VBA kode eller excels indbyggede funktioner. Men nej jeg kan ikke finde en løsning.
Opgaven går ud på at finde bestemte rækker på et ark/faneblad ud fra et bestemt kriterie i en af kolonnerne. Eksempel finde alle rækker hvori 0.13 (kolonneoverskrift=Iteration) indgår. Herefter skal disse rækker kopieres over på nyt ark/faneblad.
Håber forklaringen er ok, og på forhånd tusind tak for hjælpen:-)
Avatar billede svla Mester
27. juli 2008 - 19:01 #1
Hej!
Der mangler nogle oplysninger om arknavne og hvilken kolonne der skal søges i, men du kan jo prøve denne kode som er herunder, den søger på ark1 i kolonne A og flytter rækken med dit søgeord til ark2.

Opret en ny Excefil, i VBA oprettes et nyt mondul, kopier koden over i det nye mondul.
Opret noget tekst eller tal i kolonne A på ark1, afspil makroen, hver gang søgeordet genkendes kopieres rækken fra ark1 til ark2.
Hvis du kender lidt til VBA, kan du let selv tilrette koden til dit ark hvis du finder at den kan bruges


Sub SøgPåArk1()

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

Dim Message, Title, Default
Message = "Indtast venligst søgeord"
Title = "Søg ..."
Default = ""
sSøgeord = InputBox(Message, Title, Default)

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

  Application.ScreenUpdating = False

  Sheets("Ark1").Select
  Range("A2").Select
 
  sRækketæller = ActiveCell.Row
 
Do
  If ActiveCell.Value = sSøgeord Then
    Rows(sRækketæller & ":" & sRækketæller).Select
    Selection.Copy
   
    Sheets("Ark2").Select
    Range("A2").Select
   
      If Range("A2").Value = "" Then
        Range("A2").Activate
        ActiveSheet.Paste
        Range("A2").Select
      Else
        Range("A2").CurrentRegion.Select
        ActiveCell.Offset(Selection.Rows.Count, 0).Activate
        ActiveSheet.Paste
        Range("A2").Select
      End If
     
    Sheets("Ark1").Select
    Application.CutCopyMode = False
  End If
    sRækketæller = sRækketæller + 1
    Range("A" & sRækketæller).Select
Loop Until ActiveCell.Value = ""
 
    Range("A2").Select
    Sheets("Ark1").Select
    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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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