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.

Makro zu Auswerten einer Tabelle
#1
Hallo zusammen,

ich hab eine Arbeitsmappe mit 5 Tabellen, möchte nun in Tabelle 1 einen Button setzten welcher alle Tabellen
nach rot Ausgefüllten Zellen durchsucht und diese dann in Tabelle 5 kopiert. Der inhalt der  roten zellen in Tabelle 1-4 sollen nach dem kopieren gelöscht werden.
Button und so alles keine Problem aber nen code zum suchen in allen Tabellen und dann kopiert klappt irgendwie nicht.

Könnt Ihr mit bitte ein paar tips oder vorschläge geben wie ich das angehen soll?

Danke

VG
Tobias
Antworten Top
#2
Hallo Tobis,

hier ein sehr rudimentärer Code, den ich auch nicht unbedingt empfehle. Was ist denn das Kriterium, weshalb die Zellen rot werden? Kann man die Suchbereiche eingrenzen?

Code:
Option Explicit

Sub redCells()
   Dim wks As Worksheet
   Dim rng As Range
   Dim redRange As Range
   
   For Each wks In ThisWorkbook.Worksheets
       If wks.CodeName <> "SheetVonDemDuStartest" Then
           For Each rng In wks.UsedRange
               If rng.Interior.Color = vbRed Then
                   SheetVonDemDuStartest.Cells(UsedRange.Rows.Count + 1, 1).Value = rng.Value
                   If redRange Is Nothing Then
                       Set redRange = rng
                   Else
                       Set redRange = Union(redRange, rng)
                   End If
               End If
           Next rng
           redRange.Delete
           Set redRange = Nothing
       End If
   Next wks
End Sub
Gruß Jonas
Antworten Top
#3
Hallo Jonas

es ist eine Art Lagerverwaltung.
Auf allen Tabellenblätter stehen in A5 bis E5 verscheidene Daten, wenn ein Mitarbeiter in Spalte F ein Datum eingibt wird die Zeile von A bis F rot
Am Monatsende möchte ich alle roten zeilen in ein extra Tabellenblatt kopieren und diese dann von den anderen Tabellen löschen.

VG
Tobias
Antworten Top
#4
Hallo Tobias,

also mein Code oben ist getestet und funktioniert. Wenn Du Interesse an einer Optimierung hast, lade mal bitte eine Beispieldatei mit dem selben Aufbau wie dein Original hoch.

Bitte eine *.xlsx-Datei ohne Makros.
Gruß Jonas
Antworten Top
#5
Hallo

hier eine bespieldate bei betätigen des Button anndes farbige in die letzte tabelle und dann löschen.


Angehängte Dateien
.xlsx   Test Lager.xlsx (Größe: 23,15 KB / Downloads: 3)
Antworten Top
#6
Hallo Tobias,

folgenden Code dem Button zuweisen

Code:
Option Explicit

Private Sub CommandButton1_Click()
   Dim wks As Worksheet
   Dim i As Long
   
   For Each wks In ThisWorkbook.Worksheets
       If wks.CodeName <> "Tabelle1" And wks.CodeName <> "Tabelle5" Then
           For i = 7 To 5 Step -1
               With wks
                   If .Cells(i, 4).Value > 0 Then
                       Tabelle5.Cells(Tabelle5.UsedRange.Rows.Count + 1, 1).Resize(1, 4) = .Cells(i, 1).Resize(1, 4).Value
                       .Rows(i).Delete
                   End If
               End With
           Next i
       End If
   Next wks
End Sub
Gruß Jonas
Antworten Top
#7
klappt fast löscht die farbigen kopiert sie aber nicht in letzte Tabelle
Antworten Top
#8
Hallo Tobias,

(03.11.2017, 12:00)tobi85 schrieb: ...kopiert sie aber nicht in letzte Tabelle...

Doch, macht der Code.
Gruß Jonas
Antworten Top
#9
Hallo Jonas,

hmmm ja im Test klappts genauso wie ich mir das vorgestellt habe...aber  in meiner orginal Datei komischer weiße nicht.

VG
Tobias
Antworten Top
#10
Hallo Tobias,

Du musst natürlich die Code-Namen der Sheets entsprechend anpassen. Das sind die Namen im VBE nicht die, die der User in der Mappe vergeben kann.
Gruß Jonas
Antworten Top


Gehe zu:


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