Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1192to1196
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

Schleife geht nicht - Zellen formatieren

Schleife geht nicht - Zellen formatieren
lutz
Hallo Excel-Profis,
ich möchte bei diversen Pivottabellen nur die unterste Zeile = Gesamtsumme anzeigen lassen.
Dafür habe ich das Zahlenformat auf Weiß gestellt, also sind alle unsichtbar. Jetzt soll in jeder Tabelle (sind immer Nummern als Namen) die unterste Zeile der Spalten G und H auf normales Zahlenformat und damit sichtbar gemacht werden.
Hier die Schleife:
Sub NurLetzteZelle()
Dim i As Integer
Dim letztezeile As Integer
Dim wks As Worksheet
With Application
.ScreenUpdating = False
.DisplayAlerts = False
.EnableEvents = False
.Calculation = xlCalculationManual
With ThisWorkbook
For i = .Sheets.Count To 1 Step -1
'Ist Tabellenname eine Zahl?
If IsNumeric(.Sheets(i).Name) Then
'Tabelle nur letzte Zeile Normal
letztezeile = Sheets(i).Cells(65536, 8).End(xlUp).Row
Cells(letztezeile, 8).Select
Selection.NumberFormat = "#,##0.00"
Cells(letztezeile, 7).Select
Selection.NumberFormat = "#,##0.00"
DoEvents
End If
Next i
End With
.Calculation = xlCalculationAutomatic
.EnableEvents = True
.DisplayAlerts = True
.ScreenUpdating = True
End With
On Error Resume Next
Set wks = Worksheets("(Leer)")
On Error GoTo 0
'If Not wks Is Nothing Then
'      Sheets("(Leer)").PrintOut
'Else
Sheets("Eingabe").Select
'End If
End Sub

Ich denke, es liegt am Select und man sollte irgendwie with machen aber ich weiß nicht wie.
Kann jemand Helfen?
Vielen Dank und viele Grüße Lutz
AW: Schleife geht nicht - Zellen formatieren
14.01.2011 20:04:27
Uduuh
Hallo,

Ich denke, es liegt am Select und man sollte irgendwie with machen aber ich weiß nicht wie.

das hast du richtig erkannt.
with .sheets(i)
If IsNumeric(.Name) Then
'Tabelle nur letzte Zeile Normal
letztezeile = .Cells(65536, 8).End(xlUp).Row
.Cells(letztezeile, 7).resize( ,2).NumberFormat = "#,##0.00"
end with
Gruß aus’m Pott
Udo

AW: Schleife geht nicht - Zellen formatieren
14.01.2011 20:23:19
lutz
Hallo Udo, vielen Dank und es ist bestimm richtig.
Ich habe es an allen möglichen Stellen eingebaut und er sagt mir immer End with ohne End...
Könntest Du bitte den gesamten Code zusammenstellen?
Das wäre sehr nett, vielen Dank und viele Grüße Lutz
Anzeige
AW: Schleife geht nicht - Zellen formatieren
14.01.2011 20:30:04
Reinhard
Hallo Lutz,
zeig doch mal was du da zusammengestellt hast.
Gruß
Reinhard
AW: Schleife geht nicht - Zellen formatieren
14.01.2011 20:33:02
lutz
Hallo Reinhard, ich hatte das da reinkopiert:
Sub NurLetzteZelle()
Dim i As Integer
Dim letztezeile As Integer
Dim wks As Worksheet
With Application
.ScreenUpdating = False
.DisplayAlerts = False
.EnableEvents = False
.Calculation = xlCalculationManual
With ThisWorkbook
For i = .Sheets.Count To 1 Step -1
with .sheets(i)
If IsNumeric(.Name) Then
'Tabelle nur letzte Zeile Normal
letztezeile = .Cells(65536, 8).End(xlUp).Row
.Cells(letztezeile, 7).resize( ,2).NumberFormat = "#,##0.00"
end with
DoEvents
End If
Next i
End With
.Calculation = xlCalculationAutomatic
.EnableEvents = True
.DisplayAlerts = True
.ScreenUpdating = True
End With
On Error Resume Next
Set wks = Worksheets("(Leer)")
On Error GoTo 0
'If Not wks Is Nothing Then
'      Sheets("(Leer)").PrintOut
'Else
Sheets("Eingabe").Select
'End If
End Sub
Aber das mag er nicht.
Gruß Lutz
Anzeige
das fehlt sicher irgendwo ein ... End If oT
14.01.2011 20:30:12
Matthias
AW: das fehlt sicher irgendwo ein ... End If oT
14.01.2011 20:33:23
lutz
Hallo Matthias, ich hatte das da reinkopiert:
Sub NurLetzteZelle()
Dim i As Integer
Dim letztezeile As Integer
Dim wks As Worksheet
With Application
.ScreenUpdating = False
.DisplayAlerts = False
.EnableEvents = False
.Calculation = xlCalculationManual
With ThisWorkbook
For i = .Sheets.Count To 1 Step -1
with .sheets(i)
If IsNumeric(.Name) Then
'Tabelle nur letzte Zeile Normal
letztezeile = .Cells(65536, 8).End(xlUp).Row
.Cells(letztezeile, 7).resize( ,2).NumberFormat = "#,##0.00"
end with
DoEvents
End If
Next i
End With
.Calculation = xlCalculationAutomatic
.EnableEvents = True
.DisplayAlerts = True
.ScreenUpdating = True
End With
On Error Resume Next
Set wks = Worksheets("(Leer)")
On Error GoTo 0
'If Not wks Is Nothing Then
'      Sheets("(Leer)").PrintOut
'Else
Sheets("Eingabe").Select
'End If
End Sub
Aber das mag er nicht.
Gruß Lutz
Anzeige
Komplettcode
14.01.2011 20:43:03
Uduuh
Hallo,
so:
Sub NurLetzteZelle()
Dim i As Integer
Dim letztezeile As Integer
Dim wks As Worksheet
With Application
.ScreenUpdating = False
.DisplayAlerts = False
.EnableEvents = False
.Calculation = xlCalculationManual
With ThisWorkbook
For i = .Sheets.Count To 1 Step -1
'Ist Tabellenname eine Zahl?
With .Sheets(i)
If IsNumeric(.Name) Then
'Tabelle nur letzte Zeile Normal
letztezeile = .Cells(65536, 8).End(xlUp).Row
.Cells(letztezeile, 7).Resize(, 2).NumberFormat = "#,##0.00"
End If
End With
DoEvents
Next i
End With
.Calculation = xlCalculationAutomatic
.EnableEvents = True
.DisplayAlerts = True
.ScreenUpdating = True
End With
On Error Resume Next
Set wks = Worksheets("(Leer)")
On Error GoTo 0
'If Not wks Is Nothing Then
'      Sheets("(Leer)").PrintOut
'Else
Sheets("Eingabe").Select
'End If
End Sub

Anzeige
AW: Komplettcode
14.01.2011 20:47:14
lutz
Hallo Udo,
das klappt wie verrückt.
Ich dachte eigentlich, ich hätte es auch mal genaus so versucht aber anscheinend nicht.
Vielen Dank Udo und allen die sich beteiligt haben.
Ich wünsche Euch allen ein schönes Wochenende
Liebe Grüße Lutz
nebenbei bemerkt
14.01.2011 20:51:58
Uduuh
Hallo,
du hast das sehr gut angefangen, Dann aber anscheinend den Überblick veloren und wieder SELECT benutzt. Das kann nicht klappen, wenn das entsprechende Objekt (die Tabelle) nicht aktiv ist
Gruß aus’m Pott
Udo

AW: nebenbei bemerkt
14.01.2011 20:58:54
lutz
Hi Udo,
da hast Du Recht fürchte ich - bin leider ein Selektierer.
Den Großteil des Codes hatte ich schon vom Ausdrucken - da habe ich dann einfach den Teil dazwischengefügt.
Langsam schaffe ich es mal ein paar Schleifen etc. selber zu bauen aber das mit dem with, den Punkten etc. habe ich manchmal einfach nicht drauf.
Ich hatte mir den Code selber zusammengebastellt und in einem Blatt geht er auch gut :)
In jedem Fall noch mal Tausend Dank für Deine Hilfe und noch ein besonders schönes Wochenende für Dich
Viele Grüße Lutz
Anzeige
noch was
14.01.2011 21:03:25
Uduuh
Hallo,
anstatt Schriftfarbe weiß würde ich Zahlenformat ;;; bevorzugen. Der Zellinhalt ist auch nicht sichtbar und unabhängig von der Hintergrundfarbe.
Gruß aus’m Pott
Udo

AW: noch was
17.01.2011 15:26:55
lutz
Hallo Udo,
vielen Dank für den Tipp, hatte ich schon mal gelesen aber wohl wieder vergessen.
Wo/Wie verwahrt man die ganzen Infos?
Ich habe mal angefangen eine Access-DB zu basteln ist aber auch Mühselig.
Leider bekommt man lange Codes nicht in eine Excel-Zelle.
Viele Grüße Lutz

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige