Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1868to1872
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
VBA Werte aus For-Schleife speichern
10.02.2022 09:07:19
Wagner
Hallo zusammen,
über eine Listbox kann ich über Funktion fmMultiSelectMulti mehrere id´s anwählen.
Ich nächsten Schritt sucht er mir in der folgenden For-Schleifer zu jeder dieser id welche in Spalte B stehen die dazu gewünschten Werte aus deren Zeile.
Bsp: er sucht die ID welche in der Listbox gewählt wurde in Spalte B:B. Wenn die ID gefunden wurde, gibt er mir den Wert zur id aus Spalte Y aus.
Ich möchte jeden Wert der gefunden wurde hintereinander abspeichern als Vektor oder ähnliches.
Ziel ist es eine Reihe an Werte zu erhalten und diese als Bar-Chart zu plotten.

Private Sub Auswerten_Click()
Dim Diagramm As Shape
lastRow = Sheets("Messübersicht").Cells(Rows.Count, 9).End(xlUp).Row
Dim text As String
Dim i As Integer
For i = 0 To Me.ListBox_MessID.ListCount - 1
If Me.ListBox_MessID.Selected(i) Then
text = text & Me.ListBox_MessID.List(i) & vbNewLine
Set foundRng = Sheets("Messübersicht").Range("B:B").Find(Me.ListBox_MessID.List(i))
MsgBox foundRng.Address
PMWERT = Sheets("Messübersicht").Cells(foundRng.Row, foundRng.Column + 22).Value
End If
Next i
End Sub

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Werte aus For-Schleife speichern
10.02.2022 09:23:17
Rudi
Hallo,
foundRng.Column + 22 ergibt aber 24 ="X", nicht Y.

Private Sub Auswerten_Click()
Dim text As String
Dim i As Integer
Dim PMWert
Dim lastRow As Long
Dim Diagramm As Shape
lastRow = Sheets("Messübersicht").Cells(Rows.Count, 9).End(xlUp).Row
With Me.ListBox_MessID
For i = 0 To .ListCount - 1
If .Selected(i) Then
text = text & .List(i) & vbNewLine
Set foundRng = Sheets("Messübersicht").Range("B:B").Find(.List(i))
MsgBox foundRng.Address
PMWert = PMWert & vbCrLf & foundRng.Offset(, 22).Value  'Werte sammeln
End If
Next i
End With
PMWert = Split(Mid(PMWert, 2), vbCrLf)  'AusgabeArray
'Sheets(1).Cells(1, 1).Resize(, UBound(PMWert) + 1) = PMWert 'in Blatt schreiben
End Sub
Gruß
Rudi
Anzeige
AW: VBA Werte aus For-Schleife speichern
10.02.2022 09:49:27
Wagner
Sry das war ein Tippfehler von mir. Danke für denn Hinweis
warum offen? owT
10.02.2022 11:32:35
Rudi
AW: warum offen? owT
10.02.2022 11:53:05
Wagner
Hallo,
Danke für deine Antwort. Leider ist die Variable PMWert nun ein String.
Kannst du mir hier helfen das umzuwandeln, da ich die Zahlen aus PMWert über einen Bar-Chart plotten möchte
Besten Dank!
AW: warum offen? owT
10.02.2022 12:10:44
Rudi
Hallo,
nö, ein Array.

PMWert = Split(Mid(PMWert, 2), vbCrLf)  'AusgabeArray
Das kannst du wie gezeigt in deine Tabelle schreiben.
Gruß
Rudi
AW: warum offen? owT
10.02.2022 12:57:21
Wagner
Gibt es eine Möglichkeit die Werte untereinander zu schreiben statt wie hier gezeigt nebeneinander?
Danke dir!
Anzeige
sicher gibt es die Möglichkeit
10.02.2022 13:35:46
Rudi
Sheets(1).Cells(1, 1).Resize(UBound(PMWert) + 1) = Application.Transpose(PMWert) 'in Blatt schreiben
VBA gut?
Gruß
Rudi
AW: sicher gibt es die Möglichkeit
10.02.2022 13:47:40
Wagner
Danke !

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige