Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Hilfe - wo liegt Fehler?

Hilfe - wo liegt Fehler?
04.04.2007 19:20:47
Wolfgang
Hallo,
ich versuche irgendwie, die untenstehenden Codes hinzubekommen, aber ohne Erfolg. Sie sollen bewirken, dass einerseits in bestimmten Tabellenblättern mit rechter Maustaste das (der?) Userform frmKontext aufgerufen, wird und in der Folge Daten aus dem Tabellenblatt "Gesamt" in das Userform eingespielt werden (Listenfeld), die in Spalte J "221C" enthalten -Spaltenbereich von A2:Q-; Dann soll der jeweils im Listenfeld markierte Datensatz (Zeile) ab der markierten Zelle im aktiven Tabellenblatt in dieses eingefügt werden. Wo liegt der Fehler? - Gibt es vielleicht noch andere Ansätze/Ideen, um das zu realisieren? - Danke schon jetzt allen für die Rückmeldung.
Gruß - Wolfgang
'**Tabellenblattcode

Private Sub Worksheet_BeforeRightClick( _
ByVal Target As Excel.Range, _
Cancel As Boolean)
Cancel = True
frmKontext.Show
End Sub

'***Code für Listenfeldbeschickung
Sub UserForm_Initialize()
Dim lngLz As Long, intColct As Integer, rngSichtbar As Range, vntArray() As Variant
With ThisWorkbook.Worksheets("Gesamt")
lngLz = .Range("A65536").End(xlUp).Row
intColct = .UsedRange.Columns.Count
.Columns("A:Q").AutoFilter Field:=10, Criteria1:="221c"
Set rngSichtbar = .Range("A2:Q" & lngLz).Cells.SpecialCells(xlCellTypeVisible)
.AutoFilterMode = False
End With
ReDim vntArray((vnt.Cells.Count / intColct), lngLz - 1)
vntArray = rngSichtbar
With frmKontext.lstKontext
.ColumnCount = intColct
.List = vntArray
.ListIndex = -1
End With
frmKontext.Show
End Sub

'**Code für Einfügen i. aktiven Tabellenblatt, ab markierte Zelle (nach rechts)
Option Explicit

Private Sub lstKontext_MouseUp( _
ByVal Button As Integer, _
ByVal Shift As Integer, _
ByVal X As Single, _
ByVal Y As Single)
Dim i As Integer
' Werte aus selektierter Listboxzeile in aktive Zelle u. rechts davon eintragen
For i = 0 To frmKontext.lstKontext.ColumnCount - 1
ActiveCell.Offset(0, i).Value = _
frmKontext.lstKontext.List(frmKontext.lstKontext.ListIndex, i)
Next
' Dialog beenden
Unload Me
End Sub

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hilfe - wo liegt Fehler?
05.04.2007 07:08:00
Gerd
Hallo Wolfgang,
nächster Versuch.
'***Code für Listenfeldbeschickung

Sub UserForm_Initialize()
Dim lngLz As Long, vntSichtbar As Variant, vntArray() As Variant
With ThisWorkbook.Worksheets("Gesamt")
lngLz = .Range("A65536").End(xlUp).Row
.Columns("A:Q").AutoFilter Field:=10, Criteria1:="221c"
vntSichtbar = .Range("A2:Q" & lngLz).Cells.SpecialCells(xlCellTypeVisible)
ReDim vntArray((Ubound(vntSichtbar,1) - 1, 16)
vntArray = rngSichtbar
.AutoFilterMode = False
End With
With frmKontext.lstKontext
.ColumnCount = 17
.List = vntArray
.ListIndex = -1
End With
frmKontext.Show
End Sub
Gruß
Gerd
Anzeige
AW: Hilfe - wo liegt Fehler?
05.04.2007 07:12:00
Gerd
Hi, wieder noch Fehlerteufelchen drin gewesen.

Sub UserForm_Initialize()
Dim lngLz As Long, vntSichtbar As Variant, vntArray() As Variant
With ThisWorkbook.Worksheets("Gesamt")
lngLz = .Range("A65536").End(xlUp).Row
.Columns("A:Q").AutoFilter Field:=10, Criteria1:="221c"
vntSichtbar = .Range("A2:Q" & lngLz).Cells.SpecialCells(xlCellTypeVisible)
ReDim vntArray((Ubound(vntSichtbar,1) - 1, 16)
vntArray = vntSichtbar
.AutoFilterMode = False
End With
With frmKontext.lstKontext
.ColumnCount = 17
.List = vntArray
.ListIndex = -1
End With
frmKontext.Show
End Sub
Gruß Gerd
Anzeige
AW: Hilfe - wo liegt Fehler?
05.04.2007 16:55:30
Wolfgang
Hallo Gerd,
erneut wieder herzlichen Dank für Deine Rückmeldung; bei mir erscheint nun ein Syntaxfehler in der Zeile
ReDim vntArray((Ubound(vntSichtbar,1) - 1, 16)
und diese Zeile bleibt in VBA auch direkt rot.
Müßte ich evtl. direkt in der Mappe noch etwas verändern? - Danke schon jetzt wieder für Deine Rückmeldung.
Gruß - Wolfgang
Anzeige
AW: Hilfe - wo liegt Fehler?
05.04.2007 18:12:20
Wolfgang
Hallo Gerd,
den Syntaxfehler konnte ich soweit beheben, da fehlte wohl noch die Klammer zu; Im Grunde rennt der Code nun auch soweit, allerdings zeigt er mir nur die erste Zeile der Tabelle Gesamt an (gefiltert müssten das nun eigentlich so ca. 100 sein). Wäre Dir sehr dankbar, wenn Du da noch 'reinschauen könntest. Ich teste schon einmal weiter.
Danke erneut und Gruß
Wolfgang
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige