Umstieg 32bit auf 64bit Problem
12.01.2021 16:12:18
Karl
ich habe seit 2017 folgenden Code in Verwendung der bis jetzt super funktioniert hat. Jetzt mit neuem Office bekomme ich einen Laufzeitfehler '40036' und es werden folgende Zeilen beim Debuggen markiert:
If Worksheets(k).Name "BOM" & "QW" Then
lz = Worksheets(k).Cells(Rows.Count, 2).End(xlUp).Row
Liegt das am umstieg von 32Bit auf 64Bit und fehlt jetzt dadurch eine Definition? Via Internet Recherche habe ich leider zu viele unterschiedliche Informationen gefunden.
Mit besten Dank im Voraus,
Karl
Option Explicit '1.3.2017 Herber Forum Piet
Dim lz As Long
Sub Button_auflisten()
Dim SuchName As String, z As Integer
Dim AC As Object, k As Integer, Zahl As Integer
Dim DES As Object
Dim LRow As Integer
Dim answer As Integer
Zahl = ThisWorkbook.Worksheets.Count
With Worksheets("BOM")
.Range("B5:C34").ClearContents
.Range("F5:G34").ClearContents
.Range("I5:I34").ClearContents
SuchName = .Range("A3").Value
Application.ScreenUpdating = False
Application.DisplayStatusBar = False
Application.Calculation = xlManual
newstart:
If SuchName = "" Then
SuchName = InputBox("Please put QW number in", "Missing QW number", , 200, 500)
Range("A3") = SuchName
End If
If SuchName = "" Then
answer = MsgBox("As long as you don´t write an QW into A3, the program won´t start!" & _
vbCrLf & "Do you want to start over again?", vbYesNo + vbQuestion, "Missing QW number")
If answer = vbYes Then
GoTo newstart
Else
GoTo ueberspringen
End If
End If
z = 5 '1. Zeile in "Zusammen"
'Schleife für alle Blaetter
For k = 1 To Zahl
If Worksheets(k).Name "BOM" & "QW" Then
lz = Worksheets(k).Cells(Rows.Count, 2).End(xlUp).Row
For Each AC In Worksheets(k).Range("C3:C" & lz)
If AC.Cells(1, 0) = SuchName Then
.Cells(z, 2) = Worksheets(k).Name
.Cells(z, 3) = AC.Cells
.Cells(z, 6) = AC.Offset(, 5).Value
.Cells(z, 7) = AC.Offset(, 6).Value
.Cells(z, 9) = AC.Offset(, 2).Value
z = z + 1
If z >= 35 Then
LRow = z
Rows(LRow).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Range("A34:P34").Copy
Range("A" & z, "P" & z).PasteSpecial Paste:=xlPasteFormats
Range("E" & 34, "P" & 34).Copy
Range("E" & z, "P" & z).PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
'Range("J" & z - 1, "K" & z - 1).Copy
'Range("J" & z, "K" & z).PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
'Application.CutCopyMode = False
End If
End If
Next AC
End If
Next k
Application.ScreenUpdating = True
Application.DisplayStatusBar = True
Application.Calculation = xlAutomatic
If z >= 35 Then
Rows(LRow).Delete Shift:=xlUp
End If
Call Blattspeichern
If z >= 35 Then
Workbooks("Master_BOM.xlsm").Activate 'Geöffnete Datei Aktiv setzen
Worksheets("BOM_Option Release").Activate
Rows(35 & ":" & z - 1).Delete
End If
ueberspringen:
End With
End Sub