Results 1 to 10 of 15

Thread: Align TextBox Within A Range

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Member p45cal's Avatar
    Join Date
    Oct 2013
    Posts
    94
    Rep Power
    13
    Also the .Height of a cell is not always the same as its .rowheight.
    You might have to go about setting the textbox height to Range("A356:A375").Height and even then the textbox bottom isn't always in line with the bottom cell if you look at it at different zoom levels.

  2. #2
    Member
    Join Date
    May 2020
    Posts
    66
    Rep Power
    6
    Thanks for the reply!

    Looks like row height can only be set in 0.25 increments:
    vba set => actual height
    It's good to see the technical aspect of the problem, but I'm unable to use this information to reslove my problems.
    However, it inspires me to manually calculate the height of a single row after each new line. But I do not find any pattern which can help me to fix the issue. Here is the result...

    Height.jpg
    Attached Files Attached Files
    Last edited by Anshu; 10-11-2020 at 03:47 AM.

  3. #3
    Member
    Join Date
    May 2020
    Posts
    66
    Rep Power
    6
    Quote Originally Posted by p45cal View Post
    Also the .Height of a cell is not always the same as its .rowheight.
    You might have to go about setting the textbox height to Range("A356:A375").Height and even then the textbox bottom isn't always in line with the bottom cell if you look at it at different zoom levels.
    As suggested, I've added the a new line "ActiveSheet.Shapes("TextBox 2").Height = Range("A356:A375").RowHeight * 20" in the macro to set the textbox height to Range("A356:A375").Height. And yes, you are right, even then the textbox bottom isn't always in line with the bottom cell.

    Code:
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    'Overall Observation
        If Target.Cells.Count = 1 And IsEmpty(Target) Or Not IsEmpty(Target) Then
           If ActiveSheet.Shapes("TextBox 2").Height < 171 Then
               Let ActiveSheet.Shapes("TextBox 2").Height = 171
               Range("A356:A375").RowHeight = ActiveSheet.Shapes("TextBox 2").Height / 20
               ActiveSheet.Shapes("TextBox 2").Height = Range("A356:A375").RowHeight * 20
             Else
               Range("A356:A375").RowHeight = ActiveSheet.Shapes("TextBox 2").Height / 20
               ActiveSheet.Shapes("TextBox 2").Height = Range("A356:A375").RowHeight * 20
           End If
        End If
    End Sub
    So, do I lose hope???
    Attached Files Attached Files

  4. #4
    Member p45cal's Avatar
    Join Date
    Oct 2013
    Posts
    94
    Rep Power
    13
    Quote Originally Posted by Anshu View Post
    As suggested, I've added the a new line "ActiveSheet.Shapes("TextBox 2").Height = Range("A356:A375").RowHeight * 20" in the macro to set the textbox height to Range("A356:A375").Height.
    No you haven't. You're still using .Rowheight.

    try:
    Code:
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    'Overall Observation
    If Target.Cells.Count = 1 And IsEmpty(Target) Or Not IsEmpty(Target) Then
      If ActiveSheet.Shapes("TextBox 2").Height < 171 Then Let ActiveSheet.Shapes("TextBox 2").Height = 171
      Range("A356:A375").RowHeight = ActiveSheet.Shapes("TextBox 2").Height / 20
      ActiveSheet.Shapes("TextBox 2").Height = Range("A356:A375").Height '<<<<<<<<<<<this line uses .Height.
    End If
    End Sub
    I'm not sure what you're trying to achieve; if the textbox must always be big enough to fit some text or not. Give us a clue about the order you want things to happen in. Perhaps some narrative of the intention behind the code.

    ps those two lines in your code:
    Code:
    Range("G379").Value = Range("AA368").Height
    Range("J379").Value = Rows("368").EntireRow.Height
    will always produce the same value; you might get more from:
    Code:
    Range("G379").Value = Range("AA368").Height
    Range("J379").Value = Range("AA368").RowHeight
    which will sometimes give different values.
    Last edited by p45cal; 10-11-2020 at 03:20 PM.

Similar Threads

  1. Align Data In Groups Of Columns
    By Rick Rothstein in forum Rick Rothstein's Corner
    Replies: 0
    Last Post: 05-25-2015, 03:07 AM
  2. Replies: 4
    Last Post: 11-15-2013, 03:42 PM
  3. Replies: 9
    Last Post: 08-08-2013, 07:13 PM
  4. Align Shapes (Charts) On ActiveWorksheet
    By Rajan_Verma in forum Rajan Verma's Corner
    Replies: 1
    Last Post: 05-14-2012, 03:25 AM
  5. Replies: 2
    Last Post: 02-29-2012, 08:24 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •