Laufzeitfehler 13

20/03/2010 - 15:11 von Daniel Frei | Report spam
Hallo zusammen

Hab da eine Datei mir mehreren Tabellen. Im Sheet Mitarbeiter sind die Namen
der MA in Spalte A und B geschrieben. Im Sheet Erfassen habe ich nun die
Spalte A und B zusammengenommen.
(=Mitarbeiterliste!B9& " "&Mitarbeiterliste!C9) (geht nach unten weiter bis
Zeile 43)
Im Code habe ich nun folgendes gemacht:
MA1 = Cells(4, 29).Value
MA2 = Cells(5, 29).Value (weiter bis MA40)
.
.
MA20 = Cells(23, 29).Value

bei MA20 und MA40 bringt er mir aber nun den obigen Fehler, obwohl alle
Zellen in der Mitarbeiterliste, sowie im Erfassen gleich Formatiert sind.
Woran liegt das Problem?
Wenn ich in der Mitarbeiterliste den MA20 und MA40 leer lasse làuft der Code
ohne Fehler durch ?!?

Danke für eure Hilfe

Gruss Daniel

*********************************
Nur wer fragt kommt im Leben weiter.
Ein kluger Mann macht nicht alle Fehler selbst. Er gibt auch anderen eine
Chance. --
"Winston Churchill"
_______________________
Win 7
Office 2007 Enterprise
 

Lesen sie die antworten

#1 Alexander Wolff
20/03/2010 - 15:27 | Warnen spam
Daniel Frei wrote:
Hallo zusammen

Hab da eine Datei mir mehreren Tabellen. Im Sheet Mitarbeiter sind
die Namen der MA in Spalte A und B geschrieben. Im Sheet Erfassen
habe ich nun die Spalte A und B zusammengenommen.
(=Mitarbeiterliste!B9& " "&Mitarbeiterliste!C9) (geht nach unten
weiter bis Zeile 43)
Im Code habe ich nun folgendes gemacht:
MA1 = Cells(4, 29).Value
MA2 = Cells(5, 29).Value (weiter bis MA40)
.
.
MA20 = Cells(23, 29).Value

bei MA20 und MA40 bringt er mir aber nun den obigen Fehler, obwohl
alle Zellen in der Mitarbeiterliste, sowie im Erfassen gleich
Formatiert sind. Woran liegt das Problem?
Wenn ich in der Mitarbeiterliste den MA20 und MA40 leer lasse làuft
der Code ohne Fehler durch ?!?



Was sind denn MA1 bis MA40?

Etwa Variablen? (Was machst Du dann mit denen in VBA?)

Wenn ja (einzelne Variablen): Das ist "Coding Horror"! Du wirst gezwungen,
jede Variable einzeln anzusprechen.

Eine Variable muss hier indexiert/indiziert sein:

Dim MA(40)
For i = 1 to 40
MA(i) =
Next

Jedoch scheint mir bei Dir noch sinnvoller zu sein:

Worksheets("Erfassen").Range("C:C").Value = _
Worksheets("Mitarbei").Range("AC:AC").Value

oder halt so, wie Du es brauchst.
Moin+Gruss Alexander - MVP for MS Excel - www.xxcl.de - mso2000sp3 --7-2

Ähnliche fragen