28. februar 2008 - 20:33Der er
7 kommentarer og 1 løsning
hente data fra andet ark
jeg har en masse linier i ark2 A B C D E tal tom tekst tekst tekst
Flere af linierne er tomme.
Jeg kunne godt tænke mig at få hentet de linier der IKKE er tomme over fra ark2 til ark1
Den skal hente fra linie 5 i ark2 og starte med at indsætte linierne i 4 i ark1
Den skal overføre ALLE linier med som ikke er tomme i kolonne A.
Ekstra ønske: Kolonne A er som nævnt altid tal. Hvis det kan lade sig gøre at lave et sideskift over det første tal der er OVER 5000 og igen lige over det første tal der overstiger 6000 vil det være helt perfekt, men ikke en nødvendighed.
I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
Hvis du kun skal gøre dette få gange, er det nemmeste i kolonne F at indsætte formlen: =Række()*er.tal(a1) Kopier først formlen til alle celler i kolonne F Kopier dernæst alle celler i F til clipboard og brug "indsæt speciel, værdier" (genbrug kolonne F) Nu kan du sortere efter kolonne F. Tomme linjer kommer øverst, resten skulle gerne stå samme sted som før
Alt dette forudsætter at linjen er tom, når cellen i A er tom
Noget i stil med (ikke afprøvet, så kan indeholde fejl): Sub hentdata() Dim c As Range, i as integer i = 4 For Each c In Application.Intersect(Worksheets("Ark2").UsedRange, Worksheets("Ark2").Range("A:A")) If c.Row > 4 Then If c <> "" Then Worksheets("Ark1").Range("A4").Offset(i, 0) = c.Offset(0, 0) Worksheets("Ark1").Range("B4").Offset(i, 0) = c.Offset(0, 1) Worksheets("Ark1").Range("C4").Offset(i, 0) = c.Offset(0, 2) Worksheets("Ark1").Range("D4").Offset(i, 0) = c.Offset(0, 3) Worksheets("Ark1").Range("E4").Offset(i, 0) = c.Offset(0, 4) i = i + 1 End If End If Next End Sub
Jeg har forsøgt med nedenstående, men så henter den ingen data overhovedet.
Sub hentdata() Dim c As Range, i as integer, taltjek as boolean i = 4 For Each c In Application.Intersect(Worksheets("Ark2").UsedRange, Worksheets("Ark2").Range("A:A")) taltjek = Application.WorksheetFunction.IsNumber(MyRange) If taltjek = True Then If c.Row > 4 Then If c <> "" Then Worksheets("Ark1").Range("A4").Offset(i, 0) = c.Offset(0, 0) Worksheets("Ark1").Range("B4").Offset(i, 0) = c.Offset(0, 1) Worksheets("Ark1").Range("C4").Offset(i, 0) = c.Offset(0, 2) Worksheets("Ark1").Range("D4").Offset(i, 0) = c.Offset(0, 3) Worksheets("Ark1").Range("E4").Offset(i, 0) = c.Offset(0, 4) i = i + 1 End If End If end if Next End Sub
Jeg rettede (myrange ) til (c) og så virkede det. Takker for hjælpen
Synes godt om
Ny brugerNybegynder
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.