Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1160to1164
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Schnelle Frage, VBA hängt

Schnelle Frage, VBA hängt
Holger
Hallo,
ich habe ein Schleife mithilfe eines Range programmiert und anscheinend
eine Fehler drin. Denn VBA kommt nicht mehr zurück und ich habe
nicht gespeichert.
Gibt es eine Möglichkeit, das Laufen des Makros mit einer Tastenkombination zu unterbrechen?

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
STRG + Pause ... kwT
17.06.2010 19:35:07
Matthias
strg + break
17.06.2010 19:35:17
F1
oT
Escape...
17.06.2010 19:35:28
robert
AW: Schnelle Frage, VBA hängt
17.06.2010 19:36:13
Peter
habe durch mehrmaliges Drücken der ESC - Taste solch eine Endlosschleife mal abgebrochen
Danke an alle!!! PLUS FRAGE, hier der Horror Code
17.06.2010 19:42:54
Holger
Ihr seid meine Rettung!
Ein paarmal ESC drücken und die Sache ist geritzt.
Habe gecheckt warum der Code ins Endlose ging, brauche daher eure Hilfe.
Stellt euch einen Datenbereich von A1:A100 vor.
In Spalte A steht immer das Land. Ich will nun immer durch den
jeweiligen Wert schleifen. Also z.B so
GB
GB
GB
AT
AT
AT
Nun mus ic durch alle GB Datensätze, dann duch alle At Datensätze schleifen etc.
Das Problem ist, dass in einer andere tabelle auch Gb, AT etc steht.
Je nach ergebnis der Schleife (ich prüfe verschiedene Sachen), muss
ich bei GB, AT etc in die benachtbarte Zelle etwas reinschreiben.
Schon beim Schleifen haperts, hier mein Code, kann mir jemand helfen,
ich stehe gerade voll auf dem Schlauch.
Sub Schleife()
DataCheckWS.Cells(Rows.Count, 1).End(xlUp).Select
NumOfRow = ActiveCell.Row
Set rngBereich = DataCheckWS.Range("A20:A" & NumOfRow)
For Each rngmyCell In rngBereich
rngmyCell.Select
strCountry = rngmyCell.Value
Do While rngmyCell.Value = strCountry
rngmyCell.Offset(0, 3) = strCountry 'das war nur zum testen!
Loop
Next rngmyCell
Set rngBereich = Nothing
DataCheckWB.Close , False
Set rngBereich = Nothing
End Sub

Anzeige
AW: Danke an alle!!! PLUS FRAGE, hier der Horror Code
17.06.2010 19:48:46
Peter
Hallo Holger,
ich hatte auch mal das Problem einer Endlosschleife.
Daraufhin hat der Franz hier aus dem Board um das Programm wohl so eine Art Fehleranalyse drumherumgebastelt.
ich kenne mich hier leider gar nicht aus, aber vielleicht kannst du ja etwas damit anfangen, Dir die richtigen Befehlszeilen herauszupicken.
Grüße
Peter
Hallo Peter,
probier mal die folgende Variante, um den rekursiven Aufruf der Prozedur zu überbrücken.
Gruß
Franz
'### Code in einem allgemeinen Modul ###
'Erstellt unter Excel 2007
Option Explicit
Public bolCalculate As Boolean
'### Code in DieseArbeitsmappe ###
Option Explicit
Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
Dim p As Long
'Dim sh As Worksheet
On Error GoTo Fehlerbearbeitung
If Sh.Name = "MDAX" Then
If bolCalculate = False Then
bolCalculate = True
Application.ScreenUpdating = False
Application.EnabelEvents = False
For p = 3 To 60
If Sh.Cells(p, 8) = 1 Then
Sh.Cells(p, 8).EntireRow.Hidden = False
Else
Sh.Cells(p, 8).EntireRow.Hidden = True
End If
Next p
Application.EnableEvents = True
Application.ScreenUpdating = True
bolCalculate = False
End If
End If
Exit Sub
Fehlerbearbeitung:
Application.EnableEvents = True
Application.ScreenUpdating = True
bolCalculate = False
End Sub

Anzeige
AW: Danke an alle!!! PLUS FRAGE, hier der Horror Code
17.06.2010 20:41:22
BoskoBiati
Hallo,
diese Schleife ist eigentlich keine.
Hier mal aus dem Stegreif:
Option Explicit
Sub Schleife()
dim wks as worksheet
dim rng as Range
dim Zelle as Range
Dim loLetzte as long
dim loCount as long
dim strCountry as string
set wks=worksheets("DataCheckWS")  'Name Deiner Tabelle einsetzen
loletzte=wks.Cells(Rows.Count, 1).End(xlUp).row
set rng=wks.Range("A20:A" & loletzte)
for each zelle in rng
select case Zelle
case "GB"
zelle.offset(0,3)="GB"
Case "AT"
Zelle.offset(0,4)="Nein"
case else
end select
Next
end sub
Gruß
Bosko

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige