Vnos besedila iz ListBox-a v določeno celico

Pomoč pri izdelavi makrov
Odgovori
hopla1234
Prispevkov: 5
Pridružen: To Mar 01, 2016 8:10 pm

Vnos besedila iz ListBox-a v določeno celico

Odgovor Napisal/-a hopla1234 »

Pozdravljen,
naprošam za pomoč kako v spodnjem VBA ukazu natančno definirati točno lokacijo prvega vnosa (želena začetna celica vnosa je A40, končna pa A46). Na spletu sem zasledil rešitev za horizontalni zapis (colums), za vertikalni (rows) pa ne.

VBA koda je sledeča:

Private Sub CommandButton2_Click()
Dim lItem As Long
For lItem = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(lItem) = True Then
Sheet2.Range("A50").End(xlUp)(2, 1) = ListBox1.List(lItem)
ListBox1.Selected(lItem) = False
End If
Next
End Sub

Lep pozdrav in hvala.
admin
Site Admin
Prispevkov: 3687
Pridružen: Sr Jul 20, 2005 10:06 pm

Re: Vnos besedila iz ListBox-a v določeno celico

Odgovor Napisal/-a admin »

Pozdravljeni,

V zanki se morate pač premikati po vrsticah in ne kolonah:

Koda: Izberi vse

Private Sub CommandButton2_Click()
  Dim lItem As Long
  Dim vrstica As Integer: vrstica = 0
  For lItem = 0 To ListBox1.ListCount - 1
    If ListBox1.Selected(lItem) = True Then
      Sheet2.Range("A40").Offset(vrstica, 0) = ListBox1.List(lItem)
      ListBox1.Selected(lItem) = False
      vrstica = vrstica + 1
    End If
  Next
End Sub
lp,
Matjaž Prtenjak
Administrator
hopla1234
Prispevkov: 5
Pridružen: To Mar 01, 2016 8:10 pm

Re: Vnos besedila iz ListBox-a v določeno celico

Odgovor Napisal/-a hopla1234 »

Hvala za pomoč. Deluje.
hopla1234
Prispevkov: 5
Pridružen: To Mar 01, 2016 8:10 pm

Re: Vnos besedila iz ListBox-a v določeno celico

Odgovor Napisal/-a hopla1234 »

Mi lahko prosim pomagate še pri tej zadevi in sicer: ko zaženem VBA ukaz mi vnese izbrano besedilo iz ListBox-a a mi izbriše že predhodno izpolnjene celice in sicer od celice A46 naprej. Kako bi rešil to zadevo, da ob izboru in s tem prepisu iz ListBox-a briše celice le od A40 do A46.

VBA koda
Private Sub btnDodajS_Click()
Application.ScreenUpdating = False
Dim i As Integer
Dim lastrow As Long

Range("A40:i" & Rows.Count).ClearContents
i = 40

With lstStoritve
For intItem = 0 To .ListCount - 1
If .Selected(intItem) = True Then
Cells(i, 1).Value = .Column(0, intItem)
i = i + 1
End If
Next intItem

End With

lastrow = Range("A" & Rows.Count).End(xlUp).Row

Application.ScreenUpdating = True

End Sub

Še enkrat hvala.
admin
Site Admin
Prispevkov: 3687
Pridružen: Sr Jul 20, 2005 10:06 pm

Re: Vnos besedila iz ListBox-a v določeno celico

Odgovor Napisal/-a admin »

Pozdravljeni,

popraviti morate pač vrstico, kjer se vprašate ali podatek zapišete ali ne in sicer;

Namesto:

Koda: Izberi vse

If .Selected(intItem) = True Then
Morate pač zapsati

Koda: Izberi vse

If .Selected(intItem) = True and i < 47 Then
PS: Prosim vas, da za programsko kodo uporabite opcijo Code
lp,
Matjaž Prtenjak
Administrator
hopla1234
Prispevkov: 5
Pridružen: To Mar 01, 2016 8:10 pm

Re: Vnos besedila iz ListBox-a v določeno celico

Odgovor Napisal/-a hopla1234 »

Pozdravljeni, obveščam Vas, da mi pri zadnji varianti mi še vedno izbriše že predhodno izpolnjene celice in sicer od celice A47 naprej. Kaj storiti?

Zahvaljujem se vam za vaš trud.
admin
Site Admin
Prispevkov: 3687
Pridružen: Sr Jul 20, 2005 10:06 pm

Re: Vnos besedila iz ListBox-a v določeno celico

Odgovor Napisal/-a admin »

hopla1234 napisal/-a:Pozdravljeni, obveščam Vas, da mi pri zadnji varianti mi še vedno izbriše že predhodno izpolnjene celice in sicer od celice A47 naprej.
:) "Moja zadnja varianta" nima s tem nobene zveze... Na vrhu makra vi pač pobrišete celotno kolono od A40 dalje_

Koda: Izberi vse

Range("A40:i" & Rows.Count).ClearContents
Če izbrišete to vrstico, potem pač ne bo "brisanja celic od A47 dalje".
lp,
Matjaž Prtenjak
Administrator
hopla1234
Prispevkov: 5
Pridružen: To Mar 01, 2016 8:10 pm

Re: Vnos besedila iz ListBox-a v določeno celico

Odgovor Napisal/-a hopla1234 »

Hvala. Dela.
Odgovori