Avatar billede reginho Nybegynder
21. januar 2007 - 19:11 Der er 6 kommentarer og
1 løsning

Hvilken funktion/kode skal bruges for at springe 70 celler ned?

Hej

Jeg ved ikke omd et er VBA kode jeg leder efter, eller om en funktion i excel kan gøre det.

Konkret drejer det sig om:
Jeg har en laang kolonne (5000 rækker). I celler A2 står der noget jeg skal bruge. Det samme gælder for celle A72, osv nedefter.

Hvis der står noget i cellen, vil jeg gerne have at en bestemt funktion afvikles OG at der undersøges 70 celler længere nede om der også står noget, osv.. Hvis ikke der står noget, så skal skal hvis-funktionen stoppe.

Dybest set, vil jeg gerne vide, hvordan jeg kan få excel til at tjekke 70 celler længere nede om der står noget. For hvis der står noget, så skal min funktion afvikles. Hvis ikke, så er funktionen havnet i en tom celle, og skal stoppe.

Kryptisk - håber på hjælp...

Mvh
Regin
Avatar billede excelent Ekspert
21. januar 2007 - 19:37 #1
denne skriver i A1 den sidste række med værdi i området A2:A5000

Sub tst()
Dim t
For t = 2 To 5000 Step 70
If Cells(t, 1) <> "" Then Cells(1, 1) = t
Next
End Sub

men lad os se formlen og evt lidt mere info
Avatar billede reginho Nybegynder
21. januar 2007 - 20:02 #2
Jeg har to projektmapper. Projektark1 og projektark2. Projektark2 består af de 5000 rækker med informationer. For hver 70 celler kommer en ny virksomhed med forskellige informationer, f.eks antal ansatte, omkostninger, antal ledere. Det er disse informationer jeg skal have ført over i Projektark1.

Selve overførslen er nem. Jeg konsoliderer rækkerne nedefter på et nyt ark i projektark2, og laver herfra en kæde til projektark1, hvor virksomhedernes totale antal ansatte mv nu står samlet. Problemet er, at med 5000 rækker, er der en del forskellige virksomheder, og det tager lang tid at markere de relevante rækker, som skal burges i konsolideringen. Jeg har derfor ikke noget egentlig kode, men mangler simpelthen noget kode eller en funktion, der kan springe de 70 rækker ned, (hvor der så kommer et nyt virksomhedsnavn), og så derefter fortsætte konsolideringen..

Den kode du skrev, hvordan kan jeg afvikle den? Hvordan kalder jeg den f.eks fra en anden makro inde fra excel?

Mvh
Regin
(Tak for hjælpen so far :) )

Jeg skal lige høre:


For at teste proceduren, vil jeg knytte den ti
Avatar billede excelent Ekspert
21. januar 2007 - 20:06 #3
du kan kalde den med : Call tst

vender tilbage når jeg har en løsning
Avatar billede excelent Ekspert
21. januar 2007 - 20:12 #4
skal lige vide om det handler om 2 forskellige Projektmapper (Excelfiler)
eller om det er 2 Ark i samme Projektmappe (Excelfil) ?
Avatar billede reginho Nybegynder
21. januar 2007 - 20:15 #5
Det handler om 2 forskellige projektmapper.
Avatar billede excelent Ekspert
21. januar 2007 - 21:01 #6
Her er et eks. på hvordan værdier kan overføres til Projektmappe1
I eks. forudsættes at Projektmappe2 findes i C:\temp 'ret efter behov
I eks. overføres Firmanavn som forventes findes i cellerne 2,72 osv.
samt linierne 2,3,4 for hver firma
Disse indsættes i Ark2 fra række 1 i kolonne A,B,C,D
så vær opmærksom på at der ikke slettes evt.eksisterende data
opret evt. et nyt ark og ret i koden til dette ark så du kan teste
Dette er blot et eks, jeg ved jo ikke præsis hvilke celler du vil overføre
samt hvor i Projektmappe1 de skal placeres.

Sub tst()
Dim t, antal, rk
Workbooks.Open Filename:="C:\temp\Projektmappe2.xls"
rk = 1
For t = 2 To 5000 Step 70
If Cells(t, 1) <> "" Then antal = t 'Cells(1, 1) = t
Cells(t, 1).Copy Workbooks("Projektmappe1").Sheets("Ark2").Cells(rk, 1) ' Firmanavn
Cells(t + 1, 1).Copy Workbooks("Projektmappe1").Sheets("Ark2").Cells(rk, 2) ' Linie 2 i firma
Cells(t + 2, 1).Copy Workbooks("Projektmappe1").Sheets("Ark2").Cells(rk, 3) ' Linie 3 i firma
Cells(t + 3, 1).Copy Workbooks("Projektmappe1").Sheets("Ark2").Cells(rk, 4) ' Linie 4 i firma
rk = rk + 1
Next
Workbooks("Projektmappe2.xls").Close
End Sub
Avatar billede excelent Ekspert
23. februar 2007 - 21:30 #7
*
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