Not IsEmpty und IsEmpty Verknüpfen
01.08.2021 13:33:28
Daniel
ich bräuchte einmal hilfe.
Es geht um die Userform 2.
https://www.herber.de/bbs/user/147410.xlsm
Ich würde gerne beim Sub UserForm_Initialize Zwei Bedinungen verknüpfen. Nämlich das er mir die Zeile anzeigt, wo in Spalte 19 ein wert Steht und in Spalte 22 Kein wert Steht.
Hat da wer Eine Idee? So wie ich es gerade zeige gibt er mir einen Syntax Fehler aus.
Liebe Grüße
Daniel
Private Sub UserForm_Initialize()
Dim objCell As Range
Dim strFirsAddress As String
Dim AnzahlGes As Integer
With Box1
.AddItem "Grün"
.AddItem "Gelb"
.AddItem "Rot"
.AddItem "Weiß"
End With
AnzahlLeer = AnzahlZeilen(Worksheets("Tabelle16"), "S:S")
AnzahlGes = AnzahlZeilen(Worksheets("Tabelle16"), "A:A")
AnzahlLeer = AnzahlGes - AnzahlLeer
Label17.Caption = "Arbeitsvorrat " & AnzahlLeer
Set mobjCollection = New Collection
With Worksheets("Tabelle16")
With .Columns(19) 'hier auf Spalte 19 Bezogen
For Each objCell In .Cells
If Not IsEmpty(objCell.Value) Then And
With .Columns(22)
For Each objCell In .Cells
If IsEmpty(objCell.Value) Then
TextBox1.Text = objCell.Offset(0, -18).Value
TextBox2.Text = objCell.Offset(0, -17).Value
TextBox3.Text = objCell.Offset(0, 0).Value
TextBox15.Text = objCell.Offset(0, -12).Value
TextBox14.Text = objCell.Offset(0, 2).Value
TextBox7.Text = objCell.Offset(0, -4).Value
Box1.Text = objCell.Offset(0, 1).Value
mlngrow = objCell.Row
Call mobjCollection.Add(Item:=mlngrow)
Exit For
End If
Next
End With
With ComboBox1
.ColumnCount = 21
.ColumnWidths = "80;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0" 'Soviel 0en wie abgefragte Spalten
End With
Set objCell = .Columns(20).Find(What:="Weiß", After:=.Cells(.Rows.Count, 20), _
LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=True) 'hier auf Spalte 20 bezogen
If Not objCell Is Nothing Then
strFirsAddress = objCell.Address
Do
With ComboBox1
.AddItem objCell.Offset(0, -19).Value
.List(.ListCount - 1, 1) = objCell.Offset(0, -18).Value
.List(.ListCount - 1, 2) = objCell.Offset(0, 0).Value
.List(.ListCount - 1, 3) = objCell.Offset(0, -13).Value
.List(.ListCount - 1, 4) = objCell.Offset(0, 1).Value
.List(.ListCount - 1, 5) = objCell.Offset(0, -5).Value
End With
Set objCell = .Columns(20).FindNext(After:=objCell)
Loop Until objCell.Address = strFirsAddress
Set objCell = Nothing
End If
End With
End Sub