Gå til innhold

ExcelGuru

Medlemmer
  • Innlegg

    196
  • Ble med

  • Besøkte siden sist

Innlegg skrevet av ExcelGuru

  1. Hei på deg.

    En mulighet er å lage en liten makro (liker det jeg vet du :) ) som kopierer Telefonnummer og Abonnement-type til en fane og fjerner duplikater av telefonnummer. Da kan du telle antall Abonnementstyper etterpå.

     

    I eksemplet er Telefonnummer i kolonne A i arket Data og Abonnementstype i kolonne B.

     

    Vennlig hilsen Ketil

     

    Sub KopierOgFjernDup()
     
        Dim DATA As Worksheet
        Dim ABOANT As Worksheet
        
        Set DATA = Sheets("Data")
        Set ABOANT = Sheets("Aboantall")
        
        ABOANT.Columns("A:B").Clear
        DATA.Columns("A:B").Copy Destination:=ABOANT.Range("A1")
        Application.CutCopyMode = False
        ABOANT.Range("$A$1:$B$17000").RemoveDuplicates Columns:=1, Header:=xlYes
     
    End Sub
     

     

    AboTeller.zip

  2. Hei på deg.

    Artig problemstilling.

     

    Se vedlegg: FINN.RAD-ExcelGuru.xlsx

     

    Siden det er flere forekomster, bruker jeg Sammenligne og Forskyvning i stedet for finn.rad. Med sammenligne finner du radnummeret for første forekomst, og så må du kjøre en ny sammenligning der du endrer søkeområdet fra A1 til Ax, der x er radnummeret under forrige forekomst av Gnr/Bnr.

     

    For å finner første rad for forekomsten:

    =HVISFEIL(SAMMENLIGNE(A2;'Ark2'!A:A;0);"")

    For å finne andre (søker gjennom 100000 rader):

    =HVISFEIL(SAMMENLIGNE($A2;FORSKYVNING('Ark2'!$A$1:$A$100000;Q2;0);0)+Q2;"")

    Jeg har satt inn en underscore i hjelpekolonnen din slik at Gnr 11, Bnr 9 blir 11_9. Dette for å unngå at du kan få samme Id for f.eks Gnr 11, Bnr 9 og Gnr 1,Bnr 19:

    =B2&"_"&C2

    I kolonne I bruker jeg tekst.kombiner for å slå sammen alle forekomstene med komma i mellom.

    =TEKST.KOMBINER(",";SANN;K2:O2)

    Vennlig hilsen 

    Ketil Melhus

    ExcelGuru.no

     

     

     

     

     

  3. Hei på deg.

    Hvis du bruker to variabler - en til å sjekke lengde og en til å søke, får du dekket begge behov.

    Len returnerer helt korrekt antall byte i en long og en double.

    Sånn omtrent:

     

    Sub lokasjon()
            Dim Streng As String
            Dim bytteLokasjon As Long, lokasjon As Long
     
            lokasjon = ActiveCell.Value
            Streng = Application.InputBox("Hvilken lokasjon vil du sjekke?", "Sjekk Lokasjon")
            If Streng <> "False" Then
             bytteLokasjon = Streng
            End If
             
            MsgBox Len(Streng) & " " & Len(Str(ActiveCell)) ' sjekker lengde
           
            If Streng="False" Then
                Exit Sub
            ElseIf bytteLokasjon = lokasjon Then
                Exit Sub
            ElseIf Len(Streng) <> 6 Then
                MsgBox "Et lokasjonsnummer må inneholde 6 siffer"
                Exit Sub
            End If
    End Sub
  4. Hei på deg.

    Det er ikke helt klart for meg hva du vil ha, men morsomt å lage makro til morgenkaffen.

     

    Se vedlegg

     

    Vennlig hilsen Ketil

     

    'Makro for stolper ut fra adresse og salgssum

    Sub Stolper()
        
        Dim rAdresser As Range
        Dim rSalg As Range
        Dim sAdr As String
        Dim Tom As Long
        Dim Faktor As Long
        Dim Kolonner As Long
        Dim StartKol As Long
        Dim Salg As Double
        Dim Rad As Long
        
        'Forutsetter salg i kolonne A og adresser i Kolonne C
        Set rSalg = Ark1.Range("A1:A1000")
        Set rAdresser = Ark1.Range("C1:C1000")
        
        'Rens opp i arket
        With Ark2.Cells
         .ClearFormats
         .ClearContents
        End With
        
        'Hvor mange kolonner søylen skal strekke seg over = Salg / Faktor
        Faktor = 1000
        
        'Looper gjennom radene og finner verdier
        x = 2: While Tom < 10
                       
             sAdr = rAdresser.Cells(x, 1)
                       
             If sAdr = "" Then
              Tom = Tom + 1
              Else
              Tom = 0
             End If
             
             If Tom = 0 Then
              
              Salg = rSalg.Cells(x, 1) / Faktor
              
              'Finner rad og kolonne ut fra adressen
              Rad = Ark2.Range(sAdr).Row
              StartKol = Ark2.Range(sAdr).Column
              
              'Hvor mange kolonner vi skal sette bakgrunnsfarge på
              Kolonner = Salg
              
              With Ark2.Range(Ark2.Cells(Rad, StartKol), Ark2.Cells(Rad, Kolonner + StartKol)).Interior
               .Pattern = xlSolid
               .PatternColorIndex = xlAutomatic
               .ThemeColor = xlThemeColorAccent6
               .TintAndShade = 0.799981688894314
               .PatternTintAndShade = 0
              End With
      
             End If
            
        x = x + 1: Wend
     
    End Sub
     

     

     

    Makro-Soyler-Ut-Fra-Salg-og-Cellereferanse.zip

  5. Hei på deg.

    Sett inn de to linjene markert i rødt under. De vil sile ut THUMB.DB

     

       'Send each file in an email
       For Each objFile In objWindowsFolder.Files
           If UCase(objFile.Name) <> "THUMB.DB" Then 
           'Create a new mail
           Set objMail = Outlook.Application.CreateItem(olMailItem)
           'Change the details as per your needs
           With objMail
                .Subject = Left(objFile.Name, Len(objFile.Name) - (Len(objFileSystem.GetExtensionName(objFile.Name)) + 1))
                .Attachments.Add objFile.Path
                .Recipients.Add ("epost")
                .Recipients.ResolveAll
                .Send
          End With
          End If 
       Next
     
     

    Vennlig hilsen

    ExcelGuru.no

    Ketil Melhus

  6. Du kan legge en liten snutt i regnearket som fikser opp formelen hvis du gjør en endring i A-kolonnen

     

    I rutinen under fores K-kolonnen med en finn.rad-formel på den linjen hvor det gjøres endring i A-kolonnen:

     

    Private Sub Worksheet_Change(ByVal Target As Range)
     Dim row As Long
     Dim col As Long
     
     col = Target.Column
     row = Target.row
     
     If col = 1 Then
      Cells(row, "K").Formula = "=VLOOKUP(A" & row & ",N1:O5,2,FALSE)"
     End If
     
    End Sub
  7. Morsom oppgave:)

    Hvis du kjører makroen Flytt, flyttes alle linjene til respektive regneark. Hvis TIL-arket ikke finnes, blir det opprettet.

    Du må ha med deg alle tre makroene:

     

    Sub Flytt()
     Dim x As Long
     Dim Linje As Long
     Dim FaneNavn As String
     
     Dim FRA As Worksheet
     Dim TIL As Worksheet
     
     Set FRA = Sheets("Nåsituasjon")
     
     With FRA
      x = 2: While .Cells(x, 2) <> ""
       FaneNavn = .Cells(x, 2)
       
      
       'Sørg for at fanen finnes
       If FinnesFane(FaneNavn) = False Then
        Sheets.Add(After:=Sheets(Sheets.Count)).Name = FaneNavn
       End If
        
       'Nå vet vil at TIL-fanen finnes
        Set TIL = Sheets(FaneNavn)
        
       'Finn neste ledige linje i fanen som linjen skal til
       
       Linje = Ledig(TIL)
       
       With TIL
        y = 2: While y <= 4
         .Cells(Linje, y - 1) = FRA.Cells(x, y)
        y = y + 1: Wend
       End With
       
       x = x + 1: Wend
     End With
     
    End Sub
     
    Function Ledig(SH As Worksheet) As Long
     Dim x As Long
     With SH
      x = 2: While .Cells(x, 1) <> ""
      x = x + 1: Wend
      Ledig = x
      
     End With
    End Function
     
    Function FinnesFane(FaneNavn As String) As Boolean
     
     On Error GoTo feil
     
     With Sheets(FaneNavn)
      FinnesFane = True
      Exit Function
     End With
     
    feil:
     FinnesFane = False
     
    End Function
  8. Jeg tror ikke du kan basere deg på å redigere PDF'ene i word/excel. - En PDF-editor som f.eks fullversjon av Acrobat redigerer vanligvis tekst uten store problemer.

     

    Jeg tror nok for at dette skal være lovlig så må du kryptere fakturaene på et vis så de ikke kan endres, og at pdf-filen bare er en kopi for levering.

     

    Hei, og takk for engasjementet. Hvis du leser litt lenger opp (9. april), vil du se at det er akkurat det jeg gjør:)

  9. Det er ikke noe problem å redigere en PDF-fil, men det er vanskelig å redigere en PDF-fil uten å legge igjen spor.

     

    Takk for innspillet, RRhoads. Har sittet og lekt litt med det i kveld, og ser at innholdet og størrelsen endrer seg når jeg redigerer PDF fra Excel i Word. F.eks blir teksten "M i c r o s o f t  E x c e l" erstattet av "M i c r o s o f t  W o r d". 

  10. Hei igjen.

    I følge bokføringsforskriften skal det ikke være enkelt å endre på salgsdokumentet. Og så tenker jeg at det for mange er enkelt å stille dato og tid tilbake på PC'en og redigere PDF'en i Word eller lignende. Jeg har gjort en endring slik at Exceldokumentet er låst etter at PDF'en er produsert. Å endre denne i ettertid vil jeg ikke vurdere som "enkelt", som det fremgår av § 5-2-9 i forskriften. 

     

    Takk for kritisk tilbakemelding som inspirerte meg til å lese bokføringsforskriften igjen:)

     

    Vennlig hilsen Ketil

  11.  

     

    Hvordan er disse fakturaene sikret slik at det ikke er mulig å endre de i ettertid ref bokføringsforskriftene?

     

    De lagres på PDF-format.

     

    Vennlig hilsen Ketil

     

    Men hvordan er .pdf'ene sikret mot endringer? Det er jo ikke noe problem å redigere en .pdf-fil?

     

     

    Spørsmålet ditt kan stilles til svært mange. Regnskapet mitt er fullt av PDF-fakturaer fra f.eks Telenor og Microsoft - som kan redigeres i Word...

  12.  

    Hei!

    Hvis enkeltmannsforetaket er veldig lite - og det sier du jo, så kan du sjekke denne:

    http://www.excelguru.no/lage-faktura-i-excel-og-sende-som-pdf-fra-outlook/

     

    Vennlig hilsen Ketil

     

    Nå har jeg nevnt det før men...

     

     

    Nå vet jeg ikke hvor mye disse har bygget rundt Excel, men å lagre fakturaer i ett format som kan endres i ettertid (som excel) er ikke tillatt.

     

     

    Hvordan er disse fakturaene sikret slik at det ikke er mulig å endre de i ettertid ref bokføringsforskriftene?

     

     

    De lagres på PDF-format.

     

    Vennlig hilsen Ketil

  13. Hei!

    Ja, du kan legge en betinget formatering på alle kolonnene.

    Hvis du markerer de aktuelle kolonnene og bruker 

    "Bruk en formel for å bestemme..."

     

    Vil formelen

    =$B1="Fly"

     

    Gjøre at alle linjer som inneholder ordet Fly i B-kolonnen får den bakgrunnsfargen du velger.

     

    Vennlig hilsen Ketil

×
×
  • Opprett ny...