Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
364to368
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
364to368
364to368
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Worksheetfunktion

Worksheetfunktion
19.01.2004 08:39:52
Micha
Hallo wer kann helfen.
mit dem nachfolgenden Makro durchsuche ich die Tabelle1 nach Zahlen. Wird eine Zahl gefunden soll diese Zahl mit der Worksheetfunktion Round gerundet werden. Das funzt auch. Leider enthält die Tabelle1 auch verbundene Zellen zb
=Tabelle2!A1. Leider rundet das makro hier derart, das der Bezug zur Tabelle2 verloren geht. Wie kann man das verhindern.
.address hat nicht gefunzt.

Sub test()
Dim roindex As Integer, colindex As Integer
With ActiveSheet
irowll = Cells(Rows.Count, 1).End(xlUp).Row
icoll = 256
End With
For roindex = 1 To irowll
For colindex = 1 To icoll
With ActiveSheet.Cells(roindex, colindex)
On Error Resume Next
If .Value > 0# Then
Worksheets("Tabelle1").Cells(roindex, colindex) = WorksheetFunction.Round(Worksheets("Tabelle1").Cells(roindex, colindex), -2)
End If
End With
Next colindex
Next roindex
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: Worksheetfunktion
19.01.2004 09:08:05
Michael Brueggemann
Hallo Micha,
diesen Teil wuerde ich wie folgt umformulieren:
With ActiveSheet.Cells(roindex, colindex)
On Error Resume Next
If .Value > 0# Then
Worksheets("Tabelle1").Cells(roindex, colindex) = WorksheetFunction.Round(Worksheets("Tabelle1").Cells(roindex, colindex), -2)
End If
End With
neu:
Pruefe, ob Zelle Formel enthaelt, wenn ja, dann ROUND als auessere Funktion einbauen, sonst Wert runden.

With ActiveSheet.Cells(roindex, colindex)
On Error Resume Next
If Left(.Formula, 1) = "=" Then
strFormula = Cells(i, 1).Formula
intLenFormula = Len(strFormula)
.Formula = "=Round(" & _
Right(strFormula, intLenFormula - 1) & _
", 2)"
Else
.Value = WorksheetFunction.Round(.Value, 2)
End If
End With

CIAO
Michael
Anzeige
AW: Worksheetfunktion
19.01.2004 09:41:23
micha
Hallo Michael,

danke für deine Antwort. Das Makro von Dir funzt. Ist aber nicht das was ich meinte.
In der Tabelle1 a1 steht =Tabelle2!A1. Der der "sichtbare Wert" in Tabelle 1 a1 ist
125
Nach dem das Markro gelaufen ist

soll in der Tabelle1 a1 stehen =Tabelle2!a1, der sichtbare Wert soll 100 betragen.
Ist eine Zelle leer, soll auch nichts drin stehen. Dein Makro liefert dann eine Null.

Gruß Micha
AW: Worksheetfunktion
19.01.2004 11:56:05
Michael Brueggemann
Hallo Micha,
wenn Du die leere Zelle behalten willst, kannst Du den Block
"With ActiveSheet.Cells(roindex, colindex)" bis "End With" mit der Bedingung
"If Not IsEmpty(Cells(roindex, colindex)) Then" klammern. Dann wird der folgende Code eben nur fuer nicht leere Zellen ausgefuehrt.
Den gleichen optischen Effekt erreichst Du, indem Du im Zahlenformat die 0 unterdrueckst (z.B. durch das Format "#.##0,00;-#.##0,00;" (natuerlich ohne "), das negative Werte mit einem Minus versieht und Nullen unterdrueckt (kein Format hinter dem zweiten Semikolon).
Wenn Du das Format mit zwei Nachkommastellen verwendest und generell mit der Genauigkeit rechnen willst, wie die Werte angezeit werden (z.b. statt 1,23456 * 2,54678 mit 1,23 * 2,55), dann kannst Du ueber Extras - Optionen - Berechnung auch "Genauigkeit wie angezeigt" fuer die gesamte Arbeitsmappe einstellen. Dann benoetigst Du nicht einmal mehr das Makro, sondern nur noch das zweistellige Format und die gesetzte Option.

CIAO
Michael
Anzeige
AW: Worksheetfunktion
19.01.2004 12:28:32
Micha
Hallo Michael,

jetzt ist es so wie ich mir das vorgestellt habe.
Herzlichen Dank

Micha
AW: Worksheetfunktion
19.01.2004 09:16:51
IngoG
Hallo Micha,
verbundene Zellen sind teufelszeug.
versuch doch einfach, die verbundenen Zellen aufzulösen...
Du kannst ja auch übere mehrere Spalten zentrieren, ohne dass die Zellen verbunden sind.
(siehe Format/Zellen, ausrichtung horizontal zentriert über spalten und kein häkchen bei zellen verbinden)
Vielleicht hilft Dir das ja weiter...
Gruß Ingo
AW: Worksheetfunktion
19.01.2004 09:42:50
Micha
Danke für deine Antwort.
Ich denke jedoch, das Du mich völlig mißverstanden hast.

Gruß Micha
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige