Forums Neueste Beiträge
 

schleife mit each oder loop...

08/05/2009 - 16:15 von Marc Ahrens | Report spam
Hallo,

ich versuche schon den ganzen Tag eine Schleife zu bauen, aber ich geb
auf...
In einem Tabellenblatt (Excel03) habe ich ein Makro aufgezeichnet. Es
fàngt so an:

.

Cells.Find(What:="autor", After:=ActiveCell, LookIn:=xlFormulas,
LookAt _
:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:= _
False, SearchFormat:=False).Activate
ActiveCell.Offset(0, -1).Select
Selection.Copy
Sheets("Tabelle3").Select
ActiveSheet.Paste
Sheets("Tabelle2").Select

sucht also "autor", dann gibt es noch einiges zu tun, und dann sollte
das Makro zum nàchsten "Autor" gehen, solange bis "Autor" quasi null
ist (Ende der Liste).

Wie sagt man das in VBA am besten?

Grüße Marc
 

Lesen sie die antworten

#1 Peter Doering
08/05/2009 - 18:05 | Warnen spam
Hallo,

Marc Ahrens wrote:

ich versuche schon den ganzen Tag eine Schleife zu bauen, aber ich geb
auf...
In einem Tabellenblatt (Excel03) habe ich ein Makro aufgezeichnet. Es
fàngt so an:

Cells.Find(What:="autor", After:=ActiveCell, LookIn:=xlFormulas,
LookAt _
:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:= _
False, SearchFormat:=False).Activate
ActiveCell.Offset(0, -1).Select
Selection.Copy
Sheets("Tabelle3").Select
ActiveSheet.Paste
Sheets("Tabelle2").Select

sucht also "autor", dann gibt es noch einiges zu tun, und dann sollte
das Makro zum nàchsten "Autor" gehen, solange bis "Autor" quasi null
ist (Ende der Liste).

Wie sagt man das in VBA am besten?



Hmm, eigentlich was fuer die Excel-Gruppe, aber wenn du schon mal da bist:

Was ist denn das Kriterium, an dem der naechste Autor erkannt wird? Wenn du
keines hast, wuerde ich den kompletten Bereich durchlesen und wenn im Feld
Autor was steht, entsprechend abarbeiten. Der Code dazu koennte so
aussehen:

Dim I As Long
Dim lngRows As Long
'unterstellt, dass A2 die erste Spalte der Liste ist:
lngRows = Cells(2,1).CurrentRegion.Rows.Count

For I = 2 To lngRows-1
'unterstellt, dass Spalte C den Autor enthaelt
If Nz(Cells(I, 3).Value,"")<>"" Then
'hier kommt dein Code
End If
Next I

(Luftcode)

Weitere Details, z.B. Tipps, wie man eine Liste verlaesslicher als mit
CurrentRegion ermittelt, holst du dir in der Excel-Gruppe, die kennen sich
damit besser aus.

Gruss - Peter

Mitglied im http://www.dbdev.org
FAQ: http://www.donkarl.com
3. SEK Sa/So 16./17.5.2009, Nürnberg http://www.donkarl.com/SEK/

Ähnliche fragen