ich habe zwei makros in der selben prozedur. nun bin ich daran sie zusammenzuhängen.
dabei habe ich folgenden, sehr merkwürdigen fehler.
nun, um ganz vorne zu beginnen:
zuerst betätige ich dieses makro:
Sub test() 'dieses steht in modul 1
Call DBLager
Call UmsatzStrecke
End Sub
diese makros sehen so aus: 'stehen in modul 2
zuerst habe ich oben im Modul folgendes definiert
Dim wksQuelle As Worksheet
Dim wksZiel As Worksheet
Dim rngQuelle As Range
Dim lngZeile As Long
Dim lngAbZeile As Long
Dim lngBisZeile As Long
Dim lngSpalteZielA As Long
Dim wksQuelleSpalteAnfang As Long
Dim wksQuelleSpalteZiel As Long
Dim wbkQuelle As Workbook
Sub DBLager()
' subtrahiert spalte (A) mit (B) und gibt spalte C das Produkt wieder, falls werte Numerisch _
sind. Es werden keine Formeln ausgewiesen
Dim iRowL As Integer, iRow As Integer
Dim SpalteEins As Integer
Dim SpalteZwei As Integer
Dim SpalteDrei As Integer
SpalteEins = 12 ' Spalte A
SpalteZwei = 13 ' Spalte B
SpalteDrei = 14 ' Spalte C AusgabeSpalte
iRowL = Cells(Rows.Count, 1).End(xlUp).Row
For iRow = 1 To iRowL
If Application.Count(Range(Cells(iRow, 1), _
Cells(iRow, SpalteZwei))) > 0 And IsNumeric(Cells(iRow, SpalteZwei).Value) Then
Cells(iRow, SpalteDrei) = Cells(iRow, SpalteEins) - Cells(iRow, SpalteZwei)
End If
Next iRow
Range("A1").Select
End Sub
dies ist das darauffolgende Makro
Sub UmsatzStrecke()
lngSpalteZielA = 1 ' =A
lngAbZeile = 2
wksQuelleSpalteAnfang = 4
wksQuelleSpalteZiel = 7
' fragt ab ob file schon geöffnet ist
On Error Resume Next
Set wbkQuelle = Workbooks("SV_August_Strecke.xls")
On Error GoTo 0
If wksQuelle Is Nothing Then
Set wbkQuelle = Workbooks.Open("J:\FinanzControlling\Leitung\Kundenrentabilität\Projekt 2007\ _
_
_
Daten\Sales values\SV_August_Strecke.xls")
End If
Call allesInsZahlenformat
Set wksQuelle = Workbooks("SV_August_Strecke.xls").Worksheets("Tabelle1")
Set wksZiel = Workbooks("TOTAL_Kundenklassifikation_Test.xls").Worksheets("Kundenklassifikation" _
_
_
)
lngBisZeile = wksZiel.Cells(Rows.Count, lngSpalteZielA).End(xlUp).Row
'etc
'etc...
End Sub
nun zu meinem eigentlichen fall:
wenn ich nung Prozedur test() laufen lasse bleibt er mir hier stehen:
Set wksQuelle = Workbooks("SV_August_Strecke.xls").Worksheets("Tabelle1")
Aussage: "Laufzeitfehler '-2147352565 (800200b)
Es wurden keine daten zur analyse ausgewählt"
Das heisst, dass die erste Prozedur immer problemlos durchläuft. Dann wird er ja aufgefordert, das file SV_August_Strecke.xls zu öffnen. Dies ist aber NICHT geöffnet wenn ich diese Fehlermeldung kriegen.
Was mich aber am Meisten irritiert ist, dass wenn ich nach der Fehlermeldung oben auf "zurücksetzen" klicke und den curser in die Prozedur Test() setze und es nochmal laufen lasse, dann funktioniert es. (er öffnet auch das file). Sobald ich es nochmal mache. Das heisst. ich schliesse Das file SV_August_Strecke.xls wieder und möchte wie zubeginn das makro test starten. Erneut die gleiche meldung. nur nachdem ich im Debugger auf zurücksetzen drücke und es erneut starte geht es. Genau genommen geht die geschichte somit jedes 2. mal.
Zudem kann es auch nicht am Makro zuvor liegen. (das ich hier nicht abgebildet habe, denn dieses (allesInsZahlenformat) würde die Zellen des files SV_August_Strecke.xls in Zahlen umformen. Dies würd auch nicht durchgeführt. Das problem ist aber wie oben erwähnt, dass er dieses File gar nicht öffnet.
kann sich das jemand erklären?
Ich wäre sehr dankbar, wenn mir jemand helfen könnte.
ps: ich erwarte keine codeanpassungen. Ich dachte mir, dass ihr vielleicht aus eurer Erfahrung ja etwas mehr ahnung habt als ich und allenfalls etwas findet.
meine vba karriere ist nämlich erst 7 tage alt.