Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1220to1224
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

Code verbessern / erweitern

Code verbessern / erweitern
Franz
Hallo zusammen,
ich möchte in diese Formel noch eine weitere Plausi einbauen:
Range("M2:M12").Select
For Each Zelle In Selection
If IsNumeric(Zelle.Value) = True And _
Zelle.HasFormula = False Then
Zelle.Value = Zelle.Value * 1
End If
Next Zelle
Genauer gesagt soll das nur dann passieren, wenn in Zelle A der betreffenden Zeile ein Text oder eine Zahl steht (Leerzeichen sollen nicht gewertet werden).
Beispiel:
A2 Text
M2 soll korrigiert werden, wenn die anderen Voraussetzungen gegeben sind
A3
M3 soll nicht korrigiert werden.
Ist das machbar? Für mich ist das zu hoch.
Vielen Dank!
Franz Kupfer

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

Betreff
Benutzer
Anzeige
das geht übrigens auch ohne Select
22.07.2011 23:37:54
Matthias
Hallo Franz
https://www.herber.de/bbs/user/75829.xls
(In der Datei ist der Code noch ein klein wenig anders)
Ich würde es dann doch eher so machen:
Option Explicit
Sub Franz()
Dim Zelle
For Each Zelle In Range("M2:M12")
With Zelle
If IsNumeric(.Value) = True And .HasFormula = False And .Offset(, -12)  "" Then
.Value = .Value * 1
.NumberFormat = "General"
End If
End With
Next Zelle
End Sub
Gruß Matthias
Was ist Plausi...? ;-)
23.07.2011 00:09:45
Luc:-?
Hi, Franz,
bspw so…

For zx = 2 To 12
If Replace(Cells(zx, 1), " ", "")  "" Then
With Cells(zx, 13)
If IsNumeric(.Value) And Not .HasFormula Then _
.Value = CDbl(.Value)
End With
End If
Next zx
Gruß Luc :-?
Anzeige
...und das ist KEINE Fml, sondern PgmCode! owT
23.07.2011 00:12:48
Luc:-?
:-?
oder mit Trim()
23.07.2011 00:33:59
Matthias
Hallo
Hatte die Leerzeichen vergessen zu ignorieren.
Option Explicit
Sub Franz()
Dim Zelle
For Each Zelle In Range("M2:M12")
With Zelle
If IsNumeric(.Value) = True And .HasFormula = False And Trim(.Offset(, -12).Text)  "" Then
.Value = .Value * 1
.NumberFormat = "General"
End If
End With
Next Zelle
End Sub
Gruß Matthias
@ Matthias: Funktioniert prima, danke!
23.07.2011 12:35:04
Franz
War da nicht noch was...? :-< owT
23.07.2011 23:51:39
Luc:-?
:-?

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige