Print side | Luk vindue

Gem valgte poster i listbox

Udskrevet fra: Dansk Regneark Forum
Kategori: Hjælp til regneark.
Forum navn: Makro og VBA
Forum beskrivelse: Hjælp til Makroer og VBA-programmering
Web-adresse: https://forum.excel-regneark.dk/forum_posts.asp?TID=4850
Udskrevet den: 04.Dec.2024 kl. 19:49


Emne: Gem valgte poster i listbox
Besked fra: peppe
Emne: Gem valgte poster i listbox
Posteringsdato: 02.Jan.2023 kl. 21:19
Hej alle skape VBA-hjerner

Jeg har en projektmappe med en række regneark og lidt VBA kode bagved.
Jeg håber I vil kunne hjælpe med lidt kode til en brugerformular eller snarere en listbox.
Som note kan jeg nævne at jeg er novice når det kommer til VBA, så håber I vil være overbærende.

Helt kort, så har jeg en listbox ("ListBox2") med tre kolonner, der henter nogle data fra et ark.
Det er en MultiSelectMulti listbox med mulighed for at vælge et antal linjer.
Opgaven er så, at gemme de valgte linjer, når der trykkes på en knap.
Her kommer problemet...

Run-time error '1004': Application-defined or object-defined error

Koden bag knappen kan du se længere nede og jeg kan nævne, at 
jeg har lavet denne erklæring (Option Explicit):
Public i As Long

Fejlen opstår i den første linje der starter med "ThisWorkbook"
Kan I gennemskue, hvor det går galt?

Private Sub Selekt_save_Click()

For i = 1 To Me.ListBox2.ListCount - 1

If Me.ListBox2.Selected(i) = True Then

ThisWorkbook.Worksheets("Trylleri").Range("Z1000").End(x1Up).Offset(1, 0) = Me.ListBox2.List(i, 0)
ThisWorkbook.Worksheets("Trylleri").Range("Z1000").End(x1Up).Offset(0, 1) = Me.ListBox2.List(i, 1)
ThisWorkbook.Worksheets("Trylleri").Range("Z1000").End(x1Up).Offset(0, 2) = Me.ListBox2.List(i, 2)

End If

Me.ListBox2.Selected(i) = False

Next i

End Sub

Jeg ville gerne sende et eksempel af projektmappen ind i sagen, men 
der er både billeder og indlejret personoplysninger, så
jeg håber I kan gennemskue fejlen uden :-)

På forhånd tak for hjælpen
PS. Jeg bruger Microsoft Office 365


-------------
Med venlig hilsen

\\Peppe



Svar:
Besked fra: peppe
Posteringsdato: 04.Jan.2023 kl. 01:12
Hej igen

Det ser ud til jeg fandt fejlen...
Der er forskel på End(x1Up) og End(xlUp)

I VBA kan man dårligt se forskellen på bogstavet l og tallet 1
Det er lidt tydeligere med den skrifttype der bruges i dette forum :-)



-------------
Med venlig hilsen

\\Peppe



Print side | Luk vindue