Avatar billede allan_woods Nybegynder
08. juli 2015 - 23:03 Der er 10 kommentarer

Udtræk af indtastet data, reduceret fra 600 linjer til 10-20-30 linjer.

Jeg troede jeg vidste noget om Excel, men kan se på de mange gdoe svar, at "jeg stort set intet ved" :)

Her er noget som jeg i hvert fald har kæmpet med i mange dage og ikke kan finde ud af at løse.

Mit udgangs punkt er et udtræk af en varedatabase, som jeg skal have krympet ind til en slags "pakkeseddel".

Vi taster dagligt ind på nogle ordresedler i Excel (2003 og 2007), som vi er glade for og de er tilpasset til os. Men, vi skal jævnlig udskrive dem for at gennemgå dem med personale og kunder, og her er så det usmarte... Vi får hver gang 8 tætskrevne sider med ca. 600 linjer, hvor af der oftest kun er indtastet data i eks. 10-20-30 af linjerne. Dvs. langt det meste på print, er overflødig og forvirrende.

Vi kunne godt tænke os, at vi på en fane i Excel i stedet, kunne læse kun netop de linjer der var skrevet data i, altså typisk 10-20-30 linjer (absolut max. vil være 40 linjer). De indtastede data, skal vis muligt, helst komme i den rækkefølge de står i (set i forhold til linjenumrene 1 til 600).

Fane 1:
600 præudfyldte linjer, hvor vi i en tom kolonne (Kolonne B) skriver et specifik optalt tal.  I de andre kolonner (B til K) er der præudfyldt tekst og værdier, som har relation til det tal vi indtaster i kolonne B.

Fane 2:
Her kunne jeg godt bruge, at der læses på "Fane 1" og udelukkende returneres de linjer, hvor der er indtastet værdier, dvs. typisk de første 10-20-30 linjer.

Det vil så give en udskrift der kun har de tal og relationer med, som vi har brug for at gennemgå.

Hvad siger Eksperterne?
Kan det løses?
Avatar billede supertekst Ekspert
08. juli 2015 - 23:07 #1
Kunne du uploade et eksempel / sende en kopi - @-adresse under min profil.
Avatar billede allan_woods Nybegynder
08. juli 2015 - 23:45 #2
Det var hurtig respons Supertekst :)
Har lige sendt dig en mail med et eksempel i xls.
Avatar billede xl-Enthusiast Ekspert
09. juli 2015 - 07:32 #3
Hvis du uploadede til:

http://gratisupload.dk/

så var der mulighed for, at andre eventuelt også, kunne lære noget (og måske kunne du selv få flere forskellige forslag).
Avatar billede supertekst Ekspert
09. juli 2015 - 10:17 #4
Const ræk1 = 6
Dim antalRækker As Integer, ræk As Integer
Dim antalBestilt As Integer, fraræk As Integer
Public Sub reduktion()
Rem Kopier fane1
    Sheets("Fane 1").Select
    Sheets("Fane 1").Copy Before:=Sheets(2)

Rem Beregn antal rækker
    Sheets("Fane 1 (2)").Activate
    antalRækker = ActiveCell.SpecialCells(xlLastCell).Row
   
Rem Traverser rækker fra sidste-1 -> førstre række (sidste række skal altid med)
    fraræk = antalRækker - 1
    For ræk = fraræk - 1 To ræk1 Step -1
        If IsNumeric(Range("A" & ræk)) = True And Range("A" & ræk) <> "" Then
            antalBestilt = antalbestil + 1
        Else
Rem Er kolonne B med "Fed" - Overskrift/Gruppe
            If Range("B" & ræk).Font.Bold = True Then
                If antalBestilt = 0 Then
                    Rows(ræk & ":" & ræk).Delete
                End If
            Else
Rem Slet række uden antal
                Rows(ræk & ":" & ræk).Delete
            End If
        End If
    Next ræk
End Sub
Avatar billede supertekst Ekspert
13. juli 2015 - 16:21 #5
Kan det bruger?
Avatar billede allan_woods Nybegynder
13. juli 2015 - 21:42 #6
Hej  xl-Enthusiast

Tak for dit hint.
Jeg har nu uploadet til Gratisupload, men det er nyt for mig hvad jeg skal gøre. Tror linket til filen er : http://gupl.dk/f/8si3jnauh9
Avatar billede allan_woods Nybegynder
13. juli 2015 - 22:01 #7
Hej supertekst

Tak for dit forslag og din hurtige indspark :)
Da jeg oprettede spørgsmålet, tror jeg at jeg var lidt fedtet med pointgivningen. Beklager! (Kan jeg ændre det sidenhen?)
---
Jeg ved intet om VBA, men så kan jeg nu øve mig i det spæde.

I den simplificerede fil du fik, virker det nemt og overskueligt.

Jeg har kopieret mine faner over i dit eksempel, tilrettet linjestart og kan nu se at der er noget som driller lidt.

#1. Ved klik på din knap, kommer først en dialogboks:
"Den formel eller det ark, du vil flytte eller kopiere, indeholder navnet 'Udskriftsområde', der allerede findes på destinationsarket. Vil du bruge dette navn?"
Jeg tror det er fordi at jeg i min fane, har defineret hvilke dele af udskriften, som skal til printren når vi udskriver hele sedlen (og det har jeg forsat brug for).
Det bevirker også at den færdige udskrift, er på 2-4 sider, men nu med meget får linjer.

#2. Ved afslutning af knap-kørselen kommer der en dialogboks:
"Run-time error '1004': Metoden Activate for klassen Range mislykkedes" Mulig knapper herefter er <End> <Debug> og Help.
Jeg ved ikke hvad det betyder :)

#3. I mine rigtige vaner, er der mange kolonner (Fra A til AD). Når de er sorteret, har jeg kun behov for enkelte af kolonnerne, eks fra kolonne A til C. Det kan jeg ikke finde frem til hvordan jeg kan tilpasse.  Sagt med andre ord, så må reduktionen, godt slette nogle kolonner, eks. fra kolonne D til AD.
Avatar billede allan_woods Nybegynder
13. juli 2015 - 22:06 #8
red.
#3. I mine rigtige vaner,
Der skulle stå: 
#3. I mine rigtige faner,
Avatar billede supertekst Ekspert
13. juli 2015 - 22:51 #9
Hej Allan

Vil se på det senere.

PS: Anvend "Kommentar", når svarer. "Svar" er kun til opgaveløser, der hermed mener at have et svar på din udfordring.
Et Svar, som du kan godkende - kan du så evt. "Acceptere" for at give point - eller du kan "Afvise" det.
Avatar billede supertekst Ekspert
14. juli 2015 - 23:11 #10
#1: Evt. løsning kræver det originale grundlag.

#2: <End> afslutter processen <Debug> Åbner VBA-vinduet og viser nøjagtigt, hvor fejlen er opstået. Anvendelse af Debug er altså til stor hjælp for udvikleren. F.eks. tag et skærmbillede og send dette.

#3: Er noteret - tages med i næste version.
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