Gå til innhold

Harald Staff

Medlemmer
  • Innlegg

    2 420
  • Ble med

  • Besøkte siden sist

Hjelpsomme svar

  1. Harald Staff's innlegg in [Løst] Excel svarer ikke ble markert som svaret   
    Hei igjen
     
    Litt mer fikling var det jo, som alltid :-)  Demo ned t.o.m. rad 20:
     
    HJELPEMIDDLER2.xlsx
     
    Beste hilsen Harald
  2. Harald Staff's innlegg in Excel - Summer hvis sett celle inneholder dato ble markert som svaret   
    Hei
     
    Skjønner jeg deg rett så er det enklere enn som så. Formel i D2:
     
    =HVIS(C2="";"";B2*0,7)
     
    Beste hilsen Harald
  3. Harald Staff's innlegg in To datasett(pivot) - Ett diagram (Excel) ble markert som svaret   
    Svaret blir litt generelt, men jeg tror du skal bruke PowerPivot. I Excel 2016 eller 365 må du slå på denne under Fil > Alternativer, så får du en ny fane øverst i Excel.
     
    PowerPivot lar deg koble X forskjellige datakilder. Det blir litt for omfattende å forklare hvordan i et slikt forum, men det ligger veldig mye info på nett.
     
    Beste hilsen Harald
  4. Harald Staff's innlegg in [Løst] Sette inn fanenavn i regneark ble markert som svaret   
    Hei
     
    Løsningene over døper om arket til det som står i en celle. Hvis du skal den andre veien, dvs få en celle til å vise det som står på arkfanen, så bruk formelen
     
    =DELTEKST(CELLE("filename";A1);FINN("]";CELLE("filename";A1))+1;200)
     
    for engelsksnakkende Excel blir det
     
    =MID(CELL("filename";A1);FIND("]";CELL("filename";A1))+1;200)
     
    Last ned formelsamlingen min, sticky øverst i forumet. Der finner du denne og en del annet.
     
    Beste hilsen Harald
  5. Harald Staff's innlegg in Datostempling bak hver celle ble markert som svaret   
    Så bra.
    Det løser vi med en enkel If:
    Private Sub Worksheet_Change(ByVal Target As Range) If Target(1).Column Mod 2 = 0 Then 'Annenhver kolonne If Trim(Target(1).Value) = "" Then 'tom eller space Target(1).Offset(0, 1).Value = "" 'blank Else Target(1).Offset(0, 1).Value = Date 'Dato End If End If End Sub Litt teori: Target er det som endres. Oftest er det en celle. Men ved innliming kan det være et helt celleområde, og et celleområde har ikke en Value, og så havarerer hele greia. Derfor jobber vi med Target(1) som er den første cella i området -og som oftest den eneste. En annen løsning kan være å loope hver celle i Target.
     
    Beste hilsen Harald
  6. Harald Staff's innlegg in [Løst] Makro i excel ble markert som svaret   
    Hei igjen Geir
     
    Linjen du har "rettet" fant første ledige rad under det siste som står i A-kolonnen i arket Mottatte deler. Rettelsen din lager ikke bare hulter til bulter, du risikerer å overskrive eksisterende linjer. Rett tilbake.
     
    Problemet er antakelig at du har noe skrot langt nede utenfor syne i kolonne A i det arket. Det kan være noe så uskyldig en celle som inneholder bare et usynlig mellomrom. Radene du ikke fant står nok under det. Du finner slutten av et ark med Ctrl End, og du leter opp og ned kolonner med End og så pil opp eller pil ned. Slett radene med skrot så virker koden.
     
    Beste hilsen Harald
  7. Harald Staff's innlegg in [Løst] Autogenerert liste ble markert som svaret   
    Hei
     
    Dette går greitt med en makro.
    Men vær forsiktig med å eksemplifisere. Her tar jeg for gitt at arkene heter helt nøyaktig det du skriver, ellers må du inn og rette.
    Jeg har også forutsatt at du skriver romnummer inn i kolonne B (Target(1).Column = 2), og bare der, i alle ark, og at vi skriver dem inn i kolonne B i Romliste (Trg.Cells(RW, 2) ). Dette er viktig, du må gjøre likt i alle ark og du kan ikke sette inn ny kolonne til venstre i noen av arkene.
     
    What to do: Åpne VB-editoren (Alt F11 eller liknende).
    I vinduet oppe venstre, dobbelklikk  "ThisWorkbook".
    I den hvite modulen som åpner seg, lim inn følgende:
    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) Dim Trg As Worksheet Dim RW As Long, CW As Long On Error Resume Next Set Trg = ThisWorkbook.Sheets("Romliste") If Trg Is Nothing Then Exit Sub If Sh.Name = Trg.Name Then Exit Sub If Sh.Name = "Forside" Then Exit Sub If Sh.Name = "Oppsummering avtrekk" Then Exit Sub If Target(1).Column = 2 Then ' = B-kolonnen er endret! RW = Trg.Columns(2).Find(What:=Target(1).Value).Row If RW = 0 Then RW = Trg.Cells(Trg.Rows.Count, 2).End(xlUp).Row + 1 Trg.Cells(RW, 2).Value = Target(1).Value End If CW = Trg.Cells(RW, Trg.Columns.Count).End(xlToLeft).Column + 1 Trg.Cells(RW, CW).Value = Sh.Name End If End Sub Så kan du returnere til Excel og så skal det virke. Hvis ikke må du kanskje aktivere makroer hvis Excel sier de er deaktivert, eller du må endre kolonnenummer i koden hvis arket ditt ser annerledes ut.
     
    HTH. Beste hilsen Harald
  8. Harald Staff's innlegg in [Løst] Excelguru? HVIS formel hjelp? ble markert som svaret   
    Absolutt mulig:
     
    =HVIS(D13="";"< Fyll inn D13!";C9+F9+D13)
     
    Beste hilsen Harald
  9. Harald Staff's innlegg in [Løst] Fortløpende sortering i Excel ble markert som svaret   
    Hei
     
    Du finner en løsning for dette i formelsamlingen min, øverst på forumet.
     
    Beste hilsen Harald
  10. Harald Staff's innlegg in Excel 2013 - sortering virker bare frem til en viss rad ble markert som svaret   
    Sortering og filtrering tar for seg sammenhengende dataområder. Din rad 982 er helt tom og da tenker Excel at det nedenfor ikke har noe med det ovenfor å gjøre. Så fjern alle tomme rader.
     
    Beste hilsen Harald
  11. Harald Staff's innlegg in [Løst] Finne feilstavelser i en kollonne ble markert som svaret   
    Du kan sjekke om en celleverdi finnes i en liste (som her befinner seg i Ark2 A1:A20) med formelen
     
    =SAMMENLIGNE(A1;'Ark2'!A1:A20;0)
     
    så får du feil der det ikke er treff. Ellers er "en dropdownboks" minst tre forskjellige ting i Excel. Hvis det lages via datavalidering så skal det ikke være mulig å legge inn feiltastinger, men den teknikken er overfølsom for copy-paste, fraværet av datavalidering følger med i operasjonen.
     
    Og så er det alltid en felle når man jobber med tekst at ANNE  ikke er det samme som ANNE. Forskjellen er at hun første har et mellomrom etter siste bokstav. Den makroen jeg bruker aller oftest fjerner sånt, og ser omtrent slik ut
    Sub RemoveLeadingTrailingSpaces() Dim Cel As Range For Each Cel In Intersect(Selection, ActiveSheet.UsedRange) If Trim(Cel.FormulaR1C1) <> Cel.FormulaR1C1 Then Cel.FormulaR1C1 = Trim(Cel.FormulaR1C1) Next End Sub
  12. Harald Staff's innlegg in [Løst] VBA passord ble markert som svaret   
    Jon Peltier har noe innsikt i dette. Se http://peltiertech.com/vb-password-prompt-closing-excel/
  13. Harald Staff's innlegg in [Løst] "Autofill" for arknavn ble markert som svaret   
    Kjør denne makroen når 362 201 er første ark (arkfanen lengst til venstre):
    Sub LageArk() Dim L As Long Sheets(1).Name = "362 201" For L = 362202 To 362249 Sheets(1).Copy After:=Sheets(Worksheets.Count) ActiveSheet.Name = Format(L, "### ##0") Next End Sub HTH. Beste hilsen Harald
  14. Harald Staff's innlegg in [Løst] Excel: Automatisk legge til tekst i liste. ble markert som svaret   
    Da sier vi at arket med skrivefeltet heter Skrive og at arket med liste heter Liste. Få knappen til å kjøre denne makroen:
    Sub Overfor() Dim RL As Long RL = Sheets("Lista").Cells(50000, 1).End(xlUp).Row + 1 Sheets("Lista").Cells(RL, 1).Value = Sheets("Skrive").Cells(2, 1).Value Sheets("Lista").Cells(RL, 2).Value = Sheets("Skrive").Cells(2, 2).Value Sheets("Skrive").Cells(2, 1).Value = "" Sheets("Skrive").Cells(2, 2).Value = "" End Sub Beste hilsen Harald
  15. Harald Staff's innlegg in Loddtrekning i Excel 2010 ble markert som svaret   
    Da trenger vi en hjelpecelle, siden det tilfeldige tallet skal brukes to ganger uten å forandre seg i mellomtiden. Du skjuler hjelpecella når det virker, eller plasserer den et sikkert sted. Vedlagt:
     
    Lotteri2.xlsx
     
    Fargelegging, veldig mye styr for lite, men har du moro av det (og det er litt moro) så finner du det i Betinget Formatering, der en formel styrer formateringen.
     
    Beste hilsen Harald
  16. Harald Staff's innlegg in Trenger hjelp med Pie Diagram i Excel 2010 ble markert som svaret   
    Hei
     
    Hvis jeg forstår deg rett skal du bruke denne tabellen som datagrunnlag, der serverlasten i eksemplet står i B1:B3:
     
    Server1 1100GB
    Server2 44GB
    Server3 44GB
    Free =1460-B1-B2-B3
     
    Edit: Er det 1460 pr server så blir det
     
    Server1 1100GB
    Server2 44GB
    Server3 44GB
    Free1 =1460-B1
    Free2 =1460-B2
    Free3 =1460-B3
     
    eventuelt server og free flettet i annen rekkefølge
     
     
    HTH. Beste hilsen Harald
  17. Harald Staff's innlegg in Ønsker hjelp til formel ble markert som svaret   
    Søkeverdien er cella du tenker å skrive MAT eller AVDRAG, i eksemplet ditt B2.
    Matrise er adressen til den nye tabellen din, f.eks Ark2!A1:B9
    Kolonneindeks er 2
    Søkeområde er USANN (eksakt match)
  18. Harald Staff's innlegg in Excel: Sammenligne store lister ble markert som svaret   
    Vi kan ikke gi op så lett.
     
    Forarbeid: I VB-editoren, Insert > Class module. Gi den navn cTing og følgende innhold:
    Public Tekst As String Så, i en standard modul:
    Sub Test2() Dim Rng1 As Range, Rng2 As Range, RngX As Range Dim Cel As Range, Hit As Range Dim List1 As Worksheet, List2 As Worksheet Dim C As Long Dim Coll As New Collection Dim Ting As cTing Dim Miss As Long On Error Resume Next Set Rng1 = Application.InputBox("Klikk en celle i id-kolonnen i den lange lista:", Type:=8) If Rng1 Is Nothing Then Exit Sub Set Rng2 = Application.InputBox("Klikk en celle i id-kolonnen i den korte lista:", Type:=8) If Rng2 Is Nothing Then Exit Sub Set List1 = Rng1.Parent Set Rng1 = Intersect(List1.Columns(Rng1(1).Column), List1.UsedRange) Set List2 = Rng2.Parent Set Rng2 = Intersect(List2.Columns(Rng2(1).Column), List2.UsedRange) Set RngX = Application.InputBox("Klikk en celle i kolonnen i den lange lista hvod vi skriver mangler:", Type:=8) If RngX Is Nothing Then Exit Sub C = RngX(1).Column For Each Cel In Rng2 Set Ting = New cTing Ting.Tekst = Cel.Value On Error Resume Next Coll.Add Ting, Ting.Tekst On Error GoTo 0 Set Ting = Nothing Next 'MsgBox Coll.Count For Each Cel In Rng1 If Cel.Row Mod 1000 = 0 Then Application.StatusBar = Cel.Row DoEvents End If On Error Resume Next Set Ting = Coll(Cel.Value) On Error GoTo 0 If Ting Is Nothing Then List1.Cells(Cel.Row, C).Value = "Mangler" Miss = Miss + 1 Else ' List1.Cells(Cel.Row, C).Value = Ting.Tekst End If Set Ting = Nothing Next MsgBox Miss & " mangler av " & Rng1.Count Set Coll = Nothing DoEvents Application.StatusBar = False End Sub Her kjører den på 16 sekunder, men min Excel 2007 trenger en pust i bakken i etterkant, henger litt.
     
    Beste hilsen Harald
  19. Harald Staff's innlegg in Excel, fra tabellstruktur til trappetrinnstruktur ble markert som svaret   
    En pivottabell gjør dette for deg. Sett nivåene i ønsket rekkefølge som radetiketter.
     
    HTH. Beste hilsen Harald
  20. Harald Staff's innlegg in [Løst] Datevalue-utfordring i excel 2010, engelsk ble markert som svaret   
    Dette var forferdelig rart. Men datoformaterer varierer enormt fra land til land, så å lage en fungerende funksjon Datevalue for hele verden er det ikke rart man mislykkes med.
     
    Vi går rundt problemet med et MATCH-oppslag og finner månedsnummer.
     
    Bildet ditt er ikke helt forklarende. Jeg har tatt utgangspunkt i at det er et mellomrom etter hvert komma, slik
     
    Sun, Jun 9, 2013 20:49
    Sun, May 29, 2013 20:49
     
    Dette har jeg satt i celle A1, erstatt A1 med riktig adresse i formelen:
     
    =DATE(TRIM(MID(A1;13;5));MATCH(MID(A1;6;3);{"Jan";"Feb";"Mar";"Apr";"May";"Jun";"Jul";"Aug";"Sep";"Oct";"Nov";"Dec"};0);VALUE(MID(A1;9;3)))
     
    (Hvis jeg gjettet feil mht mellomrom så endre dette i MID-leddene.)
     
    HTH. Beste hilsen Harald
  21. Harald Staff's innlegg in [Løst] Excel: 11 stk HVIS() ble markert som svaret   
    =HVISFEIL(FINN.RAD(B5;'Priser og årstall'!$B$2:$C$14;2;USANN)+'Priser og årstall'!$B$14;"ZZZ")
     
    HTH. Beste hilsen Harald
×
×
  • Opprett ny...