Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1688to1692
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Fehler in Code

Fehler in Code
26.04.2019 16:38:09
Peter
Hallo ihr Excelspezialisten,
ich habe folgendes Makro:
Sub Test_Fehlertabelle()
Dim lzA As String 'für Spalte1
Dim lzG As String 'für Spalte7
'Anfang Fehlertabelle leeren
With Worksheets("Fehlertabelle")
lzA = .Cells(Rows.Count, 1).End(xlUp).Row
If lzA = 1 Then End Sub

.Range(.Cells(2, 1), .Cells(lzA, 5)).ClearContents
lzG = .Cells(Rows.Count, 7).End(xlUp).Row
If lzG = 1 Then Exit Sub
.Range(.Cells(2, 7), .Cells(lzA, 11)).ClearContents
End With
'Ende Fehlertabelle leeren
End Sub
~f~
Leider funktioniert dies nicht.
Wenn ich dieses Makro habe:
~f~

Sub Test_Fehlertabelle()
Dim lzA As String 'für Spalte1
Dim lzG As String 'für Spalte7
'Anfang Fehlertabelle leeren
With Worksheets("Fehlertabelle")
lzA = .Cells(Rows.Count, 1).End(xlUp).Row
If lzA = 1 Then End Sub

.Range(.Cells(2, 1), .Cells(lzA, 5)).ClearContents
'Ende Fehlertabelle leeren
End Sub Dieses funktioniert.
Was muss ich im oberen Makro ändern, damit beide Bereiche bearbeitet werden.
Insgesamt habe ich 8 Bereiche manchmal leer manchmal nicht.
Besten Dank für eure Hilfe.
Gruss
Peter

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fehler in Code
26.04.2019 16:42:10
Hajo_Zi
Hallo Peter,
Option Explicit
Sub Test_Fehlertabelle()
Dim lzA As String 'für Spalte1
Dim lzG As String 'für Spalte7
'Anfang Fehlertabelle leeren
With Worksheets("Fehlertabelle")
lzA = .Cells(Rows.Count, 1).End(xlUp).Row
If lzA  1 Then
.Range(.Cells(2, 1), .Cells(lzA, 5)).ClearContents
lzG = .Cells(Rows.Count, 7).End(xlUp).Row
If lzG  1 Then
.Range(.Cells(2, 7), .Cells(lzA, 11)).ClearContents
End If
End If
End With
'Ende Fehlertabelle leeren
End Sub

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Die Beiträge werden auch ignoriert, es erfolgt keine Antwort.
Anzeige
AW: Fehler in Code beseitigt
26.04.2019 16:50:56
Peter
Hallo Hajo,
besten Dank für Deine Hilfe.
Leider ein kleiner Fehler in deiner Version:
Korrektur funktioniert:
<pre>Sub Test_Fehlertabelle_Hajo()
Dim lzA As String 'für Spalte1
Dim lzG As String 'für Spalte7
'Anfang Fehlertabelle leeren
With Worksheets("Fehlertabelle")
lzA = .Cells(Rows.Count, 1).End(xlUp).Row
If lzA <> 1 Then
.Range(.Cells(2, 1), .Cells(lzA, 5)).ClearContents
End If
lzG = .Cells(Rows.Count, 7).End(xlUp).Row
If lzG <> 1 Then
.Range(.Cells(2, 7), .Cells(lzG, 11)).ClearContents
End If
End With
'Ende Fehlertabelle leeren
End Sub</pre>
Besten Dank und noch einen schönen Tag.
Gruss
Peter
Anzeige
AW: Fehler in Code
26.04.2019 21:31:26
Luschi
Hallo Hajo,
Dim lzA As String 'für Spalte1
und dann: lzA = .Cells(Rows.Count, 1).End(xlUp).Row
Das ist ja ein grausiger Programmierstil, in jeder Vba-Hilfe steht das hier: Range.Row-Eigenschaft
Gibt die Anzahl der ersten Zeile des ersten Bereichs im Bereich zurück. Schreibgeschützter Long-Wert
Gruß von Luschi
aus klein-Paris
PS: willst Du denn Deinen Ruf noch weiter ruinieren?
AW: Fehler in Code
29.04.2019 08:45:11
Peter
Hallo Luschi,
ich habe Deinen Hinweis selbstverständlich gelesen.
Habe von String auf Long geändert.
Wie würdest Du denn dieses Makro schreiben?!
Besten Dank
Gruss
Peter
Anzeige
AW: Fehler in Code
29.04.2019 12:42:47
Daniel
Eieiei Luschi, bald stehst du bestimmt auch in Hajo's Signatur ;-)
Ich glaube er hat einfach nur Peters Code übernommen und überarbeitet und dabei nicht auf die Deklarationen geachtet. Ist wohl eher ein Flüchtigkeitsfehler. Aber schon lustig zu beobachten, wie ihr euch gegenseitig gerne "freundlich korrigiert".
Grüße
Daniel

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige