Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
668to672
668to672
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Zellen mit Zahlenformat
23.09.2005 11:44:19
Kira
Hallo,
ich habe eine Aktion, die für alle Zellen mit dem Zahlenformat (Tausenderpunkt und Kommazeichen) gilt.
Wie kann ich alle Zellen in meiner Mappe, die dieses Format besitzen über ein Makro markieren um dann die Aktion ausführen zu können und schließlich die Markierung wieder aufheben?
Gruß
Kira

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen mit Zahlenformat
23.09.2005 11:55:59
Heinz
Hallo Kira,
z.B. so:

Sub FormateMarkieren()
Dim z As Range, ber As Range
For Each z In Range("A1:X30")
If z.NumberFormat = "#,##0.00" Then
If ber Is Nothing Then
Set ber = z
Else
Set ber = Union(ber, z)
End If
End If
Next z
ber.Select
End Sub

Gruß
Heinz
AW: Zellen mit Zahlenformat
23.09.2005 12:01:24
Kira
Hallo Heinz,
funktioniert bei mir leider nicht, bringt einen Laufzeitfehler bei Select.
Gruß
Kira
AW: Zellen mit Zahlenformat
23.09.2005 12:03:55
Heinz
Hallo Kira,
hast du das richtige Format in den Code eingetragen?. Der Laufzeitfehler kommt dann, wenn er keine Zellen mit dem gewünschten Format in dem Bereich findet.
Gruß
Heinz
Anzeige
AW: Zellen mit Zahlenformat
23.09.2005 12:07:36
Kira
Hallo Heinz,
stimmt, ich hatte keine Zelle mit diesem Format, jetzt funktioniert es.
Vielen Dank!!!
Gruß
Kira
Ergänzung
23.09.2005 13:15:57
Kira
Hallo Heinz,
ich habe jetzt folgenden Code, der leider noch nicht so ganz passt:

Sub CommandButton1_Click()
Dim z As Range, ber As Range, ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
For Each z In Range("A1:X30")
If z.Value = "" Then
End If
If z.NumberFormat = "#,##0.00" Then
Range("H1").Value = TextBox1.Text
z = z * Range("H1")
Application.Calculate
If ber Is Nothing Then
Set ber = z
Else
Set ber = Union(ber, z)
End If
End If
Next z
Next
End Sub

Problem ist folgendes: Es werden alle Zellen in der Mappe, die dasZahlenformat besitzen, markiert. Meine Umrechnung mit H1 funktioniert jedoch noch nicht so, wie sie sollte. Bisher werden nur die entsprechenden Zellen in Tabelle1 bearbeiten allerdings werden diese so oft mit H1 multipliziert, wie ich Tabelle in der Mappe habe. Außerdem werden allen Zellen Werte zugewiesen, auch wenn sie ursprünglich keine hatten, d.h. aus einer leeren formaitierten Zelle wird 0,00.
Wie kriege ich das hin, dass er
1. mit allen markierten Zellen der mappe und nicht nur der ersten rechnet
2. die Umrechnung nur einmal und nicht entsprechend der Tabellenzahl durchführt und
3. die leeren Zellen leer lässt.
Ich weiß, dass das diesmal viel auf einmal ist. Ich habe auch einen anderen Code, mit dem ich das hinbekommen habe, allerdings wurden dort die Zellen umständlicher (dauert zu lange) markiert. Nur kriege ich die beiden Codes nicht zusammen.
Vielleicht hast du ja ne Lösung.
Gruß
Kira
Anzeige
AW: Ergänzung
23.09.2005 20:04:54
Heinz
Hallo Kira,
war am Nachmittag nicht am PC.
So sollte es funktionieren:

Sub CommandButton1_Click()
Dim z As Range, ber As Range, ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
For Each z In ws.Range("A1:X30")
If z.NumberFormat = "#,##0.00" Then
Range("H1").Value = TextBox1.Text
If z.Value <> "" Then z = z * Range("H1")
Application.Calculate
If ber Is Nothing Then
Set ber = z
Else
Set ber = Union(ber, z)
End If
End If
Next z
Next
End Sub

wobei der Teil
If ber Is Nothing Then
Set ber = z
Else
Set ber = Union(ber, z)
End If
ja gar nicht benötigt wird, oder geht dein Code normalerweise noch weiter?
Gruß
Heinz
Anzeige

333 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige