• Skip to main content
  • Skip to header right navigation
  • Skip to site footer

My Online Training Hub

Learn Dashboards, Excel, Power BI, Power Query, Power Pivot

  • Courses
  • Pricing
    • Free Courses
    • Power BI Course
    • Excel Power Query Course
    • Power Pivot and DAX Course
    • Excel Dashboard Course
    • Excel PivotTable Course – Quick Start
    • Advanced Excel Formulas Course
    • Excel Expert Advanced Excel Training
    • Excel Tables Course
    • Excel, Word, Outlook
    • Financial Modelling Course
    • Excel PivotTable Course
    • Excel for Customer Service Professionals
    • Excel for Operations Management Course
    • Excel for Decision Making Under Uncertainty Course
    • Excel for Finance Course
    • Excel Analysis ToolPak Course
    • Multi-User Pricing
  • Resources
    • Free Downloads
    • Excel Functions Explained
    • Excel Formulas
    • Excel Add-ins
    • IF Function
      • Excel IF Statement Explained
      • Excel IF AND OR Functions
      • IF Formula Builder
    • Time & Dates in Excel
      • Excel Date & Time
      • Calculating Time in Excel
      • Excel Time Calculation Tricks
      • Excel Date and Time Formatting
    • Excel Keyboard Shortcuts
    • Excel Custom Number Format Guide
    • Pivot Tables Guide
    • VLOOKUP Guide
    • ALT Codes
    • Excel VBA & Macros
    • Excel User Forms
    • VBA String Functions
  • Members
    • Login
    • Password Reset
  • Blog
  • Excel Webinars
  • Excel Forum
    • Register as Forum Member

Set Slicer Left and Width properties to match columns|VBA & Macros|Excel Forum|My Online Training Hub

You are here: Home / Set Slicer Left and Width properties to match columns|VBA & Macros|Excel Forum|My Online Training Hub
Avatar
sp_LogInOut Log In sp_Registration Register
sp_Search Search
Advanced Search|Last Search Results
Search
Forum Scope




Match



Forum Options



Minimum search word length is 3 characters - maximum search word length is 84 characters
sp_Search Search
sp_RankInfo
Lost password?
sp_CrumbsHome HomeExcel ForumVBA & MacrosSet Slicer Left and Width propertie…
sp_PrintTopic sp_TopicIcon
Set Slicer Left and Width properties to match columns
Avatar
Shawn Wallack
Member
Members
Level 0
Forum Posts: 77
Member Since:
December 7, 2021
sp_UserOfflineSmall Offline
1
June 18, 2022 - 1:22 am
sp_Permalink sp_Print

I have a procedure that loops through the slicers on a sheet. My goal is to align each slicer with its corresponding column. For example:

  • Column A: Left =0 and Width = 30, so Slicer1 should also be Left=0 and Width=30
  • Column B: Left =30 and Width = 10, so Slicer2 should also be Left=30 and Width=10
Sub LikeMagic()

  Dim ws As Worksheet
  Dim iNumShapes As Integer
  Dim iNumCharts As Integer
  Dim iNumSlicers As Integer
  Dim dLeft as Long
  Dim dWidth as Long
  Dim dTop as Long
  Dim dHeight as Long
  Dim shp As Shape
  Dim colShapes As New Collection

  Set ws = ActiveWorkbook.Worksheets(ActiveSheet.Index)
  iNumShapes = ws.Shapes.Count
  iNumCharts = ws.ChartObjects.Count

  If iNumShapes = 0 Then Set ws = Nothing: Exit Sub

  ' Count and add slicers to collection
  With ws
    For Each shp In ws.Shapes
      If shp.Type = msoSlicer Then
        Err.Clear
        iNumSlicers = iNumSlicers + 1
        colShapes.Add shp
        colShapes.Item(iNumSlicers).locked = False ' Unlock slicer
      End If
    Next shp
  End With

  If iNumSlicers = 0 Then Set ws = Nothing: Exit Sub

  ' Slicer Top and Height are fixed
  dTop = 0
  dHeight = Application.InchesToPoints(2) 

  For lCnt = 1 To iNumSlicers

    ' Get column Left and Width
    dLeft = ws.Columns(lCnt).Left
    dWidth = Application.InchesToPoints(ws.Columns(lCnt).ColumnWidth)

    Debug.Print "Slicer #" & iNumSlicers & vbNewLine & _
      "Slicer: " & colShapes.Item(lCnt).Name & vbNewLine & _
      "Top=" & dTop & vbNewLine & _
      "Height=" & dHeight & vbNewLine & _
      "Left=" & dLeft & vbNewLine & _
      "Width=" & dWidth & vbNewLine

    ' Align slicer with associated columns  <------ THIS IS NOT WORKING
    colShapes.Item(lCnt).Top = dTop
    colShapes.Item(lCnt).Height = dHeight
    colShapes.Item(lCnt).Width = dWidth
    colShapes.Item(lCnt).Left = dLeft

  Next lCnt

  Set ws = Nothing

End Sub

sp_AnswersTopicSeeAnswer See Answer
Avatar
Catalin Bombea
Iasi, Romania
Admin
Level 10
Forum Posts: 1810
Member Since:
November 8, 2013
sp_UserOfflineSmall Offline
2
June 18, 2022 - 4:37 pm
sp_Permalink sp_Print

Hi Shawn,

The topic seems very similar to your other post. Before creating a new one, please try to provide feedback or implement the solution you have received via help desk or other posts like:

https://www.myonlinetraininghu.....ted#p25338

Make sure you pass to the item the correct data type.

For example:

colShapes.Item(lCnt).Top is a Single data type, you can check that in immediate window:

?TypeName(colShapes.Item(lCnt).Top)

Therefore, declaring dTop as long type and assigning it to a shape .Top might raise a mismatch conflict. Same for other similar parameters (Left, Width)

When you're saying "it's not working", what this means? You know we cannot test your code outside your environment (workbook), so this description will not describe anything, just leaves room for guessing, which is something a witch will do.

Please post the error messages you have, screenshots will be more helpful. A sample file that reproduces the error will be ideal.

Are there other codes that are calling this procedure? From previous posts, you have such calls between other unprotect/protect calls.

sp_AnswersTopicAnswer
Answers Post
sp_Feed
Go to top
Forum Timezone: Australia/Brisbane
Most Users Ever Online: 245
Currently Online:
Guest(s) 9
Currently Browsing this Page:
1 Guest(s)
Top Posters:
SunnyKow: 1432
Anders Sehlstedt: 871
Purfleet: 412
Frans Visser: 346
David_Ng: 306
lea cohen: 219
Jessica Stewart: 204
A.Maurizio: 202
Aye Mu: 201
jaryszek: 183
Newest Members:
Murat Hasanoglu
Brett Dryland
Saeed Aldousari
Bhuwan Devkota
Kathryn Patton
Maria Conatser
Jefferson Granemann
Glen Coulthard
Nikki Fox
Rachele Dickie
Forum Stats:
Groups: 3
Forums: 24
Topics: 6222
Posts: 27292

 

Member Stats:
Guest Posters: 49
Members: 31913
Moderators: 3
Admins: 4
Administrators: Mynda Treacy, Philip Treacy, Catalin Bombea, FT
Moderators: MOTH Support, Velouria, Riny van Eekelen
© Simple:Press —sp_Information

Sidebar

Blog Categories

  • Excel
  • Excel Charts
  • Excel Dashboard
  • Excel Formulas
  • Excel PivotTables
  • Excel Shortcuts
  • Excel VBA
  • General Tips
  • Online Training
  • Outlook
  • Power Apps
  • Power Automate
  • Power BI
  • Power Pivot
  • Power Query
microsoft mvp logo
trustpilot excellent rating
Secured by Sucuri Badge
MyOnlineTrainingHub on YouTube Mynda Treacy on Linked In Mynda Treacy on Instagram Mynda Treacy on Twitter Mynda Treacy on Pinterest MyOnlineTrainingHub on Facebook
 

Company

  • About My Online Training Hub
  • Disclosure Statement
  • Frequently Asked Questions
  • Guarantee
  • Privacy Policy
  • Terms & Conditions
  • Testimonials
  • Become an Affiliate

Support

  • Contact
  • Forum
  • Helpdesk - For Technical Issues

Copyright © 2023 · My Online Training Hub · All Rights Reserved. Microsoft and the Microsoft Office logo are trademarks or registered trademarks of Microsoft Corporation in the United States and/or other countries. Product names, logos, brands, and other trademarks featured or referred to within this website are the property of their respective trademark holders.