Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Vilket criterea i autofilter

Postades av 2005-09-19 13:55:09 - mattias moberg, i forum microsoft office, Tråden har 17 Kommentarer och lästs av 1028 personer

Hej alla.

Jag vill via macro/VBA läsa av vilket val en användare gjort på ett autofilter.
Vi använder 1,2 eller 3 och jag vill byta text i en cell beroende på vilket val som gjorts.
Har sökt info om detta men inte hittat någonstans.

Mvh
Mattias


Svara

Sv: Vilket criterea i autofilter

Postades av 2005-09-22 11:52:06 - Åsa Holmgren

Den här funktionen returnerar det val som användaren har gjort för aktivt kalkylblads autofilter, kolumn nr vlColumn:

<code>
Function GetAutoFilterCriteria(ByVal vlColumn As Long) As String
Dim wsh As Worksheet
Dim flt As Filter

On Error GoTo GetAutoFilterCriteria_Err

Set wsh = ActiveSheet
If wsh.AutoFilterMode = True Then
Set flt = wsh.AutoFilter.Filters(vlColumn)
If flt.On = True Then
Select Case flt.Operator
Case xlAnd
GetAutoFilterCriteria = flt.Criteria1 & " OCH " & flt.Criteria2
Case xlOr
GetAutoFilterCriteria = flt.Criteria1 & " ELLER " & flt.Criteria2
Case Else
GetAutoFilterCriteria = flt.Criteria1
End Select
End If
End If

Set flt = Nothing
Set wsh = Nothing

GetAutoFilterCriteria_Err:
End Function
</code>

Om aktivt blad inte är ett kalkylblad eller om vlColumn är högre än antal kolumner så returneras en tom sträng. Det samma gäller om autofilter inte är påslaget eller om användaren har valt att visa alla.


Svara

Sv:Vilket criterea i autofilter

Postades av 2005-09-23 08:42:38 - mattias moberg

Jag tror att detta kommer att fungera perfekt.
Frågan nu är bara hur jag kallar upp detta.
Var ska jag lägga koden och hur får jag upp resultatet.
Provade med
<codevb>msgbox getAutoFilterCriteria</code>

i selection change med får bara felmeddelande.

//Mattias


Svara

Sv: Vilket criterea i autofilter

Postades av 2005-09-27 09:53:01 - Åsa Holmgren

Hej,

om du lägger in någon formel som påverkas när du ändrar autofiltret så kan du använda händelsen Worksheet_Calculate.

Här är ett exempel där en messagebox visar vilket filter som används i B-kolumnen:

<code>
Private Sub Worksheet_Calculate()
Dim sFilter As String

sFilter = GetAutoFilterCriteria(2)
If sFilter <> "" Then MsgBox sFilter Else MsgBox "Inget filter"
End Sub
</code>


Svara

Sv:Vilket criterea i autofilter

Postades av 2005-09-27 15:29:41 - mattias moberg

Worksheet_Calculate fungerade inte.
Jag provade att påverka autofiltret och inget händer.
Skriver jag däremot "=1+1" i en cell så anropas koden.
Finns det någon annan bra "worksheet_" att använda, typ någon redraw eller dyligt.

//Mattias

Edit: Worksheet_change fungerade inte heller.


Svara

Sv: Vilket criterea i autofilter

Postades av 2005-10-10 11:44:15 - mattias moberg

Lyfter lite får vi se.

//Mattias


Svara

Sv:Vilket criterea i autofilter

Postades av 2005-10-19 11:50:08 - mattias moberg

Då hoppar vi lite igen då .......

//Mattias


Svara

Sv: Vilket criterea i autofilter

Postades av 2005-10-19 18:36:12 - Thommy Lantz

Har du gjort som Åsa föreslog??

Jag testade att lägga in formeln
DELSUMMA(109;A:A) i en cell och det
funkar.

Det finns kanske andra som fungerar lika bra


Svara

Sv: Vilket criterea i autofilter

Postades av 2005-10-20 16:19:22 - Fredrik Molnar

Hej!

Nu vet jag inte hur din kod ser ut, men testa detta:

<code>
public function MyAutoFilterCriteria()
application.volatile = true
'här kallar du på koden som kollar efter vilka autofilterkriteria som används
end function
</code>

I en cell någonstans på bladet skriver du:
=MyAutoFilterCriteria()


Detta "borde" köra din kod varje gång något på bladet ändras (vet inte om det fungerar med autofilter-ändringar, har ingen möjlighet att testa.)

Det kan vara att en funktion som används i en cell måste returnera något, isåfall får du lägga till det.

Lycka till!


Svara

Sv:Vilket criterea i autofilter

Postades av 2005-10-21 18:52:57 - mattias moberg

OK. ska prova dessa.... återkommer...

//Mattias


Svara

Sv: Vilket criterea i autofilter

Postades av 2005-10-25 13:08:38 - mattias moberg

Jodå, koden körs.

Så länge jag bara lägger in en msgbox är allting lungt, men försöker jag lägga på kod för att läsa autofitret skiter den även i msgboxen. EX:

Msgbox "Hej" Fungerar men....
Msgbox "Hej" & filter.criteria1 då struntar koden i hela msgbox ?????????

//Mattias


Svara

Sv:Vilket criterea i autofilter

Postades av 2005-10-25 20:55:41 - Thommy Lantz

Titta på koden som Åsa skrev

<code>
sFilter = GetAutoFilterCriteria(2)
If sFilter <> "" Then MsgBox sFilter Else MsgBox "Inget filter"
</code>

I variabeln sFilter lagras det funktionen returnerar
Om variabeln innehåller något skrivs det ut.

Om du istället vill skriva till cell A1 skriver du

<code>
sFilter = GetAutoFilterCriteria(2)
If sFilter = "" Then sFilter = "Inget filter"
Cells(1, 1) = sFilter
</code>


Svara

Sv: Vilket criterea i autofilter

Postades av 2005-10-26 15:27:12 - mattias moberg

Ok, börjar förstå nu, dock ett problem.

Set flt = wsh.AutoFilter.Filters(vlColumn) får fel...

Run time error 9
subscript out of range

Mer hjälp och tack alla så långt

//Mattias


Svara

Sv:Vilket criterea i autofilter

Postades av 2005-10-26 16:01:19 - Thommy Lantz

Vilket värde har variabeln vlColumn?


Svara

Sv: Vilket criterea i autofilter

Postades av 2005-10-27 08:58:03 - mattias moberg

vlColumn = 2


//Mattias


Svara

Sv:Vilket criterea i autofilter

Postades av 2005-10-28 08:51:35 - Thommy Lantz

----Jag provade att påverka autofiltret och inget händer.
----Skriver jag däremot "=1+1" i en cell så anropas koden.

Du skrev tidigare att koden anropades när du
skrev =1+1 i en cell
Fick du felmeddelandet då också
Om inte: Vad har du förändrat i koden efter det
tillfället

Jag har inte lyckats återskapa ditt fel
För mig fungerar det fint

Du kanske skall visa oss hela din kod
så att det lättare går att hjälpa dig


Svara

Sv: Vilket criterea i autofilter

Postades av 2005-10-28 09:43:17 - mattias moberg

Det vet jag inte, det jag kom på häromdagen var att jag inte hade tagit bort felhanteringen och att jag därför inte såg att koden inte exekverades, när jag tog bort den så förstod jag varför ingenting hände, är det samma för dig också ??

Jag har ingen övrig kod, utan bara ett excel ark med uppgifter.
Jag har bara plankat koden åsa skrev och lagt in =getautofiltercriteria() i en cell i dokumentet.

Mitt autofilter ligger bara i 1 kolumn, N4 för att vara exakt. I den kolumnen har jag bara siffrorna 0-3 (och tomma celler förstås). Vad jag vill åstakomma är en rubrik som ändras textmässigt när jag filtrerar på någon av siffrorna. Detta för att siffra 0 motsvara påbörjade uppdrag, 1 motsvarar vilande uppdrag osv.
Vi skriver sedan ut detta papper och hänger upp på väggen och då tycker jag att det skulle vara schysst med en rubrik som talar om vilken kategori som avses.

//Mattias


Svara

Sv:Vilket criterea i autofilter

Postades av 2005-10-28 10:24:25 - mattias moberg

Äntligen, nu har jag löst problemet ;-)

Private Sub Worksheet_Calculate()
    Dim AutoFilter2 As String
   With Worksheets("Blad1")
   
    If .AutoFilterMode Then
        With .AutoFilter.Filters(1)
            If .On Then c1 = .Criteria1
        End With
    End If
   If c1 = "=0" Then
   AutoFilter2 = "Pågående uppdrag"
   End If
   If c1 = "=1" Then
   AutoFilter2 = "Köande uppdrag"
   End If
   If c1 = "=2" Then
   AutoFilter2 = "Vilande uppdrag"
   End If
   If c1 = "=3" Then
   AutoFilter2 = "Avslutade uppdrag"
   End If
      
      .Range("I3") = AutoFilter2
   
   
    
End With
    
End Sub




Tack för all hjälp !!

//Mattias


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 615
27 953
271 709
5 481
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies