2013-11-08 8 views
1

Мне нужна помощь с помощью скрипта VBA. Наш учитель сказал нам использовать:Заполнение столбца из нескольких текстовых полей (VBA)

ListBox1.AddItem ComboBox1.Text And Val(TextBox4.text) And ListBox1.AddItem 
FormatCurrency(price, 2) 

Предполагается показать, как имя из ComboBox1, в количестве от TextBox4 и цены от TextBox5 (отформатированный в «ценовой» переменной), но это дает мне ошибку.

я решил попробовать использовать:

ListBox1.AddItem ComboBox1.Text 
ListBox1.AddItem Val(TextBox4.Text) 
ListBox1.AddItem FormatCurrency(price, 2) 

Но результат таков:

enter image description here

Где, как это должно быть один рядом с другим (мяукать 1 £ 3,50), а не один над другим.

+0

Нет вы не должны использовать '&' :) –

+0

Мой друг помог мне, вместо «И» Я должен был использовать '&' – Gacsam

+0

@Siddharth, он работает именно так.> – Gacsam

ответ

3

Вам нужно указать количество столбцов и ширину столбца списка, если вы хотите, чтобы он вел себя как многоколоночный список.

Попробуйте

Option Explicit 

Private Sub UserForm_Initialize() 
    ListBox1.ColumnCount = 3 
    ListBox1.ColumnWidths = "50;50" 
End Sub 

Private Sub CommandButton1_Click() 
    With ListBox1 
     .AddItem 
     .List(.ListCount - 1, 0) = ComboBox1.Text 
     .List(.ListCount - 1, 1) = Val(TextBox4.Text) 
     .List(.ListCount - 1, 2) = FormatCurrency(price, 2) 
    End With 
End Sub 

enter image description here

EDIT: В ответ от комментариев.

Причина, по которой вы не должны использовать &, состоит в том, что данные в столбцах не будут выровнены, если у вас несколько строк. Смотрите этот пример

Private Sub CommandButton1_Click() 
    With ListBox1 
     .AddItem "Sid" & " " & "Rout" & " " & "Sample" 
     .AddItem "Hello" & " " & "World" & " " & "Sample" 
     .AddItem "Another" & " " & "Example" & " " & "Sample" 
     .AddItem "Yet" & " " & "another" & " " & "Sample" 
    End With 
End Sub 

И это то, что вы получите

enter image description here

+0

Я извиняюсь за ответ через год, я не мог зарегистрироваться по какой-то причине и больше не нуждался в помощи. Причина, по которой у меня не возникло проблем с использованием «&», заключалась в том, что мой курс требовал очень простого кодирования VBA, поэтому использование «&» было в порядке. В любом случае, спасибо за помощь. – Gacsam

Смежные вопросы