Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как избавиться от ошибки? / 10 сообщений из 10, страница 1 из 1
12.06.2007, 22:09:47
    #34590312
redsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как избавиться от ошибки?
В БОЛЬШОЙ ТАБЛИЦЕ есть ячейки с числами, но на них стоит ошибка: "Число сохранено как текст".
Надо либо:
1. "преобразовать в число" ИМЕННО ТЕ ячейки, где выдаётся ошибка, либо
2. задать для страницы числовой формат - "общий" и ВСЁ пройти ДВОЙНЫМИ КЛИКАМИ.
Как это сделать кодом???
...
Рейтинг: 0 / 0
13.06.2007, 08:55:37
    #34590637
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как избавиться от ошибки?
redskyВ БОЛЬШОЙ ТАБЛИЦЕ есть ячейки с числами, но на них стоит ошибка: "Число сохранено как текст".
Надо либо:
1. "преобразовать в число" ИМЕННО ТЕ ячейки, где выдаётся ошибка, либо
2. задать для страницы числовой формат - "общий" и ВСЁ пройти ДВОЙНЫМИ КЛИКАМИ.
Как это сделать кодом???

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
' выделите нужный диапазон ячеек и запустите макрос
Sub NumFromText()
Dim icell As Range
Selection.NumberFormat = "General"
 For Each icell In Selection
  icell.Formula = icell.Formula
 Next icell
End Sub
...
Рейтинг: 0 / 0
13.06.2007, 10:23:10
    #34590859
redsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как избавиться от ошибки?
to Deggasad:
Большое спасибо. Отлично работает.
...
Рейтинг: 0 / 0
20.06.2007, 10:35:13
    #34606847
Анжеличка
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как избавиться от ошибки?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
' выделите нужный диапазон ячеек и запустите макрос
Sub NumFromText()
Dim icell As Range
Selection.NumberFormat = "General"
 For Each icell In Selection
  icell.Formula = icell.Formula
 Next icell
End Sub
[/quot]

Как в этом макросе выделение нужного диапазона ячеек сделать кодом?
...
Рейтинг: 0 / 0
20.06.2007, 11:11:19
    #34606996
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как избавиться от ошибки?
Анжеличка
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
' выделите нужный диапазон ячеек и запустите макрос
Sub NumFromText()
Dim icell As Range
Selection.NumberFormat = "General"
 For Each icell In Selection
  icell.Formula = icell.Formula
 Next icell
End Sub


Как в этом макросе выделение нужного диапазона ячеек сделать кодом?[/quot]

Вместо Selection подставить Range() , например Range("A1:С5")
Код: plaintext
1.
2.
3.
4.
5.
6.
Sub NumFromText()
Dim icell As Range
Range("A1:С5").NumberFormat = "General"
 For Each icell In Range("A1:С5")
  icell.Formula = icell.Formula
 Next icell
End Sub
...
Рейтинг: 0 / 0
20.06.2007, 12:23:46
    #34607307
Анжеличка
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как избавиться от ошибки?
Вместо Selection подставить Range() , например Range("A1:С5")
Код: plaintext
1.
2.
3.
4.
5.
6.
Sub NumFromText()
Dim icell As Range
Range("A1:С5").NumberFormat = "General"
 For Each icell In Range("A1:С5")
  icell.Formula = icell.Formula
 Next icell
End Sub
[/quot]

Спасибо, Deggasad.
а как будет выглядеть код, если диапазон задается не до конкретной ячейки с адресом, а до последней непустой?
...
Рейтинг: 0 / 0
20.06.2007, 13:19:23
    #34607563
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как избавиться от ошибки?
Анжеличка
Спасибо, Deggasad.
а как будет выглядеть код, если диапазон задается не до конкретной ячейки с адресом, а до последней непустой?

До последней непустой на листе или в определённом столбце?
...
Рейтинг: 0 / 0
20.06.2007, 13:29:09
    #34607606
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как избавиться от ошибки?
Последняя ячейка на всём листе!
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
Function LastCell(ws As Worksheet) As Range
  Dim LastRow&, LastCol%

  On Error Resume Next
  With ws
  ' Find the last real row
    LastRow& = .Cells.Find(What:="*", _
      SearchDirection:=xlPrevious, _
      SearchOrder:=xlByRows).Row
  ' Find the last real column
    LastCol% = .Cells.Find(What:="*", _
      SearchDirection:=xlPrevious, _
      SearchOrder:=xlByColumns).Column
  End With

  Set LastCell = ws.Cells(LastRow&, LastCol%)
   
End Function

Sub NumFromText()
Dim icell As Range, LCell As Range, sh As Worksheet
Set sh = ActiveSheet
Set LCell = LastCell(sh)
Range("A1", LCell).NumberFormat = "General"
 For Each icell In Range("A1", LCell)
  icell.Formula = icell.Formula
 Next icell
End Sub
...
Рейтинг: 0 / 0
22.06.2007, 09:16:46
    #34612683
Анжеличка
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как избавиться от ошибки?
Deggasad Анжеличка
Спасибо, Deggasad.
а как будет выглядеть код, если диапазон задается не до конкретной ячейки с адресом, а до последней непустой?

До последней непустой на листе или в определённом столбце?

до последней непустой в определенном столбце
...
Рейтинг: 0 / 0
22.06.2007, 09:37:02
    #34612711
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как избавиться от ошибки?
Так попробуйте

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Sub NumFromText()
Dim icell As Range, LCell As Range, sh As Worksheet, letCol as string
Set sh = ActiveSheet
' буква столбца в котором искать последнюю строку
letCol = "A"
Set LCell = sh.Range(letCol & rows.count).Find(What:="*", _
      SearchDirection:=xlPrevious, _
      SearchOrder:=xlByRows)
Range("A1", LCell).NumberFormat = "General"
 For Each icell In Range("A1", LCell)
  icell.Formula = icell.Formula
 Next icell
End Sub
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как избавиться от ошибки? / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]