EXCEL-VBA Frage

26/05/2008 - 00:13 von Kundro | Report spam
Hallo NG ,
ich brauche mal Hilfe zu einem Makro , das ich geschrieben habe.
Erklàrung und Fehlerbild sind angehàngt.


Sub DateiAktualisieren()

Application.ScreenUpdating = False

Dim Sheets As Worksheets
Dim c As Range
Dim strDummy As String
Dim awakat() As Variant
Dim wert As String
Dim i As Integer
Dim z, zz
z = 0

Application.Worksheets("Tabelle1").Select
For Each c In Application.ActiveSheet.Range("A2:A2200")
If InStr(strDummy, c.Value) = 0 Then
z = z + 1
End If
strDummy = strDummy & c.Value
Next

ReDim awakat(z)
strDummy = ""
zz = 0

For Each c In Application.ActiveSheet.Range("A2:A2200")
If InStr(strDummy, c.Value) = 0 Then
zz = zz + 1
awakat(zz) = c.Value
End If
strDummy = strDummy & c.Value
Next

MsgBox "Es sind insgesamt " & z & " verschiedene Personen vorhanden !",
vbInformation

Application.Worksheets("Tabelle3").Select
For i = 1 To z
Cells(1, 2 + i) = awakat(i)
Next

Application.Worksheets("Tabelle1").Select
z = 0

For Each c In Application.ActiveSheet.Range("B2:B2200")
If InStr(strDummy, c.Value) = 0 Then
z = z + 1
End If
strDummy = strDummy & c.Value
Next

ReDim awakat(z)
strDummy = ""
zz = 0

For Each c In Application.ActiveSheet.Range("B2:B2200")
If InStr(strDummy, c.Value) = 0 Then
zz = zz + 1
awakat(zz) = c.Value
End If
strDummy = strDummy & c.Value
Next

MsgBox "Es sind insgesamt " & z & " verschiedene Kategorien vorhanden
!", vbInformation

Application.Worksheets("Tabelle3").Select
For i = 1 To z
Cells(i + 1, 1) = awakat(i)
Next

Range("C2:AS2").Select
Selection.AutoFill Destination:=Range(Cells(2, 3), Cells(z + 1,
45)), Type:=xlFillDefault

Application.Worksheets("Tabelle1").Select
Set myRange =
Application.Worksheets("Rollen-Zuordnung").Range("A1:H2000")
myRange.Select
Selection.Copy
Application.Worksheets("Tabelle4").Select
Application.Range("A1").Select
ActiveSheet.Paste

Application.Worksheets("Tabelle4").Select
Application.Range("A2:A2000").Select

For Each c In Application.Selection
c.Select
Application.ActiveCell.Select
Application.ActiveCell.Offset(0, 1).Activate
wert = Application.ActiveCell.Value
c.Value = c.Value & wert
Next

Columns("A:A").Select
Columns("A:A").EntireColumn.AutoFit

Range("A1").Select

Application.ScreenUpdating = True

End Sub



Hier das Problem:-

Das Worksheet besteht aus 4 Tabellenblàttern , in dem ich bestimmte
Operationen ausführe. Der für mich wichtige Teil ist ab folgende Zeile
( besser gesagt , da wo das Problem auftaucht ) :-


Application.Worksheets("Tabelle4").Select
Application.Range("A2:A2000").Select

For Each c In Application.Selection
c.Select
Application.ActiveCell.Select
Application.ActiveCell.Offset(0, 1).Activate
wert = Application.ActiveCell.Value
c.Value = c.Value & wert
Next

Hier wird einfach der Zelleninhalt von Spalte B... zum Zelleninhalt
von Spalte A... zusammengefügt. In Tabelle4 sind ca. 1900 Eintràge.


So , jetzt etwas ( zumindest für mich ) etwas ganz seltsames.

Wenn ich das Makro im VBA-Editor mit F8 im Einzelschritt ausführe
làuft es bis zum bitteren Ende einwandfrei durch.

Wenn ich das Makro aber im Tabellenblatt über - Makroausführen -
starte dann hàngt es sich auf.

Hat jemand dafür eine Erklàrung oder besser eine Lösung ?!?

Ich habe es leider nicht herausgefunden !!!

Danke im Voraus

Haldun
 

Lesen sie die antworten

#1 Martin Hentrich
26/05/2008 - 07:00 | Warnen spam
On Mon, 26 May 2008 00:13:28 +0200, Kundro wrote:

Hat jemand dafür eine Erklàrung oder besser eine Lösung ?!?



An geeigneter Stelle DoEvents einbauen?

Martin

Im Übrigen bin ich der Meinung, dass der Föderalismus
im Bildungswesen abgeschafft werden muss!

Ähnliche fragen