Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.04.2024 14:18:05
28.04.2024 13:43:14
Anzeige
Archiv - Navigation
1832to1836
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
Problem Auswertung Zeile, zwei Spalten
27.05.2021 18:58:29
Hans
Hallo Programmierer,
habe ein Problem mit der Auswertung von Zeile in zwei Spalten. Stoße an Grenzen der Umsetzung.
Worksheet als Sammler von Daten und UserForm als Eingabe- und Auslesungsorgan
Solange nur eine Spalte ausgewertet werden soll, habe ich keine Problem – jetzt aber mit ZWEI !
Spalte A, Spalte B sollen ausgewertet werden. Gesucht als Beispiel ein Eintrag nach dem Schema
001 2018 > weiter Spalten mit Daten, deren Textboxen in der UserForm auftauchen
001 2019
001 2020 usw
Beispiel: 001 in Spalte A und 2020 in Spalte B sollen in die UserForm mit den Daten aus der gleichen Zeile
ausgegeben werden. Nachfolgender Code ohne Erfolg – BITTE UM EURE HILFE

Private Sub cmdNutzersuche_Click()
Dim s, j As String
Dim rng As Range
Dim WS4 As Worksheet
Dim UFW As UserForm
Dim rFind As Range
Dim suchBegriff As String, firstAddress As String
Set WS4 = Worksheets("Wohndaten")
Set UFW = frmWohn
s = frmWohn.tbNutzersuche.Value
j = frmWohn.tbVerbrJahr.Value
suchBegriff = sj
WS4.Activate
'On Error GoTo Fehler
'AUSLESEN DER VORHANDENEN Mieter und Verbrauch aus Jahr? AUS DER TABELLE
With Worksheets("Wohndaten").Cells(3, 1).Select
Set rFind = .Find(What:=suchBegriff, _
After:=Cells(3, 1), _
LookIn:=xlValues, _
lookat:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False, _
SearchFormat:=False)
If Not rFind Is Nothing Then
firstAddress = rFind.Address
Do
With Worksheets("Wohndaten")
If rFind.Value = .Cells(rFind.Row, 2).Value Then
MsgBox "was gefunden ? " & s & j
UFW.tbGW.Value = .Offset(0, 2).Value
UFW.tbNW.Value = .Offset(0, 3).Value
UFW.tbStimm.Value = .Offset(0, 4).Value
UFW.tbWä1.Value = .Offset(0, 5).Value
'usw
End If
End With
Set rFind = .FindNext(rFind)
Loop While rFind.Address  firstAddress
End If
End With
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Problem Auswertung Zeile, zwei Spalten
27.05.2021 20:32:10
ralf_b
versuchs mal damit. ohne Garantie, da du keine Beispieldatei mit der Userform geliefert hast.
eine Userformvariable definieren ist unnötig wenn der Code im Codemodul der Userform ist.
die beiden Werte s und j sind unnötig wenn du doch die Textboxen direkt nutzen kannst.
der Code hier soll so funktionieren. 1. Suche in Spalte 1. Wenn gefunden Vergleich des zweiten Wertes mit Spalte B. Wenn gefunden, dann Textboxen füllen und Ausstieg aus Schleife. Wenn nicht gefunden, den nächsten Wert 1 suchen.

Private Sub cmdNutzersuche_Click()
Dim rFind  As Range
Dim firstAddress As String
'AUSLESEN DER VORHANDENEN Mieter und Verbrauch aus Jahr? AUS DER TABELLE
With Worksheets("Wohndaten")
Set rFind = .Columns(1).Find(What:=tbNutzersuche.Value, _
After:=.Cells(3, 1), _
LookIn:=xlValues, _
lookat:=xlWhole)
If Not rFind Is Nothing Then
firstAddress = rFind.Address
Do
If rFind.Offset(, 1).Value = tbVerbrJahr.Value Then
MsgBox "was gefunden ? " & s & j
tbGW.Value = rFind.Offset(0, 2).Value
tbNW.Value = rFind.Offset(0, 3).Value
tbStimm.Value = rFind.Offset(0, 4).Value
tbWä1.Value = rFind.Offset(0, 5).Value
'usw
Exit Do
Else
Set rFind = .Columns(1).FindNext(rFind)
End If
Loop While rFind.Address  firstAddress
End If
End With
End Sub

Anzeige
AW: Problem Auswertung Zeile, zwei Spalten
28.05.2021 09:30:42
Hans
Hallo Ralf_B
vielen Dank für deine großartige Hilfe 5 von 5 Sterne - du hast einen alten Mann glücklich gemacht (bastle seit einer Woche an einer Lösung) Wieder was gelernt
Grüße Hans

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige