Hallo, ich habe ein Problem!
Ich habe in Excel VBA ein Problem.
Ich habe es geschaft ein Tabellenblatt im Monat mit der selben Zeichenlänge anzusprechen.
Schaffe es aber nicht, mit einer Arrayvariable zb (SuchArray10) mehrere Tabellenblätter im Monat anzuwählen und in eine Variable zu schreiben.
Bitte um Hilfe
Vielen lieben Dank
Hier ein Teil vom Code:
KBexistiert = False
For Each I In ActiveWorkbook.Sheets
If Len(I.Name) = 11 And Mid(I.Name, 3, 1) = "_" And IsNumeric(Left(I.Name, 2)) Then
If Right(I.Name, 8) >= erstesDatum And Right(I.Name, 8) <= letztesDatum Then
I.Select
KBexistiert = True
Exit For
End If
End If
Next
KontrollblattJetzt = ActiveSheet.Name
If KBexistiert = True Then
FondsUnterschied = (Right(Cells(8, 3), 1))
FeldKorr01 = Cells(17, 6)
FeldKorr02 = Cells(21, 6)
FeldKorr034 = Cells(26, 6)
FeldKorr042 = Cells(31, 6)
FeldKorr052 = Cells(33, 6)
FeldKorr036 = Cells(34, 6)
FeldKorr037 = Cells(36, 6)
ActiveSheet.Unprotect Password:=Passw
'Tabellenblatt sperren
With ActiveSheet
.UsedRange.Cells.Locked = True
.Protect (Passw)
End With
'wb.Close savechanges:=True
Workbooks(Datei).Activate
x = "0" & x + 1
KM = "Korrektur Muster"
BlattGefunden = False
For Each Blatt In ActiveWorkbook.Sheets
If Left(Blatt.Name, 5) = "Korr_" And Mid(Blatt.Name, 6, 2) = tblVM Then
BlattGefunden = True
Blatt.Activate
Exit For
End If
Next
If BlattGefunden = False Then
ActiveWorkbook.Sheets(KM).Activate
Sheets(KM).Copy Before:=Sheets(KM)
ActiveSheet.Name = "Korr_" & tblVM & "_lfd._" & x
End If
Select Case FondsUnterschied
Case "M"
Set MeinBereich = Range("A3:A11")
Case "P"
Set MeinBereich = Range("A12:A33")
Case "K"
Set MeinBereich = Range("A40:A55")
Case "R"
Set MeinBereich = Range("A63:A68")
'Case Else
End Select
Zeile = 1
Do Until Right(MeinBereich.Cells(Zeile, 1), 4) = Ansatz
Zeile = Zeile + 1
Loop
MeinBereich.Cells(Zeile, 1).Select
'Richtigen Bereich in anderes Excel einfügen
Select Case FondsUnterschied
Case "M"
MeinBereich.Cells(Zeile, 2).Value = FeldKorr01
MeinBereich.Cells(Zeile, 3).Value = FeldKorr02
MeinBereich.Cells(Zeile, 6).Value = FeldKorr034
MeinBereich.Cells(Zeile, 7).Value = FeldKorr036
MeinBereich.Cells(Zeile, 8).Value = FeldKorr037
Case "P"
MeinBereich.Cells(Zeile, 2).Value = FeldKorr01
MeinBereich.Cells(Zeile, 3).Value = FeldKorr02
MeinBereich.Cells(Zeile, 6).Value = FeldKorr034
MeinBereich.Cells(Zeile, 7).Value = FeldKorr036
MeinBereich.Cells(Zeile, 8).Value = FeldKorr037
Case "K"
MeinBereich.Cells(Zeile, 2).Value = FeldKorr01
MeinBereich.Cells(Zeile, 3).Value = FeldKorr02
MeinBereich.Cells(Zeile, 6).Value = FeldKorr042
Case "R"
MeinBereich.Cells(Zeile, 2).Value = FeldKorr01
MeinBereich.Cells(Zeile, 3).Value = FeldKorr02
MeinBereich.Cells(Zeile, 6).Value = FeldKorr052
'Case Else
End Select
End If
Set MeinBereich = Nothing
|