Thema Datum  Von Nutzer Rating
Antwort
Rot Schleife mit Do While und IsEmpty wird nicht korrekt verlassen
16.12.2011 15:14:01 neo
NotSolved
16.12.2011 16:24:34 Till
*****
Solved
16.12.2011 16:28:55 Till
NotSolved
19.12.2011 17:27:09 neo
NotSolved
19.12.2011 17:17:18 Gast78211
NotSolved
19.12.2011 19:24:41 Till
Solved
20.12.2011 11:01:29 neo
NotSolved
20.12.2011 12:20:55 neo
NotSolved
20.12.2011 15:41:37 neo
NotSolved
20.12.2011 16:41:42 Till
NotSolved
21.12.2011 13:09:06 neo
NotSolved
21.12.2011 14:43:51 Till
Solved
22.12.2011 16:52:05 neo
NotSolved

Ansicht des Beitrags:
Von:
neo
Datum:
16.12.2011 15:14:01
Views:
2528
Rating: Antwort:
  Ja
Thema:
Schleife mit Do While und IsEmpty wird nicht korrekt verlassen

Hallo Comunity,

ich bin ganz frisch auf dem Gebiet der VBA-Programmierung und benötige eure Unterstützung!

Folgender Fall:

Habe in Excel zwei Spalten. Spalte A hat die Kartonnr., Spalte B die enthaltenen Positionen.

Bsp.:

Kartonnr.   Artikel

   1              XXX

                   XXX

                   XXX

   2              XXX

                   XXX

Wenn ich eine Sortierung nach Artikel vornehme, ist somit nicht mehr ersichtlich, zu welchem Karton der jeweilige Artikel gehört.

Dazu habe ich ein Makro erstellt, welcher in jede Zeile die Kartonnr. einfügt, wenn in Spalte B eine Artikelnr. eingetragen ist.

Jedoch steigt bei mir die Do While Schlefe mit IsEmpty nicht immer aus, sobald Spalte B leer ist.

Wo liegt der Fehler?

Code:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
' beginnt bei Zeile 15
 
    Range("A15").Select
    
    Dim Zeile As Integer
 
        Zeile = 15
 
    Do While IsEmpty(Cells(Zeile, 2)) = False
 
        If ActiveCell <> "" Then
 
            ActiveCell.Select
            Selection.Copy
            ActiveCell.Offset(1, 0).Select
            If ActiveCell = "" Then
 
                ActiveSheet.Paste
                ActiveCell.Offset(1, 0).Select
 
            End If
 
        Else
 
 
            ActiveSheet.Paste
            ActiveCell.Offset(1, 0).Select
 
 
        End If
 
        Zeile = Zeile + 1
 
      
       Loop
   
End Sub

Vielen Dank schon mal!

MFG

neo


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen