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 kann kopiert Wertebereich nicht wenn Tabelle ausgeblendet ist
#1
Hallo zusammen,

ich habe ein Problem mit der untenstehenden Makro.
Beim öffnen der Arbeitsmappe wird die Makro ausgeführt, sofern sie an dem jeweiligen Tag noch nicht ausgeführt wurde.
Wenn die Tabelle6 eingeblendet ist, klappt dies wunderbar. Sobald ich sie ausblende funktioniert das kopieren der Zeilen nicht mehr, die Makro läuft dennoch durch und erstellt den Timestamp.
Ich bin kein Experte und habe gelesen man kann bei ausgeblendeten Tabellen kein .select verwenden, deswegen habe ich es auf diese Weise probiert.
Weiß jemand wie ich die Makro umschreiben kann, so dass trotz Ausblenden der Tabelle6 die Werte kopiert werden?



Private Sub Auto_Open()
 Dim i As Integer
 Dim cell As Range
 i = 1
 For Each cell In Tabelle6.Range("A1:A1000")
     
If Tabelle6.Range("S3") > Tabelle6.Range("D2") Then End

     If cell.Value = Range("D2") Then
         
         cell.EntireRow.Copy
         Tabelle7.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
         i = i + 1
     
     End If
     
 Next cell
 Application.CutCopyMode = False
 Tabelle6.Range("S3") = Now
End Sub
Antworten Top
#2
Hallo,

teste mal so:

Code:
Private Sub Auto_Open()
Dim i As Long, j As Long
j = Tabelle7.Cells(Rows.Count, 1).End(xlUp).Row + 1

With Tabelle6
 If .Range("S3") <= .Range("D2") Then
   For i = 1 To 1000
     If .Cells(i, 1) = .Range("D2") Then
       Tabelle7.Rows(j).Value = .Rows(i).Value
       j = j + 1
     End If
   Next i
  .Range("S3") = Now
 End If
End With
End Sub


Es wird nichts kopiert, sondern die Werte der Zeilen werden übertragen.
Gruß Atilla
[-] Folgende(r) 1 Nutzer sagt Danke an atilla für diesen Beitrag:
  • Eistee
Antworten Top
#3
Hi,

vielen Dank für die schnelle Antwort.
Wenn ich das wie folgt schreibe, bekomme ich die Meldung "If-Block ohne End If"
Wenn ich ein "End If" hinzufüge bekomme ich die Meldung "End If ohne If"

Private Sub Auto_Open()
Dim i As Long, j As Long
j = Tabelle7.Cells(Rows.Count, 1).End(xlUp).Row + 1

With Tabelle6
 If .Range("S3") <= .Range("D2") Then
   For i = 1 To 1000
     If .Cells(i, 1) = .Range("D2") Then
       Tabelle7.Rows(j).Value = .Rows(i).Value
       j = j + 1
     End If
     

 Next i
 Application.CutCopyMode = False
 Tabelle6.Range("S3") = Now
End Sub
Antworten Top
#4
Hallo,

und warum schreibst Du es nicht so wie ich?

Auf den ersten Blick fehlt bei Dir nach dieser Zeile

Next i

ein

End With
Gruß Atilla
Antworten Top
#5
Hallo,

ich bekomme es einfach nicht hin auf diese Weise überhaupt eine Makro laufen zu lassen.
Habe mal eine Beispieltabelle angehangen. "abc" ist die Makro so wie du sie meinst. "def" ist die Makro die genau tut was sie soll, nur nicht bei ausgeblendetem Tabellenblatt.


.xlsm   abc.xlsm (Größe: 23,83 KB / Downloads: 2)

Gruß
Eistee
Antworten Top
#6
Hallo,

Code:
Public Sub abc()
Dim i As Long, j As Long
j = Tabelle2.Cells(Rows.Count, 1).End(xlUp).Row + 1

With Tabelle1
If .Range("S3") <= .Range("D2") Then
  For i = 1 To 1000
    If .Cells(i, 1) = .Range("D2") Then
      Tabelle2.Rows(j).Value = .Rows(i).Value
      j = j + 1
    End If
   Next i
 End If
 .Range("S3") = Now
End With

End Sub

Damit Du was erkennst, muss der Wert in S3 < als der in D2 sein. Also zum Testen einfach ein kleineres Datum in S3 schreiben (in Tabelle1)
Gruß Atilla
[-] Folgende(r) 1 Nutzer sagt Danke an atilla für diesen Beitrag:
  • Eistee
Antworten Top
#7
Danke dir, klappt jetzt einwandfrei.
Antworten Top


Gehe zu:


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