Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA Schleife
#1
Hallo Zusammen,

ich versuche eine VBA Schleife zu bauen für eine Datei.
Diese Schleife soll das gesamte Tabellen- Blatt durchlaufen.

Die Schleife soll die Untere Abfrage für das gesamte Blatt sein.

Genauer sollen alle bereiche zwischen Debitoren Nr. und Ergebnis durchlauen werden.
Aber immer nur 4 Spalten. 
So weit funktioniert alles, ich finde nur keinen weg mit der Schleife.

Zitat:Dim zeile As Integer
    Dim spalte As Integer
   
   
    Dim löschZeile As Integer
    Dim löschSpalte As Integer
   
    löschSpalte = 4
   
   
    zeile = 5
    spalte = 3
   
   
   
    Set bereich = Range("C:C").Find("Debitoren Nr. ")
    zeile = bereich.Row + 1
   
    Set bereich = Range("C:C").Find("Ergebnis")
       
    löschZeile = bereich.Row - 1
   
   
    Range("C" & zeile & ":F" & löschZeile).Clear


Danke für die Hilfe

Gruß

Aritmatos
Antworten Top
#2
das was du da als code kopiert hast, ist bitteschön was? 
du möchtest einen bereich durchsuchen der 4 spalten breit ist und die Zeilenbegrenzung durch die Suchworte bestimmt werden?


dim i as long, cnt as long

Set bereich = Range("C:C").Find("Debitoren Nr. ")
    zeile= bereich.Row
Set bereich = Range("C:C").Find("Ergebnis")
löschZei = bereich.Row

for i = zeile to  löschZeile

for cnt = 3 to 6    'Spalte C bis F
  if Cells(i,cnt) = vergleichmitwasauchimmer then tue irgendwas
next
next
[-] Folgende(r) 1 Nutzer sagt Danke an ralf_b für diesen Beitrag:
  • Aritmatos
Antworten Top
#3
Das ist der Code, der den Celleninhalt löscht.

die Tabelle ist recht groß und hat über 150 gleiche Bereiche.

der Bereich baut sich immer gleich auf.

   

So sieht das aus.

Der Momentane Code löscht den Bereich zwischen Debitor Nr und Ergebnis. aber nur 4 Spalten. Die 5 enthät eine Formel, die ich nicht löschen möchte. Ich müsste also immer Manuel den Zellbereich eingeben.

Ich möchte nun gerne, dass ich eine Schleife habe, die das gesamte Arbeitsblatt, (also alle Spalten und Zeilen) durchläuft und dann jeweils den oben Genannten bereich durchläuft. Da es keine feste Anzahl an Zeilen gibt, muss ich mich an den beiden Stichwörtern (Debitor Nr. und Ergebins) orientieren.

Hoffe das ist besser erklärt, was ich meine.

Gruß und Danke

Aritmatos
Antworten Top
#4
Hallo,

Hat keiner eine Idee?
Antworten Top
#5
Hallo,

ungetestet

Code:
Sub prcAirtmatos()


   Dim bereich As Range, bereich1 As Range
   Dim zeile As Integer
   Dim spalte As Long '
  
  
   Dim löschZeile As Integer
   Dim löschSpalte As Integer
  
   l?schSpalte = 4
  
  
   zeile = 5
   'spalte = 3
  
   For spalte = 3 To 15 Step 6
  
   Set bereich = Columns(spalte).Find("Debitoren Nr. ")
   zeile = bereich.Row + 1
  
   Set bereich1 = Columns(spalte).Find("Ergebnis")
      
   löschZeile = bereich1.Row - 1
  
  
   Cells(zeile, spalte).Resize(löschZeile - zeile + 1, 4).Clear
   Next spalte

End Sub
Gruß Stefan
Win 10 / Office 2016
[-] Folgende(r) 1 Nutzer sagt Danke an Steffl für diesen Beitrag:
  • Aritmatos
Antworten Top
#6
Hallo Steffan,

ersmal vielen Dank,

die Schleife Funktioniert soweit super,
einzigste Problem sie geht nur von links nach rechts.
Nicht aber nach unten.

Sorry, ich habe das wohl nicht saubergenug erklärt.


   

gruß

Aritmatos
Antworten Top
#7
Lade mal bitte eine Musterdatei hoch.
Das Ganze sollte doch besser strukturiert werden: füge nur eine Spalte zu: Kalenderwoche.
Und dann gibt es nur eine Tabelle die man pro KW filtern könnte.

'Sructuring precedes Coding'
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#8
Hallo,

hoffe das hilft dir weiter.


.xlsm   Schleife Löschung.xlsm (Größe: 27,87 KB / Downloads: 9)

Ich habe nur für 4 Monate die erste Woche als Beispiel genommen, gesamt müssen etwa 2 Jahre abgebildet werden. Sag das nur wegen der Größe.

Danke

Gruß

Aritmatos
Antworten Top
#9
Schau mal:


Angehängte Dateien
.xlsb   __Schleife.xlsb (Größe: 8,84 KB / Downloads: 6)
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#10
Sorry, aber da geht gar nix, da ist kein Makro drinen. Huh

Gruß

Aritmatos
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste