• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Datum in Pivot instellen d.m.v. een macro

Status
Niet open voor verdere reacties.
En waar en hoe heb je dit toegepast?

Zie de laatste paar regels, waarbij het nu lijkt dat hij alle data in de slicer selecteerd:

Sub Get_Data()
Workbooks.OpenText Filename:="R:\Warehouse\Reports\Daily_ZOPENORD_export.txt" _
, Origin:=437, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, _
Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), _
Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), Array(8, 1), _
Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1), Array(13, 1), Array(14, 1), Array(15 _
, 1), Array(16, 1), Array(17, 1), Array(18, 1), Array(19, 1), Array(20, 1), Array(21, 1), _
Array(22, 1), Array(23, 1), Array(24, 1), Array(25, 1), Array(26, 1), Array(27, 1), Array( _
28, 1), Array(29, 1), Array(30, 1), Array(31, 1), Array(32, 1), Array(33, 1), Array(34, 1), _
Array(35, 1), Array(36, 1), Array(37, 1), Array(38, 1), Array(39, 1), Array(40, 1), Array( _
41, 1), Array(42, 1), Array(43, 1), Array(44, 1), Array(45, 1), Array(46, 1), Array(47, 1), _
Array(48, 1), Array(49, 1), Array(50, 1), Array(51, 1), Array(52, 1), Array(53, 1), Array( _
54, 1), Array(55, 1), Array(56, 1), Array(57, 1), Array(58, 1), Array(59, 1), Array(60, 1), _
Array(61, 1), Array(62, 1), Array(63, 1), Array(64, 1), Array(65, 1), Array(66, 1), Array( _
67, 1), Array(68, 1), Array(69, 1), Array(70, 1), Array(71, 1), Array(72, 1)), _
TrailingMinusNumbers:=True
Columns("A:A").Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
Windows("Z_OPENORD").Activate
Sheets("Data").Select
Columns("A:A").Select
ActiveSheet.Paste
Sheets("Pivot").Select
Application.CutCopyMode = False
ActiveSheet.PivotTables("PivotTable1").PivotCache.Refresh
Sheets("Graph").Select
Range("B5").Select
Windows("Daily_ZOPENORD_export.txt").Activate
ActiveWindow.Close
Range("B3").Select
Code:
 Application.ScreenUpdating = False
 With ActiveWorkbook.SlicerCaches("Slicer_Loading_Date")
 .ClearManualFilter
 For Each si In .SlicerItems
   si.Selected = si.Value = Format(Date, "d-m-yyyy")
Next
End With
End Sub
 
Laatst bewerkt:
Remko,

als VenA het heeft over "code"tags bedoelt hij niet dat je de inhoud van het vorige bericht meeneemt in je bericht, maar dat je de in houd van een Sub er uit laat springen door die tussen de tags [ code ] en [/ code ] te zetten.
Wat jij doet gaat met "quote"tags
 
Laatst bewerkt:
Staat er wel een datum van vandaag in jouw tabel? Bij mij werkt het wel.

Code:
Sub VenA()
Application.ScreenUpdating = False
With ActiveWorkbook
    .RefreshAll
    With .SlicerCaches("Slicer_Loading_Date")
        .ClearManualFilter
        For Each si In .SlicerItems
            si.Selected = si.Value = Format(Date, "d-m-yyyy")
        Next si
    End With
End With
End Sub
 

Bijlagen

  • Z_OPENORD_test.xlsb
    415,5 KB · Weergaven: 29
Staat er wel een datum van vandaag in jouw tabel? Bij mij werkt het wel.

Code:
Sub VenA()
Application.ScreenUpdating = False
With ActiveWorkbook
    .RefreshAll
    With .SlicerCaches("Slicer_Loading_Date")
        .ClearManualFilter
        For Each si In .SlicerItems
            si.Selected = si.Value = Format(Date, "d-m-yyyy")
        Next si
    End With
End With
End Sub

ik heb wel een andere format datum in de data staan: 10.03.2016 en geen notatie met een streepje, zal dat wat uitmaken?

Heb de regel
Code:
si.Selected = si.Value = Format(Date, "d-m-yyyy")
ook al aangepast met d.m.yyyy maar maakt ook geen verschil uit.
 
Ja dat maakt wat uit. De datum in jouw bestand wordt door Excel gezien als tekst.
 
je kunt toch in je macro de "." laten vervangen door "-"?

Code:
    Selection.Replace What:=".", Replacement:="-", LookAt:=xlPart, SearchOrder _
        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
 
Laatst bewerkt:
Plaats het bestandje nogmaals maar dan zoals het er in het echt uitziet. Of mogelijk dat het zo wel werkt
Code:
Format(Date, "dd.mm.yyyy")
 
Plaats het bestandje nogmaals maar dan zoals het er in het echt uitziet. Of mogelijk dat het zo wel werkt
Code:
Format(Date, "dd.mm.yyyy")

VenA...... het werkt idd..... top!!!! laatste vraag, als ik nu meerdere slicers heb, kan ik die in onderstaande code achter elkaar zetten d.m.v. komma of punt komma gescheiden?

Code:
With .SlicerCaches("Slicer_Loading_Date", "Slicer_ScheLnDate")
 
Laatst bewerkt:
Dat kan. Het resultaat is dat je een foutmelding krijgt:d

Edit

Even het breiwerk in #21 bekeken. Waarom maak je niet rechtstreeks een dataconnectie in Sheets("Data") met R:\Warehouse\Reports\Daily_ZOPENORD_export.txt? Dan heb je al dat kopieer en plakwerk niet nodig.

De code die je nu gebruikt kan ook gereduceerd worden tot een paar regels.
Een beetje op de gok

Code:
Sub tst()
With Workbooks
    .OpenText Filename:="R:\Warehouse\Reports\Daily_ZOPENORD_export.txt" _
    , Origin:=437, StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote
    ar = Cells(1).CurrentRegion
    .Close (0)
End With
With Sheets("Data")
    .Cells.ClearContents
    .Cells(1).Resize(UBound(ar), UBound(ar, 2)) = ar
End With
End Sub
 
Laatst bewerkt:
Dat kan. Het resultaat is dat je een foutmelding krijgt:d

Edit

Even het breiwerk in #21 bekeken. Waarom maak je niet rechtstreeks een dataconnectie in Sheets("Data") met R:\Warehouse\Reports\Daily_ZOPENORD_export.txt? Dan heb je al dat kopieer en plakwerk niet nodig.

De code die je nu gebruikt kan ook gereduceerd worden tot een paar regels.
Een beetje op de gok

Code:
Sub tst()
With Workbooks
    .OpenText Filename:="R:\Warehouse\Reports\Daily_ZOPENORD_export.txt" _
    , Origin:=437, StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote
    ar = Cells(1).CurrentRegion
    .Close (0)
End With
With Sheets("Data")
    .Cells.ClearContents
    .Cells(1).Resize(UBound(ar), UBound(ar, 2)) = ar
End With
End Sub

Da's idd waar..... scheelt een hoop..... hij geeft alleen een fout melding bij

Code:
    .Close (0)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan