07. maj 2008 - 23:26Der er
11 kommentarer og 1 løsning
Hurtig: søg på et ord i en xl.celle kopiere række til anden fan?
Hejsa
Jeg har kastet mig ud i et lille projekt, som jeg bare ikke kan komme videre med. Jeg syntes at have ledt efter diverse muligheder herinde men uden held.
Mit problem går ud på at jeg har 5 kollonner og 50 rækker. Jeg vil søge på et ord i kollonne c. Når ordet er fundet så skal rækken kopieres over i en anden arkfane, med søgeordet i kollonne c som navn.
Da det typisk vil være de samme 4 søgeord, så skal der laves en loop, så andre rækker bliver tilføjet arket + 1
Rem Model 1 Rem Koden anbringes i ark med data (Højreklik på fane / Vis programkode) Rem Arkene med søgeords-betegnelsen forventes at være oprettet Rem Koden igangsættes med Alt+F8 - Afspil "startSøgning" Rem ==================================================================== Sub startSøgning() Dim antalRæk, tekst ActiveWorkbook.Sheets(1).Activate
antalRæk = ActiveCell.SpecialCells(xlLastCell).Row tekst = InputBox("Indtast søgeord:", "Start søgning") søgOrd tekst, antalRæk End Sub Private Sub søgOrd(tekst, antalRæk) For ræk = 1 To antalRæk If Cells(ræk, 3) = tekst Then Rows(ræk).Copy indsætRækkeIArk tekst End If Next ræk End Sub Private Sub indsætRækkeIArk(tekst) ActiveWorkbook.Sheets(tekst).Activate For ræk = 1 To 65000 If ActiveSheet.Cells(ræk, 1) = "" Then ActiveSheet.Rows(ræk).Select ActiveSheet.Paste ActiveWorkbook.Sheets(1).Activate Application.CutCopyMode = False Exit Sub End If Next ræk End Sub
Søgeordet bliver gemt i modulet. F.eks. så skal den søge på 310/320/330/340 Men jeg går udfra at jeg i stedet for: "tekst= inputbox()" skriver "tekst="310"
Hvordan skal jeg gøre for at komme videre til søgeord "320" som derefter skal kopiere de data til ark("320")??
Jeg giver det lige et forsøg når jeg kommer hjem fra arbejde.
Søgeordne er permanente, og det virker fantastisk :D Tak for hjælpen.
I dette ark, der er så også nogle datoer som bliver lagt ind assorteret. Jeg kunne godt tænke mig en knap, som kunne sortere datoerne stigende, men også en knap der kan sortere datoerne faldende.
Med hensyn til sortering - så prøv at indspille to makroer, hvor du sortere den nævnte dato i begge "retninger" - så har du koden, som du kan forbinde med hver sin knap.
Har du fået gennemløb af alle 4 søgeord på plads? --> Hmm nej, det lykkes faktisk ikke rigtig for mig. Jeg har prøvet at lave en tekst1, tekst2, tekst3 for at gi' dem hver deres søgeord.
Rem Model 2 Rem Koden anbringes i ark med data (Højreklik på fane / Vis programkode) Rem Arkene med søgeords-betegnelsen forventes at være oprettet Rem Koden igangsættes med Alt+F8 - Afspil "startSøgning" Rem ==================================================================== Dim søgeTekster As Variant Sub startSøgning() Dim antalRæk, tekst ActiveWorkbook.Sheets(1).Activate
søgOrd antalRæk End Sub Private Sub opretSøgeOrd() Rem Hvis Tal ************************** søgeTekster = Array(11, 22, 33, 44) '<-----EKSEMPEL
Rem Hvis tekster ********************** Rem søgeTekster = Array("aa", "bb", "cc", "dd")
End Sub Private Sub søgOrd(antalRæk) Dim cTekst For ræk = 1 To antalRæk cTekst = Cells(ræk, 3)
If erDetSøgeOrd(cTekst) = True Then Rows(ræk).Copy indsætRækkeIArk cTekst End If Next ræk End Sub Private Function erDetSøgeOrd(cTekst) For f = 0 To UBound(søgeTekster) If cTekst = søgeTekster(f) Then erDetSøgeOrd = True Exit Function End If Next f erDetSøgeOrd = False End Function Private Sub indsætRækkeIArk(tekst) ActiveWorkbook.Sheets(CStr(tekst)).Activate '<- Cstr(Tekst) tal -> tekst For ræk = 1 To 65000 If ActiveSheet.Cells(ræk, 1) = "" Then ActiveSheet.Rows(ræk).Select ActiveSheet.Paste ActiveWorkbook.Sheets(1).Activate Application.CutCopyMode = False Exit Sub End If Next ræk End Sub
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.