Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Перенос числового значения из Textbox в Excel. Добавлено: 11.03.10 23:15  

Автор вопроса:  Gens
Всем привет!
Вопрос такой:
Как перенести числовое значение вида (123,45) из Textbox или Label в ячейку в Excel, так что бы значение имело формат числа.У меня получается так что Excel воспринимает это как текст и при построении Графика из этих значений выдаёт не верное решение.Пишет что число в этой ячейке отформатировано как текст.Пробовал ставить значение DataFormat = Number и значение ячеек тоже числовое но не помогло(((
Вот исходник:

VB6


Private Sub Command1_Click()
Dim nbem, nem, nemin, gen, N, G As Single
nebm = Val(Text1.Text)
nemin = Val(Text2.Text)
nemax = Val(Text3.Text)
gen = Val(Text4.Text)
i = 0.87
k = 1.13
q = 1.55
C = nebm * (i * (nemin / nemax) + k * (nemin / nemax) ^ 2 - (nemin / nemax) ^ 3)
N = 9557 * (C / nemin)
G = gen * (q - q * (nemin / 4200) + (nemin / 4200) ^ 2)
C = Round(C, 2)
N = Round(N, 2)
G = Round(G, 2)
Text5.Text = CStr(C)
Text6.Text = CStr(N)
Text7.Text = CStr(G)
Label1.Caption = CStr(C)
'Text8.Text = CStr(C)
'Text9.Text = CStr(C)
'Text10.Text = CStr(C)
''''''''''''''''''''''''''

End Sub

Private Sub Command2_Click()

Dim objExcel As Object
Dim objWorkBook As Object
Set objExcel = CreateObject("Excel.Application")
Set objWorkBook = objExcel.Workbooks.Open(App.Path & "\book")
objWorkBook.Worksheets(3).Cells(1, "B") = Label1.Caption
objWorkBook.Worksheets(3).Cells(2, "B") = Text6.Text
objWorkBook.Worksheets(3).Cells(3, "B") = Text7.Text
'SendKeys Chr(13)
objWorkBook.Close
objExcel.Quit
End Sub

Ответить

  Ответы Всего ответов: 4  

Номер ответа: 1
Автор ответа:
 UnDeAdZak



Вопросов: 80
Ответов: 476
 Профиль | | #1 Добавлено: 12.03.10 00:33
может быть это из-за того, что ты эти значения передаёш в формате string? поробуй:
  1.  
  2. objWorkBook.Worksheets(3).Cells(1, "B") = Val(Label1.Caption)
  3. objWorkBook.Worksheets(3).Cells(2, "B") = Val(Text6.Text)
  4. objWorkBook.Worksheets(3).Cells(3, "B") = Val(Text7.Text)

Ответить

Номер ответа: 2
Автор ответа:
 prostonewbie



Вопросов: 4
Ответов: 7
 Профиль | | #2 Добавлено: 12.03.10 01:43
можешь попробывать задавать формат после передачи значения ячейки, вот пример через селект

  1. Range("F22").Select
  2. Selection.NumberFormat = "0.00"

Ответить

Номер ответа: 3
Автор ответа:
 UnDeAdZak



Вопросов: 80
Ответов: 476
 Профиль | | #3 Добавлено: 12.03.10 20:31
prostonewbie а смысл, если он значения передаёт не как цифры, а как строки. Пусть сначало это исправит.

Ответить

Номер ответа: 4
Автор ответа:
 Gens



Вопросов: 5
Ответов: 3
 Профиль | | #4 Добавлено: 12.03.10 22:06
Спасибо!!
Решение получилось такое.
Может кому пригодится.

  1.  
  2. objWorkBook.Worksheets(3).Cells(1, "B") = CDbl(Label1.Caption)
  3. objWorkBook.Worksheets(3).Cells(2, "B") = CDbl(Text6.Text)
  4. objWorkBook.Worksheets(3).Cells(3, "B") =CDbl(Text7.Text)


Функция преобразовывает строковое значение в числовое с плавающей точкой.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам