Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1448to1452
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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

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

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

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

311 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige