×
×
Закрытая тема
Показано с 1 по 8 из 8
  1. #1
    Sava
    Гость

    Простой вопрос по Excel

    Как в Excel сделать столбец шириной 5 см? Т.е. как перевести его "пункты" в см?
    Поделиться с друзьями

  2. #2
    Фырчун Аватар для Dracosha Andrew
    Регистрация
    07.02.2002
    Адрес
    Санкт-Петербург
    Сообщений
    2,259
    Никак. Если только самостоятельно путём проб и пропорций определить это соотношение для каждого конкрентного монитора/принтера/масшабирования/набора_шрифтов
    Всех благ!!!
    Чувелёв Андрей

    ps: Всё вышеизложенное является моим частным мнением и не может претендовать на полноту изложения.

  3. #3
    Покинул этот раздел Аватар для ADSemenov.ru
    Регистрация
    23.01.2004
    Адрес
    199048, СПб, В.О., 15 линия, 70-28. тел. +7 812 321-7591, +7 911-96-301-96
    Сообщений
    891
    Я думаю, что если на VBA задать столбцу ширину 5 см, то на принтере это точно будет 5 см.

  4. #4
    Фырчун Аватар для Dracosha Andrew
    Регистрация
    07.02.2002
    Адрес
    Санкт-Петербург
    Сообщений
    2,259
    ADSemenov.ru, я что-то не нашёл в свойстве WIDTH такой возможности...
    Всех благ!!!
    Чувелёв Андрей

    ps: Всё вышеизложенное является моим частным мнением и не может претендовать на полноту изложения.

  5. #5
    Покинул этот раздел Аватар для ADSemenov.ru
    Регистрация
    23.01.2004
    Адрес
    199048, СПб, В.О., 15 линия, 70-28. тел. +7 812 321-7591, +7 911-96-301-96
    Сообщений
    891
    Не проверяя, я рассуждал так. –
    Свойство Columns(1).Width содержит ширину в point'ах.
    Свойство Columns(1).ColumnWidth содержит ширину в "ширинах" символа "0".
    Метод Application.CentimetersToPoints(3.5) переводит сантиметры в point'ы.
    Отсюда простой пересчёт:
    Код:
    With ActiveSheet.Columns(1)
      .ColumnWidth = Application.CentimetersToPoints(3.5) * .ColumnWidth / .Width
    End With
    И первый столбец должен получить ширину 3.5 см. Однако, когда я проверил, то ни на экране, ни на принтере соответствия не было. На моём принтере было 3.8 см. И ещё какая-то загадка – при применении второй раз к столбцу этих действий он ещё немножко расширяется. Я считал, что в Excel можно всё. Но здесь пока не вижу выхода. Возможно, перед применением этих действий, надо "потрогать" какие-нибудь шрифтовые свойства столбца...

  6. #6
    Sava
    Гость
    В конце концов я нарисовала в Excel линию 5 см, под нее подогнала столбец.
    На принтере оказалось, что это уже не 5 см , а на 2 мм больше и со втрого раза путем подгонки получилось - каменный век!

  7. #7
    Фырчун Аватар для Dracosha Andrew
    Регистрация
    07.02.2002
    Адрес
    Санкт-Петербург
    Сообщений
    2,259
    Нет, господа, век тут не причем. Просто Excel не предназначен для таких действий... Это не система подготовки публикаций. Может даже искуственно внесены ограничения.
    Всех благ!!!
    Чувелёв Андрей

    ps: Всё вышеизложенное является моим частным мнением и не может претендовать на полноту изложения.

  8. #8
    MaxFactor
    Гость

    Эврика

    Ох.. я тоже намудохался с этим. Наткнулся на этот форум по этой проблеме. Да... Это действительно зависит от экрана и принтера. Могу сказать, что высота везде будет одинакова, то есть 1 см = 28,344646 пунктов(поинтов). А вот, для того, чтобы выйти из положения для ширины, я предлагаю следующее решение:

    Sub SetColumnWidthMM(ColNo As Long, mmWidth As Integer)
    Dim w As Single
    If ColNo 255 Then Exit Sub
    Application.ScreenUpdating = False
    w = Application.CentimetersToPoints(mmWidth / 10)
    While Columns(ColNo + 1).Left - Columns(ColNo).Left - 0.1 > w
    Columns(ColNo).ColumnWidth = Columns(ColNo).ColumnWidth - 0.1
    Wend
    While Columns(ColNo + 1).Left - Columns(ColNo).Left + 0.1 < w
    Columns(ColNo).ColumnWidth = Columns(ColNo).ColumnWidth + 0.1
    Wend
    End Sub

    Работает :о)
    А для того, чтобы получить размер ширины колонки в см. можно воспользоваться следующим:

    Function GetColumnWidth(ColNo As Byte)
    GetColumnWidth = (Columns(ColNo + 1).Left - Columns(ColNo).Left) / 28.34464646
    End Function

    Всем удачного равнения! :с)
    --------
    Макс Фактор

Закрытая тема

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы можете создавать новые темы
  • Вы можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •