Din orizontal in vertical
Din orizontal in vertical
Buna ziua,
V-as ruga sa ma ajutati cu un cod VBA care sa preia datele din 2 celule (aici datele sunt dispuse separate prin virgula) si sa le puna intr-un Listbox dintr-un userform pe 2 coloane.
In A1 avem a, b, c, d, e, f
in B1 avem 10, 25, 100, 45, 36, 18
in Listbox1 as dori sa arate asa :
a____10
b____25
c____100
d____45
e____36
f____18
evident fara liniutele dintre coloane.
Multumesc anticipat.
V-as ruga sa ma ajutati cu un cod VBA care sa preia datele din 2 celule (aici datele sunt dispuse separate prin virgula) si sa le puna intr-un Listbox dintr-un userform pe 2 coloane.
In A1 avem a, b, c, d, e, f
in B1 avem 10, 25, 100, 45, 36, 18
in Listbox1 as dori sa arate asa :
a____10
b____25
c____100
d____45
e____36
f____18
evident fara liniutele dintre coloane.
Multumesc anticipat.
Re: Din orizontal in vertical
Cod: Selectaţi tot
Private Sub UserForm_Activate()
Dim cell1 As Range, cell2 As Range
Dim n1 As Integer, n2 As Integer, nMax As Integer, i As Integer
Dim s1() As String, s2() As String
'===================================================
'adaptati adresele si denumirea listbox-ului (ListBox1)
Set cell1 = ThisWorkbook.Sheets("Sheet2").Range("A1")
Set cell2 = ThisWorkbook.Sheets("Sheet2").Range("B1")
'===================================================
s1 = Split(cell1.Value, ",")
s2 = Split(cell2.Value, ",")
n1 = UBound(s1)
n2 = UBound(s2)
nMax = n1: If n2 > nMax Then nMax = n2
With ListBox1
For i = 0 To nMax
If i <= n1 Then
.AddItem Trim(s1(i))
Else
.AddItem ""
End If
If i <= n2 Then .List(.ListCount - 1, 1) = Trim(s2(i))
Next i
End With
End Sub
Am invatat sa inotam in apa, ca pestii
Am invatat sa zburam in aer, ca pasarile
A ramas doar sa invatam sa traim pe Pamant, ca Oamenii.
Am invatat sa zburam in aer, ca pasarile
A ramas doar sa invatam sa traim pe Pamant, ca Oamenii.
-
- Mesaje: 437
- Membru din: Mar Dec 11, 2018 8:54 pm
Re: Din orizontal in vertical
O alta varianta...
In Userform
Evident inlocuieste ListBox1 cu denumirea data ListBox-ului
Sau o varianta cu redimensionare..
In Userform
Cod: Selectaţi tot
Private Sub UserForm_Initialize()
ListBox1.ColumnCount = 2
ListBox1.List = Evaluate("TRANSPOSE({""" & Replace([A1] & """;""" & [B1], ", ", """,""") & """})")
End Sub
Sau o varianta cu redimensionare..
Cod: Selectaţi tot
Private Sub UserForm_Initialize()
Dim Ka, Kb, K As Long
Ka = Split([A1], ", ")
Kb = Split([B1], ", ")
ReDim Kr(1 To UBound(Ka) + 1, 1 To 2)
For K = 0 To UBound(Ka)
Kr(K + 1, 1) = Ka(K)
Kr(K + 1, 2) = Kb(K)
Next K
With ListBox1
.ColumnCount = 2
.List = Kr
End With
End Sub
藍
"I fear the day that technology will surpass our human interaction. The world will have a generation of idiots."
Albert Einstein
"I fear the day that technology will surpass our human interaction. The world will have a generation of idiots."
Albert Einstein
Re: Din orizontal in vertical
Buna seara,
Nu m-am asteptat sa-mi raspunda cineva, atat de repede. Va multumesc din suflet.
Am verificat toate solutiile oferite. Extraordinar in cate moduri se poate rezolva daca stii VBA.
Cata diferenta intre coduri, si fac acelasi lucru. Cum e posibil?
Prima varianta a dl. Indigo-ONE este ceva deosebit pentru mine (si pentru colegi ).
Ca sa nu deranjam ceva aici pe forum l-as ruga pe dl. Indigo-ONE -daca doreste- sa imi explice printr-un mail privat, cum functioneaza codurile si care este diferenta dintre ele.
Va multumesc.
Nu m-am asteptat sa-mi raspunda cineva, atat de repede. Va multumesc din suflet.
Am verificat toate solutiile oferite. Extraordinar in cate moduri se poate rezolva daca stii VBA.
Cata diferenta intre coduri, si fac acelasi lucru. Cum e posibil?
Prima varianta a dl. Indigo-ONE este ceva deosebit pentru mine (si pentru colegi ).
Ca sa nu deranjam ceva aici pe forum l-as ruga pe dl. Indigo-ONE -daca doreste- sa imi explice printr-un mail privat, cum functioneaza codurile si care este diferenta dintre ele.
Va multumesc.