Модераторы: Akina

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Формат ячеек в Excel, как поменять? 
:(
    Опции темы
Guest
Дата 4.10.2004, 16:50 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Люди, как из VB поменять формат ячеек конкретного столбца?
  Вверх
SapSZerO
Дата 4.10.2004, 20:58 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Запускаешь Excel.
В новой книге выполняешь команду "Сервис — Макрос — Начать запись".
Выполняешь все предполагаемые действия по форматированию.
Останавливаешь запись.
Входишь в редактор кода и разбираешься с тем, что записал.
Редактируешь под свои нужды и вставляешь в приложение.

Будут вопросы, пиши [email protected]. Удачки!
  Вверх
Staruha
Дата 5.10.2004, 08:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1292
Регистрация: 1.2.2004
Где: Казань

Репутация: 2
Всего: 27



Расположить по центру,текст жирный


Код
' Format A1:D1 as bold, vertical alignment = center.
   
With oSheet.Range("A1", "D1")
       .Font.Bold = True
       .VerticalAlignment = xlVAlignCenter
    End With



--------------------
Возмездие настигнет
PM MAIL   Вверх
~FoX~
Дата 5.10.2004, 09:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 10
Всего: 68



Он спросил
Цитата
как из VB поменять формат ячеек

А вы ему про VBA толкуете


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
Guest
Дата 5.10.2004, 09:13 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Вот так будет лучше без обьявления переменной oSheet.Создаешь столбцы и форматируешь
Код
Private Sub CommandButton1_Click()
    Range("A1").Value = "Первый"
    Range("B1").Value = "Второй"
  ' Format A1:B1 as bold, vertical alignment = center.
     With Range("A1", "B1")
        .Font.Bold = True
        .VerticalAlignment = xlVAlignCenter
     End With
End Sub

  Вверх
Guest
Дата 5.10.2004, 09:17 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Это работает ,из vb ,если книгу новую создавать
Код
Option Explicit
Private Sub CommandButton1_Click()
Dim oXL As Excel.Application
     Dim oWB As Excel.Workbook
     Dim oSheet As Excel.Worksheet
     Dim oRng As Excel.Range
     

     'On Error GoTo Err_Handler
     
  ' Start Excel and get Application object.
     Set oXL = CreateObject("Excel.Application")
     oXL.Visible = True
     
  ' Get a new workbook.
     Set oWB = oXL.Workbooks.Add
     Set oSheet = oWB.ActiveSheet
     
  ' Add table headers going cell by cell.
     oSheet.Cells(1, 1).Value = "First Name"
     oSheet.Cells(1, 2).Value = "Last Name"
     oSheet.Cells(1, 3).Value = "Full Name"
     oSheet.Cells(1, 4).Value = "Salary"
     

  ' Format A1:D1 as bold, vertical alignment = center.
     With oSheet.Range("A1", "D1")
        .Font.Bold = True
        .VerticalAlignment = xlVAlignCenter
     End With
End Sub

  Вверх
Guest
Дата 5.10.2004, 13:47 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Видимо, я не так выразился.... Хотя эти ответы мне тоже будут очень полезны и за них спасибо!

Я имел в виду, что когда я пишу данные на лист Excel они по умолчанию пишутся в формате General, а если я например пишу дату, то получиться нечто, на первый взгляд несуразное в виде количества дней с начала 20-ого века. Человек, открывший этот лист будет несколько в растерянности от увиденного. Дак вот, как мне поменять формат ячеек при записи в них данных скажем на Number с 5 decimal разрядами или на дату mm/dd/yy? Желательно узнать как поменять формат ячеек всего столбца целиком.

СпасибО!
  Вверх
Guest
Дата 5.10.2004, 15:02 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Вот работает
Код

With oSheet.Range("A1", "A10000")
        .NumberFormat = "dd/mm/yy"
        .VerticalAlignment = xlVAlignCenter
     End With


Старуха
  Вверх
Staruha
Дата 5.10.2004, 21:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1292
Регистрация: 1.2.2004
Где: Казань

Репутация: 2
Всего: 27



Надо еще библиотеку подключить меню Project-References-Microsoft Excel 10.0 Object Library


--------------------
Возмездие настигнет
PM MAIL   Вверх
Guest
Дата 6.10.2004, 08:30 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата(Guest @ 5.10.2004, 15:02)
With oSheet.Range("A")
    .NumberFormat = "dd/mm/yy"
    .VerticalAlignment = xlVAlignCenter
  End With


  Вверх
Guest
Дата 6.10.2004, 11:05 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Принято
Старуха

P:S
Кардинал ,второй день не могу зайти как Старуха.Не пускаешь что ли?
  Вверх
Guest
Дата 6.10.2004, 12:01 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Код
With oSheet.Range("A1", "A10000")
   .NumberFormat = "dd/mm/yy"
   .VerticalAlignment = xlVAlignCenter
 End With

Интересно, а если у меня не десять тысяч записей, а 15? Оставшиеся 5 будут непонятного формата? Неужели нельзя отформатировать ВСЕ ячейки в определенном столбце? Ведь в самом Excel'e это можно сделать... И еще не знаете случайно как поставить автоширину столбца из VB? В самом Excel'e этот эффект происходит при двойном щелчке по границе столбца.
  Вверх
Guest
Дата 6.10.2004, 14:26 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Код

 Columns("B").Select
    Selection.Columns.AutoFit

А вообще то есть такое свойство AutoSize

Код
With oSheet.Columns("A")
.NumberFormat = "dd/mm/yy"
.VerticalAlignment = xlVAlignCenter
End With

На vba работает ,а на VB только дома могу проверить .Но 90 процентов будет работать.


Старуха

  Вверх
Guest
Дата 7.10.2004, 12:31 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











СПАСИБО!!!
  Вверх
Staruha
Дата 7.10.2004, 19:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1292
Регистрация: 1.2.2004
Где: Казань

Репутация: 2
Всего: 27



Твой вопрос мне тоже помог больше узнать.Всего хорошего!


--------------------
Возмездие настигнет
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0940 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.