Array Überprüfung
07.08.2019 12:41:49
Marvin
Ich bin es nochmal...
Ich brauche mal wieder eure Hilfe weil ich einfach nicht weiterkomme.
Ich habe ein Makro geschrieben, dass den Namen der Worksheets mit einem Namen in einer bestimmten Zelle der jeweiligen Sheets vergleicht. Alle die Übereinstimmen werden in ein Array1 geschrieben mit dem Status False (nicht ausgewählt)
Gleichzeitig möchte ich, dass aber überprüft wird, ob einer dieser Namen schon in einer bestimmten Liste steht. Sobald nämlich ein Name in der Liste (eine bestimmte Range) steht wird der Status auf True (ausgewählt) gesetzt. In meinem Array 1 soll also nur die Namen beinhalten die auf den jeweiligen Sheets den gleichen Namen haben wie in einer Zelle und den Status False besitzen.
Am Ende möchte ich den Inhalt aus Árray1 in Array2 kopieren/verschieben.
Hier mein Code bisher:
Public Function Projectarray() As Projecttyp()
Dim Sheetname As String
Dim Cellname As String
Dim i As Long, j As Integer
Dim CompareSheetCell As Integer
Dim CompareStatus As Integer
'Compare Name from all Worksheets with Cellname in defined Cell'
For i = 1 To ThisWorkbook.Worksheets.Count
Sheetname = Sheets(i).Name
Cellname = Sheets(i).Range("D2")
CompareSheetCell = InStr(1, Cellname, Sheetname, vbTextCompare)
'All Names from Worksheets which are like the Name in the defined Cell are listed in _
array wsName()'
If CompareSheetCell > 0 Then
j = j + 1
ReDim Preserve WSArray(1 To j)
With WSArray(j)
.Name = Sheets(i).Name
.Status = False
End With
End If
Next i
'Return the Values from wsName'
Projectarray = WSArray
End Function