/ Forside/ Teknologi / Administrative / MS-Office / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
MS-Office
#NavnPoint
sion 18709
refi 14474
Klaudi 9389
Rosco40 5695
berpox 5456
dk 5398
webnoob 4919
Benjamin... 4870
o.v.n. 4637
10  EXTERMINA.. 4373
Auto slette linier (Excel 2007)
Fra : m_johansson
Vist : 838 gange
72 point
Dato : 09-07-10 14:03

Hej

Jeg skal lave et standard ark.

Jeg importere data fra en txt fil, så den automatisk opdateres når jeg trykker "refresh all"

Herefter får jeg 250.000 linier.

Problemet er, at dem der skal bruge arket skal kunne vælge en kunde. Dette betyder at det måske kun er 500 af linierne der er vedrørende den kunde, men da jeg skal have den del funktioner og gerne vil holde størrelsen på arket nede, så vil jeg gerne slette de linier som jeg ikke skal bruge.

Jeg har lavet en kollonne ved siden af dataen hvor jeg får et # hvis linien vedrører den aktuelle kunde.

Jeg har prøvet at lave en makro der fjerner de linier som jeg ikke skal bruge. ("rekord makro" og så "filter" hvor jeg fjerner #. Markere alle linier der er tilbage og sletter dem. Derefter har jeg kun dem med # tilbage.

Det fungere bare ikke, så nogen der har en ide til hvordan jeg kan fjerne de linier jeg ikke skal bruge og det skal være en makro, så brugerene bare kan vælge den aktuelle kunde og trykke på en knap.

På forhånd tak

 
 
Kommentar
Fra : CiviC


Dato : 09-07-10 23:12

Hejsa

Du kan bruge denne makro til at fjerne de linier der ikke er markeret med #:

Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
For Tæl = 1 To 250000 ; Forhøjes, hvis du har mere end 250.000 linier
Linie = Range("A" & Tæl) ;Ændre A til den kollonne du har # stående i
If Linie <> "#" Then
Rows(Tæl).Delete
Linie = Linie - 1
End If
Next
End Sub

Mvh
CiViC

Kommentar
Fra : CiviC


Dato : 09-07-10 23:18

Mindre fejl. Den skal se således ud:

Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
For Tæl = 1 To 20000
Linie = Range("A" & Tæl)
If Linie <> "#" Then
Rows(Tæl).Delete
Tæl = Tæl - 1
End If
Next
End Sub

Kommentar
Fra : CiviC


Dato : 09-07-10 23:36

Og så prøver jeg lige én gang til :

Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
For Tæl = 1 To 250000 ' Forhøjes ved mere end 250.000 linier
Linie = Range("A" & Tæl) 'Ændre A til den kollonne du har # stående i
If Linie <> "#" Then
Rows(Tæl).Delete
Tæl = Tæl - 1
End If
Next
End Sub

Kommentar
Fra : emhauge


Dato : 12-07-10 07:21

Hej

jeg er lige med på en lytter her!! håber det er OK.........

et lille tillægsspørgsmål herfra, hvordan skal man indsætte macro i excel 2007 - jeg er helt nye inden for macro verdenen, men jeg kan da se mange muligheder i det. nogle gode råd til en der gerne vil igang med macro?

/emhauge

Kommentar
Fra : CiviC


Dato : 12-07-10 10:43

Hejsa

Først og fremmest, skal du ha' vist fanen "Udvikler". Det gøres ved at trykke på Office-ikonet øverst tilvenstre og derefter trykker du på "Excel indstillinger" nederst til højre. Her "vinger" du af i "Vis fanen udvikler" i 3. linie
Så kan du indsætte ActiveX-objekter som f.eks. knapper. Ved højreklik på f.eks en knap kan du se programkoden. Dette skal gøres i designtilstand som bliver aktiveret når du indsætter ting. Den kan deaktiveres igen ved at trykke på knappen.
Et godt sted at starte når du er nybegynder er her: http://www.ozgrid.com/forum/
Og så er der selvfølgelig altid Kandu.dk

Mvh
CiViC

Kommentar
Fra : m_johansson


Dato : 12-07-10 11:21

Har du mulighed for at lave den makro til en engelsk version af Excel? Beklager ulejligheden.



Kommentar
Fra : CiviC


Dato : 12-07-10 21:44

Saaledes


Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
For Tael = 1 To 250000 ' Forhoejes ved mere end 250.000 linier
Linie = Range("A" & Tael) 'Aendre A til den kollonne du har # staaende i
If Linie <> "#" Then
Rows(Tael).Delete
Tael = Tael - 1
End If
Next
End Sub

Du har følgende muligheder
Dette spørgsmål er blevet annulleret, det er derfor ikke muligt for at tilføje flere kommentarer.
Søg
Reklame
Statistik
Spørgsmål : 177428
Tips : 31962
Nyheder : 719565
Indlæg : 6407944
Brugere : 218877

Månedens bedste
Årets bedste
Sidste års bedste