Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Excel. запись значения из переменной String в ячейку / 15 сообщений из 15, страница 1 из 1
21.09.2007, 09:30
    #34816578
Excel. запись значения из переменной String в ячейку
Проблема в следующем, в процедуре имеем cells(1,1).Value = cTxt, где cTxt переменная типа String, если длина строки больше 255 символов то в ячейку попадают только первые 255, как сделать так чтобы все содержимое cTxt попало в ячейку?
...
Рейтинг: 0 / 0
21.09.2007, 09:40
    #34816601
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel. запись значения из переменной String в ячейку
Нет такого, всё должно попадать
...
Рейтинг: 0 / 0
21.09.2007, 09:49
    #34816634
Excel. запись значения из переменной String в ячейку
Я передаю значение в переменную через OLE2 из оракловых формсов, при этом если вывожу MsgBox то вижу весь текст, а в ячейку попадает только 255 символов
...
Рейтинг: 0 / 0
21.09.2007, 10:00
    #34816670
Excel. запись значения из переменной String в ячейку
Len дает 615, а в ячейке вижу 255 символов
...
Рейтинг: 0 / 0
21.09.2007, 10:02
    #34816680
Excel. запись значения из переменной String в ячейку
Причем Len(cells(1,1).Value) тоже 615 показывает, а на экране 255
...
Рейтинг: 0 / 0
21.09.2007, 10:08
    #34816699
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel. запись значения из переменной String в ячейку
Введите в ячейку A1 300 символов и запустите этот код
Код: plaintext
1.
2.
3.
4.
Sub test()
Dim x As String
x = Range("A1").Value
Range("A2").Value = x
End Sub
сколько получилось в ячейке A2 символов?

З.ы. А какая разница откуда переменная получила своё значение?
...
Рейтинг: 0 / 0
21.09.2007, 10:19
    #34816735
Excel. запись значения из переменной String в ячейку
Все нормально получилось, столько же сколько и в первой ячейке.

Я думал что режется при передаче из формсов, но msgbox и len непосредственно в процедуре дают полную строку, т.е в Excel попадает не обрезанная строка, а присвоение этой строки ячейке почему то обрезает ее, правда процедура тоже запускается через OLE2
...
Рейтинг: 0 / 0
21.09.2007, 10:25
    #34816762
Excel. запись значения из переменной String в ячейку
Deggasad
Вставил ваш код в свою процедуру, отрабатывает правильно а переденную строку все равно режет
...
Рейтинг: 0 / 0
21.09.2007, 10:32
    #34816792
Дадахан
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel. запись значения из переменной String в ячейку
Выложите файл excel с этой ячейкой
...
Рейтинг: 0 / 0
21.09.2007, 10:37
    #34816807
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel. запись значения из переменной String в ячейку
Меня немного смущает вот этот пост
Вопрос по ячейкеПричем Len(cells(1,1).Value) тоже 615 показывает, а на экране 255

Вопрос по ячейкеВставил ваш код в свою процедуру, отрабатывает правильно а переденную строку все равно режет
Deggasad сколько получилось в ячейке A2 символов?



Вопрос по ячейкеправда процедура тоже запускается через OLE2
Может в этом и есть причина
...
Рейтинг: 0 / 0
21.09.2007, 10:45
    #34816843
Excel. запись значения из переменной String в ячейку
Я немного наврал приведенная Deggasad процедура у меня тоже не срабатывает так как надо, правда фомрула длины строки на листе показывает 300, а в ячейке 255.

Похоже проблема в этом куске, при копировании листа в новую книгу, обрезаются все ячейки на листе, код не мой не подскажете что может вызвать такой эффект?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
    Dim CaptionWindow1 As String
    Dim CaptionWindow2 As String
    Dim CountSheet As Integer
    CaptionWindow1 = ActiveWindow.Caption
    Workbooks.Add
    CaptionWindow2 = ActiveWindow.Caption
    ActiveWindow.WindowState = xlMaximized
    Workbooks(CaptionWindow1).Worksheets("List1").Copy Before:=Workbooks(CaptionWindow2).Worksheets( 1 )
    Windows(CaptionWindow2).View = xlPageBreakPreview
    Windows(CaptionWindow2).View = xlNormalView
    CountSheet = Workbooks(CaptionWindow2).Worksheets.Count
    Application.DisplayAlerts = False
    For i = CountSheet To  2  Step - 1 
        Workbooks(CaptionWindow2).Worksheets(i).Delete
    Next
    Application.DisplayAlerts = True
    Workbooks(CaptionWindow2).Worksheets( 1 ).Name = "List1"
    Workbooks(CaptionWindow1).Close SaveChanges:=False
...
Рейтинг: 0 / 0
21.09.2007, 10:53
    #34816877
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel. запись значения из переменной String в ячейку
При копировании листа все ячейки обрезаются - это да, с этого и надо было начинать!
...
Рейтинг: 0 / 0
21.09.2007, 10:58
    #34816891
Excel. запись значения из переменной String в ячейку
DeggasadПри копировании листа все ячейки обрезаются - это да, с этого и надо было начинать!Спасибо!

я с ёкселем особо не работаю, не знал такой тонкости :(
...
Рейтинг: 0 / 0
21.09.2007, 11:01
    #34816912
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel. запись значения из переменной String в ячейку
Советы:
- не хранить в ячейке более 255 символов
- хранить описание в примечании
- разбивать на несколько ячеек
- не копировать лист, а например переносить.
- копировать лист и после копирования пробегаться по ячейкам старого листа если в ячейки более 255 символов, то её посторно копировать в новый лист как ячейку.
- сначала копировать лист потом заполнять значениями.
- ... много всяких ещё
...
Рейтинг: 0 / 0
21.09.2007, 13:17
    #34817567
Excel. запись значения из переменной String в ячейку
DeggasadСоветы:
- не хранить в ячейке более 255 символов
- хранить описание в примечании
- разбивать на несколько ячеек
- не копировать лист, а например переносить.
- копировать лист и после копирования пробегаться по ячейкам старого листа если в ячейки более 255 символов, то её посторно копировать в новый лист как ячейку.
- сначала копировать лист потом заполнять значениями.
- ... много всяких ещёСпасибо, остановился на варианте с копированием ячейки после копирования листа :)
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Excel. запись значения из переменной String в ячейку / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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