Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Слишком длинный текст в Excel неполностью отображается в ячейке / 25 сообщений из 31, страница 1 из 2
28.01.2010, 11:10
    #36435530
Djon Player
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слишком длинный текст в Excel неполностью отображается в ячейке
Сегодня вызвал меня к себе большой начальник, была проблема с Excel 2003.
А именно, в одной ячейке было много текста, если точнее 2155 символов.
Проблема была в том, что хоть был включен перенос слов и ширина и высота ячейки была достаточной, чтобы отобразить весь текст, всё равно ячейка отображала лишь около половины текста, а дальше ничего не отображала. Т.е. с какой-то позиции текста не работал авто перенос.
Весь текст можно было увидеть лишь в строке формул.
Как не бился, проблему решить не мог.
Единственное, что смог предложить начальнику, это вручную в тексте расставить переносы строк, либо разбить текст на несколько ячеек.Понятно что это не выход, т.к. в случае изменения ширины ячеек, придётся заново руками переделывать все переносы.

Создал пример такого файла в Excel 2003, с некоторой позиции там перестает делаться авто перенос текста и текст дальше не показывается, в Excel 2007 он показывает текст в ячейке полностью.

Вопрос, можно ли эту проблему как-то решить, типа патч какой-нибудь установить или ещё что.
Вариант с установкой переносов в ручную естественно не устраивает и с разбиением на несколько ячеек тоже, т.к. это явный косяк Excel 2003.

Версия Excel 2003 (11.8169.8172) SP3.
В Excel 2007 (12.0.6425.1000) SP2 MSO (12.0.6425.1000) такой проблемы нет.
...
Рейтинг: 0 / 0
28.01.2010, 11:11
    #36435532
Djon Player
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слишком длинный текст в Excel неполностью отображается в ячейке
Djon Player,

а вот сам файл:
...
Рейтинг: 0 / 0
28.01.2010, 11:26
    #36435584
DaniilK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слишком длинный текст в Excel неполностью отображается в ячейке
это не косяк, в справке об этом, вроде бы есть
Хранить можно очень много символов в ячейке, а отображаться будет только 1024...
...
Рейтинг: 0 / 0
28.01.2010, 12:03
    #36435747
Djon Player
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слишком длинный текст в Excel неполностью отображается в ячейке
DaniilKэто не косяк, в справке об этом, вроде бы есть
Хранить можно очень много символов в ячейке, а отображаться будет только 1024...Какже тогда объяснить такое, что если вручную сделать перенос строк внутри ячейки, то тогда можно добиться, что весь текст отобразиться.
Прикладываю файл с тем-же текстом, где вручную несколько строк принудительно перенесено.
Соответственно количество символов в ячейке даже увеличилось.
...
Рейтинг: 0 / 0
28.01.2010, 12:12
    #36435793
f
f
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слишком длинный текст в Excel неполностью отображается в ячейке
1. Расставить переносы макросом.
2. Использовать для длинных текстов Word.
...
Рейтинг: 0 / 0
28.01.2010, 12:26
    #36435857
Djon Player
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слишком длинный текст в Excel неполностью отображается в ячейке
F1. Расставить переносы макросом.
2. Использовать для длинных текстов Word.Я то макрос могу написать.
Да и у меня в принципе нет такой проблемы, я в таких количествах текст не пишу.
А вот, что мне говорить большому начальству. Word тут тоже не подойдёт, так я привёл лишь пример одной ячейки. А там структура табличная, прчем много разных объединённых ячеек.
В Word-е проблем было бы ещё больше.
Пока на данному этапе самый простой вариант, ставить Excel 2007, только его пользователи не очень любят, им-же переучиваться надо.
Я сам работаю в обоих версиях, но в Excel 2003 я почти всё могу найти с закрытыми глазами и сказать, где что находиться не имея под рукой Excel.
Зато в Excel 2007 постоянно приходиться что-то искать, хотя в нём я тоже работаю уже около 2 лет.
В идеале нужен патч для Excel 2003.
...
Рейтинг: 0 / 0
28.01.2010, 12:45
    #36435934
f
f
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слишком длинный текст в Excel неполностью отображается в ячейке
Djon PlayerА вот, что мне говорить большому начальству.

Что программист здесь вы.
...
Рейтинг: 0 / 0
28.01.2010, 16:05
    #36436600
Djon Player
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слишком длинный текст в Excel неполностью отображается в ячейке
FDjon PlayerА вот, что мне говорить большому начальству.
Что программист здесь вы.Хорошая шутка. Но не по существу. Нужен патч.

А так ради интереса наваял макрос, который автоматически ставит переносы в тексте ориентируясь на ширину ячейки.
Предварительно он удаляет все переносы в тексте ячейки, заменяя их на пробелы, затем устанавливает все переносы заново, так чтобы влезло максимальное количество целых слов в строку.
Понятно, что если текст в ячейке был как-то правильно структурирован (например там стих), то вся структура потеряется. Так что на самом деле писать макрос для этого дела, дело не благодарное.

Код: 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.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
Sub Автоматический_перенос_текста()
 Dim a
 Dim s As String
 Dim s2 As String
 Dim t As Boolean
 Dim i As Integer
 Dim j As Integer
 Dim ls As Integer
 Dim ch As Range
 Dim kol_simvolov_v_stroke As Integer
 
 
 For Each ch In Selection
  If ch.Value <> "" Then
   kol_simvolov_v_stroke = Round(ch.ColumnWidth)
   If kol_simvolov_v_stroke > ch.ColumnWidth Then
    kol_simvolov_v_stroke = kol_simvolov_v_stroke -  1 
   End If
   
   a = Split(ch.Value, Chr( 10 ))
   
   s = ""
   For i = LBound(a) To UBound(a)
    s = s & a(i) & " "
   Next i
   
   ls = Len(s)
   If ls >  1  Then
    ls = ls -  1 
    s = Left(s, ls)
   End If
   
   s2 = ""
   
   While Len(s) >  0 
     t = False
     For j = kol_simvolov_v_stroke To  1  Step - 1 
      If Mid(s, j,  1 ) = " " Then
       s2 = s2 & Left(s, j -  1 ) & Chr( 10 )
       s = Mid(s, j +  1 )
       t = True
       Exit For
      End If
      
     Next j
     
     If Not t Then
      s2 = s2 & Left(s, kol_simvolov_v_stroke) & Chr( 10 )
      s = Mid(s, kol_simvolov_v_stroke +  1 )
     End If
     
   Wend
   
   ch.Value = Left(s2, Len(s2) -  1 )
   
  End If
  
 Next ch

End Sub
...
Рейтинг: 0 / 0
20.08.2010, 11:39
    #36802151
Zloi lesnichiy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слишком длинный текст в Excel неполностью отображается в ячейке
Спс за макрос оч пригодился на работе)))
...
Рейтинг: 0 / 0
23.08.2010, 10:46
    #36805678
Djon Player
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слишком длинный текст в Excel неполностью отображается в ячейке
Zloi lesnichiy,

Ну значит я не зря старался, т.к. мне самому он не пригодился.
...
Рейтинг: 0 / 0
23.08.2010, 11:45
    #36805846
MX-9
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слишком длинный текст в Excel неполностью отображается в ячейке
Djon Player,

а если поставить только один перенос в самом конце текста ?

(у меня 2007 - не могу это проверить)
...
Рейтинг: 0 / 0
23.08.2010, 13:51
    #36806188
ПЕНСИОНЕРКА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слишком длинный текст в Excel неполностью отображается в ячейке
MX-9,

МАКСИМАЛЬНАЯ ВЫСОТА СТРОКИ 409 ПИКСЕЛЕЙ
ПРИ ШРИФТЕ=10 409/(10*1.3)=30 СТРОК
===========12 409/(12*1.3)=25 СТРОК

УМНОЖТН НА ШИРИНУ СТОЛБЦА-ПОЛУЧИТЕ МАХ СТРОКУ

ВРОДЕ ТАК Я ОДНАЖДЫ РАЗБИРАЛАСЬ
...
Рейтинг: 0 / 0
24.08.2010, 15:56
    #36808477
MX-9
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слишком длинный текст в Excel неполностью отображается в ячейке
ПЕНСИОНЕРКАMX-9,

МАКСИМАЛЬНАЯ ВЫСОТА СТРОКИ 409 ПИКСЕЛЕЙ
ПРИ ШРИФТЕ=10 409/(10*1.3)=30 СТРОК
===========12 409/(12*1.3)=25 СТРОК

УМНОЖТН НА ШИРИНУ СТОЛБЦА-ПОЛУЧИТЕ МАХ СТРОКУ

ВРОДЕ ТАК Я ОДНАЖДЫ РАЗБИРАЛАСЬ

а максим ширина столбца какая ?
...
Рейтинг: 0 / 0
24.08.2010, 15:59
    #36808498
Serge 007
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слишком длинный текст в Excel неполностью отображается в ячейке
MX-9ПЕНСИОНЕРКАMX-9,

МАКСИМАЛЬНАЯ ВЫСОТА СТРОКИ 409 ПИКСЕЛЕЙ
ПРИ ШРИФТЕ=10 409/(10*1.3)=30 СТРОК
===========12 409/(12*1.3)=25 СТРОК

УМНОЖТН НА ШИРИНУ СТОЛБЦА-ПОЛУЧИТЕ МАХ СТРОКУ

ВРОДЕ ТАК Я ОДНАЖДЫ РАЗБИРАЛАСЬ

а максим ширина столбца какая ?255 знаков
...
Рейтинг: 0 / 0
24.08.2010, 16:00
    #36808503
kimtan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слишком длинный текст в Excel неполностью отображается в ячейке
MX-9,

255 знаков
...
Рейтинг: 0 / 0
24.08.2010, 16:00
    #36808505
Serge 007
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слишком длинный текст в Excel неполностью отображается в ячейке
...
Рейтинг: 0 / 0
24.08.2010, 19:48
    #36809082
ПЕНСИОНЕРКА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слишком длинный текст в Excel неполностью отображается в ячейке
kimtanMX-9,

255 знаков

в колонку то ты 255 симв загонишь, а не печать увы нет

альбомная а4 270/25.4= 10 дюймов или 720 пунктов. при шрифте 10 это 720/(10*0,6)=120 симв
при 8 720/(8*0,6)=145 симв

сколько у тебя столбиков для печати и их ширина??
...
Рейтинг: 0 / 0
24.08.2010, 20:06
    #36809101
ПЕНСИОНЕРКА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слишком длинный текст в Excel неполностью отображается в ячейке
ПЕНСИОНЕРКА,

в ворде нарисуй схему отчета с относительным расположением полей ,их шириной , возможен ли в поле перенос.

или набей хотя бы абвгг.... 123456... типичный документ, чтобы проверить влезет ли он в ворд и какой ширины столбец останется на твою бяку....
...
Рейтинг: 0 / 0
25.08.2010, 11:55
    #36810001
MX-9
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слишком длинный текст в Excel неполностью отображается в ячейке
kimtan,

2007 EXCEL работает
без ограничений по ширине и высоте ячейки
и количеству знаков
...
Рейтинг: 0 / 0
25.08.2010, 16:02
    #36810978
Djon Player
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слишком длинный текст в Excel неполностью отображается в ячейке
MX-9Djon Player,

а если поставить только один перенос в самом конце текста ?

(у меня 2007 - не могу это проверить)Не в Excel 2003 не катит, если текст слишком длинный как в файле что я прикреплял в начале, то даже 10 переносов не помогают.
Начиная с некоторого места на экран выводятся лишь начальная часть отдельного абзаца, которая помещается в одну строки экрана.
Т.е. если к примеру в одной ячейке грубо говоря 20 длинных предложений каждое со своим абзацем, то к примеру первые 10 строк отобразятся полностью, а у оставшихся предложений будет на экране видна лишь начальная часть в пределах одной строки.

Написал я конечно сумбурно, но думаю понять можно.
...
Рейтинг: 0 / 0
25.08.2010, 17:13
    #36811292
MX-9
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слишком длинный текст в Excel неполностью отображается в ячейке
Djon Player,

придется на ячейку накладывать текстовое поле таких же размеров и загонять в него
весь длинный текст
...
Рейтинг: 0 / 0
25.08.2010, 21:12
    #36811668
kimtan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слишком длинный текст в Excel неполностью отображается в ячейке
MX-9kimtan,

2007 EXCEL работает
без ограничений по ширине и высоте ячейки
и количеству знаков
Это кто Вам такое сказал?
...
Рейтинг: 0 / 0
25.08.2010, 23:15
    #36811803
f
f
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слишком длинный текст в Excel неполностью отображается в ячейке
Очень логично для программистов таблицы печатать в Ворде, а длинные тексты в Экселе.
...
Рейтинг: 0 / 0
26.08.2010, 11:43
    #36812486
Djon Player
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слишком длинный текст в Excel неполностью отображается в ячейке
MX-9Djon Player,

придется на ячейку накладывать текстовое поле таких же размеров и загонять в него
весь длинный текстНу если есть куча времени, то конечно можно, только потом каждый раз надо будет менять размеры этого текстового поля и его содержимое (если конечно не автоматизировать этот процесс). А помимо этого надо отслеживать все ячейки, т.к. таких ячеек с длинным текстом может быть много и на каждую такую ячейку накладывать текст.
Теоретически это наверно можно автоматизировать макросами, но практичнее установить Excel 2007, либо патч (которого вроде как нет, поэтому установить не получиться).
А ещё лучше вообще избегать таких длинных текстов.
...
Рейтинг: 0 / 0
26.08.2010, 15:49
    #36813365
ПЕНСИОНЕРКА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слишком длинный текст в Excel неполностью отображается в ячейке
Djon Player,
Код: 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.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
Sub Макрос2()
Dim j, j1, j2, s1, s2
Reset
Open "c:\rab\00.doc" For Output As # 1 
Print # 1 , "<html>"
Print # 1 , "<body>"
Print # 1 , "<META content=""text/html; charset=windows-1251"" http-equiv=""Content-Type"">"
Print # 1 , "<h1>", Excel.ActiveWorkbook.Name; "</h1>"
Dim ws As Worksheet
Set ws = Excel.ActiveSheet
Print # 1 , "<h2>", ws.Name; "</h2>"
Print # 1 , "<table border=1 cellpadding=0 cellspacing=0 width=100%>"
Print # 1 , "<thead>"
j =  0 
j1 =  3  ''столбцов
Print # 1 , "<tr>"
Print # 1 , "<th>", "№№"
Do While j < j1
j = j +  1 

Print # 1 , "<th>", ws.Cells( 1 , j)
Loop
Print # 1 , "</thead>"
j =  0 
j2 =  100   ''строк
Do While j < j2
j = j +  1 
Print # 1 , "<tr valign=top>"
Print # 1 , "<td align=right>", j
Print # 1 , "<td align=left> ", nz(ws.Cells(j,  1 ), "-")
Print # 1 , "<td align=center>", nz(ws.Cells(j,  2 ), "-")
Print # 1 , "<td align=right>", nz(ws.Cells(j,  3 ), "-")
Loop
Print # 1 , "</table>"
Print # 1 , "</body>"
Print # 1 , "</html>"
Close # 1 
End Sub
Function nz(n1z, n2z)
If IsNull(n1z) Then
nz = n2z
Else
nz = n1z
End If
End Function


...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Слишком длинный текст в Excel неполностью отображается в ячейке / 25 сообщений из 31, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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