Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Auswahlliste - nur jede zweite Spalte gewünscht

Auswahlliste - nur jede zweite Spalte gewünscht
02.10.2015 12:48:59
Rainer
Hallo,
habe eine Userform, welche bislang eine Auswahl brachte, wenn in jeder Spalte entsprechende Informationen standen.
Nun habe ich die Auswertung je Produkt auf zwei Spalten erweitert und bekomme leider nicht das gewünschte Ergebnis, wenn ich die Listfunktion benutze.
Klicke ich das erste Produkt klappt es noch.
Wähle ich das zweite oder mehrere an, klappt es nicht korrekt.
Dim iLst As Integer
For iLst = 0 To lstProdukte.ListCount - 1
If lstProdukte.Selected(iLst) Then
Columns(iLst + 13).Hidden = False
Columns(iLst + 14).Hidden = False
End If
iLst = iLst
Next iLst
Fusszeile
Unload Me

Das erste auszuwählende Produkt hat Spalte M+N, das zweite O+P u.s.w..
Die bis dato abgeänderte Tabelle: https://www.herber.de/bbs/user/100551.xls
Gruß Rainer

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Wenn jede zweite Spalte, dann x2
02.10.2015 12:57:20
Daniel
Hi
wenn immer zwei Spalten zu einem Listeneintrag gehören, dann musst du iLst mit 2 multiplizeren um auf den dazugehörenden Spaltenwert zu kommen:
 Columns(13 + 2 * iLst).Hidden = False
Columns(14 + 2 * iLst).Hidden = False
und da ich zusammenhängende Zellbereiche gerne im Block bearbeite, kann man hier eine Zeile sparen:
 Columns(13 + 2 * iLst).Resize(, 2).Hidden = False
Gruß Daniel

Anzeige
AW: Wenn jede zweite Spalte, dann x2
02.10.2015 13:34:48
Rainer
Hallo Daniel,
einwandfrei, Danke
Rainer

AW: Wenn jede zweite Spalte, dann x2
02.10.2015 14:53:41
Rainer
Hallo,
muss nochmal auf meine geänderte Tabelle zurückkommen, da ich die Initialisierung in der zweiten Auswahlbox (frmTOP) auch nicht geändert bekomme.
   Dim iRow As Integer, iColL As Integer, iMax As Integer, iCol As Integer
iColL = GetLastColumn()
iMax = WorksheetFunction.Match("Auswertung", Columns(3), 0)
Columns("IV").ClearContents
Range(Cells(1, 7), Cells(1, iColL)).EntireColumn.Hidden = True
Range(Cells(iMax, 7), Cells(iMax, iColL)).Copy
Range("IV1").PasteSpecial xlPasteValues, , , True
Range("IV1").CurrentRegion.Sort key1:=Range("IV1"), order1:=xlDescending, Header:=xlNo
For iRow = 1 To WorksheetFunction.CountA(Columns("IV"))
If Cells(iRow, 256).Value  0 Then
If WorksheetFunction.CountIf(Range(Cells(WorksheetFunction.CountA(Columns(256)), 256),  _
Cells(iRow, 256)), Cells(iRow, 256).Value) 

Im Einzelschritt wird bereits

iMax = WorksheetFunction.Match("Auswertung", Columns(3), 0)
reklamiert.
Im Namensmanager habe ich bereits die Zuordnung von "Auswertung" auf I11 vorgenommen.
Gruß Rainer

Anzeige
AW: Wenn jede zweite Spalte, dann x2
02.10.2015 15:17:31
Daniel
Hi
hier suchst du in der Spalte C nach dem Text "Auswertung"
iMax = WorksheetFunction.Match("Auswertung", Columns(3), 0)

wenn du nach dem Text suchen willst, welcher in der Zelle steht, die mit dem Namen "Auswertung" verknüpft ist, dann so
iMax = WorksheetFunction.Match(Range("Auswertung"), Columns(3), 0)
Gruß Daniel

Anzeige
AW: Wenn jede zweite Spalte, dann x2
02.10.2015 15:28:54
Rainer
Hallo Daniel,
danke für die schnelle Antwort; muss nun leider weg aber mit Deiner Erläuterung sollte ich nun klarkommen.
Gruß Rainer
;

Forumthreads zu verwandten Themen

Anzeige
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