Avatar billede lindethomas Nybegynder
02. april 2012 - 13:24 Der er 6 kommentarer og
1 løsning

returnere værdier fra flere excelark

Jeg har et excel dokument med 52 ark, hvori jeg taster leveringer for en uge.

eksempel på en linie:

Varenummer:Antal:enhed:Varenavn:pris:Fakturapris:faktura:ordrenr:leverandør:Øko/ikkeøko:

Jeg skal så lave et ark hvor jeg taster et varenummer og derved får listet indkøbende over året delt i uger

Eksempel:

Indtastvarenummer: XX

Uge1=antal:pris
uge2=antal:pris
osv.

Sender meget gerne mere info om nødvendigt..
På forhånd tak...

Thomas
Avatar billede supertekst Ekspert
02. april 2012 - 13:30 #1
Hvordan skal indtastningsarket organiseres - når andet varenr. indtastes - d.v.s. skal der kunne lagres flere varenr herpå?
Avatar billede lindethomas Nybegynder
02. april 2012 - 15:43 #2
Det er en anden funktion og andre point :)

Opgaven her handler om, at kunne trække informationerne fra dokumentet med 52 ark.

Beskrivelse nok??
Avatar billede supertekst Ekspert
02. april 2012 - 16:05 #3
javel...

har tænkt på at opgaven kan løses med lidt VBA - ok?
Beskrivelse er tilstrækkelig.
Avatar billede supertekst Ekspert
02. april 2012 - 23:02 #4
VBA-kode anbringes under særligt ark - kaldet system i model. De øvrige ark er benævnt 1, 2, 3 o.s.v. Hvis du vil se min mkodel - så send en mail - @-adresse under min profil.

Const systemArknavn = "System"
Dim systemArk As Worksheet
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo fejl
    If Target.Address = "$D$1" And Target <> "" And IsNumeric(Target) = True Then
        udførSøgning Target
    End If
   
    Exit Sub
   
fejl:
End Sub
Private Sub udførSøgning(vareNr)
Dim arkNr As Integer, antalRæk As Integer, ræk As Integer
Dim antal, pris
    Application.ScreenUpdating = False
   
    Set systemArk = ActiveWorkbook.Sheets(systemArknavn)
    For arkNr = 1 To ActiveWorkbook.Sheets.Count
        With ActiveWorkbook
            If .Sheets(arkNr).Name <> systemArknavn Then
                .Sheets(arkNr).Select
                antalRæk = ActiveCell.SpecialCells(xlLastCell).Row
                For ræk = 1 To antalRæk
                    If .Sheets(arkNr).Range("A" & ræk) = vareNr Then
                        antal = ActiveSheet.Range("B" & ræk)
                        pris = ActiveSheet.Range("E" & ræk)
                        systemArk.Range("A" & ActiveSheet.Name) = antal
                        systemArk.Range("B" & ActiveSheet.Name) = pris
                    End If
                Next ræk
            End If
        End With
    Next arkNr
   
    systemArk.Select
End Sub
Avatar billede lindethomas Nybegynder
03. april 2012 - 10:03 #5
Jeg har ingen anelse om hvordan jeg bruger VBA? i Excel???
Avatar billede supertekst Ekspert
03. april 2012 - 10:19 #6
Du er velkommen til at sende filen. @-adresse under min profil - eller du kan sende en mail, så sender jeg min model.
Avatar billede supertekst Ekspert
09. april 2012 - 15:28 #7
Const systemNavn = "Sammentælling"
Const systemArknavn = "Sammentælling Uge"
Dim systemArk As Worksheet, resultatRæk, antalFundne As Long, flag As Boolean, arkNr As Integer
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo fejl
    If flag = False Then
        If InStr(Target.Address, ":") > 0 Then Exit Sub
   
        If Target.Row > 7 And Target <> "" Then
            If Target.Column = 1 Then
Rem Søg på VARENR
                resultatRæk = Target.Row
                udførSøgning Target, 1
            Else
                If Target.Column = 2 Then
Rem Søg på VARETEKST
                    resultatRæk = Target.Row
                    udførSøgning Target, 2
                End If
            End If
        End If
    End If
    Exit Sub
   
fejl:
    Stop
    x = antalFundne                                'test
    y = arkNr                                      '-"-
    Resume Next                                    '-"-
End Sub
Private Sub udførSøgning(søgEfter, søgeType As Byte)
Dim søgeKolonne As String
Dim antalRæk As Integer, ræk As Integer, ugeNr As Integer, arkNavn As String, lokalSøgEfter As String, arkListe As String
Dim antal, pris
On Error GoTo fejl

    Application.ScreenUpdating = False
   
    If søgeType = 1 Then
        søgeKolonne = "A"
    Else
        søgeKolonne = "D"
    End If
   
    flag = False
    antalFundne = 0
    arkListe = ""
   
    Set systemArk = ActiveWorkbook.Sheets(systemArknavn)
    For arkNr = 1 To ActiveWorkbook.Sheets.Count
        With ActiveWorkbook
            arkNavn = .Sheets(arkNr).Name
            If InStr(arkNavn, systemNavn) = 0 Then
                .Sheets(arkNr).Select
               
                ugeNr = Mid(ActiveSheet.Name, 5)
               
                antalRæk = ActiveCell.SpecialCells(xlLastCell).Row
                For ræk = 11 To antalRæk
                    lokalSøgEfter = .ActiveSheet.Range(søgeKolonne & ræk)
                   
                    If LCase(Trim(lokalSøgEfter)) = CStr(LCase(søgEfter)) Then
                        antalFundne = antalFundne + 1
                        flag = True
                       
                        antal = ActiveSheet.Range("B" & ræk)
                        pris = ActiveSheet.Range("G" & ræk)
                        systemArk.Cells(resultatRæk, ugeNr * 2 + 1) = systemArk.Cells(resultatRæk, ugeNr * 2 + 1) + antal
                        systemArk.Cells(resultatRæk, ugeNr * 2 + 2) = pris
                       
                        arkListe = arkListe + CStr(ugeNr) + " "
                        flag = False
                    Else
                        If .ActiveSheet.Range("A" & ræk) = "" Then
                            Exit For
                        End If
                    End If
                Next ræk
            End If
        End With
    Next arkNr
   
'    MsgBox arkListe                                'test
   
    MsgBox "Antal fundne: " & CStr(antalFundne)
   
    systemArk.Select
    ActiveSheet.Columns.AutoFit
    Exit Sub
   
fejl:
    Stop
    Resume Next
End Sub
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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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