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

if then vereinfachen, aber wie?

if then vereinfachen, aber wie?
23.03.2009 19:43:56
Thomas
Hi,
ich habe folgende Befehle in einem Block die bei Click aktiviert werden.
If Range("G13").Formula = "" Then Range("E13").Formula =""
das geht dann so weiter bis wir bei
If Range("G43").Formula = "" Then Range("E43").Formula = ""
angekommen sind.
Kann man dieses Vereinfachen und wenn ja, wie?
Danke fürs lesen und eventuelle Helfen
Gruss Thomas

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: if then vereinfachen, aber wie?
23.03.2009 19:48:28
Lars
Hi,

Sub t()
Dim z As Long
For z = 13 To 43
If Range("G" & CStr(z)).Formula = "" Then Range("E" & CStr(z)).Formula = ""
Next
End Sub


mfg Lars

AW: if then vereinfachen, aber wie?
23.03.2009 19:51:32
Uwe
Hi Thomas,
ich denke so:

Sub test()
Dim Zelle As Range
For Each Zelle In Range("G13:G43")
If Zelle.Formula = "" Then Zelle.Offset(0, -2).Formula = ""
Next Zelle
End Sub


Gruß
Uwe
(:o)

AW: if then vereinfachen, aber wie?
23.03.2009 20:15:04
Thomas
Hallo Lars und Uwe,
danke für die schnelle Hilfe. Ein von mir gebastelter Block wäre ja noch gegangen, aber ich bräuchte davon zwölf.
Die Syntax von Lars passt genau, bei der von Uwe haut irgendetwas nicht hin. Da wird irgendwie meiner Meinung nach der "E" Block nicht erfasst.
Danke und Gruss Thomas
Anzeige
AW: if then vereinfachen, aber wie?
23.03.2009 20:36:28
Uwe
Hi,
doch, die Spalte E wird in:
Zelle.Offset(0, -2)
durch die -2 "erfasst, die "sagt" gehe zwei Spalten nach links.
Bei mir hat's geklappt. Aber wenn Du mit Lars Code klarkommst ist ja alles Bestens (:-).
Gruß
Uwe
(:o)
AW: if then vereinfachen, aber wie?
23.03.2009 22:12:59
Thomas
Hi,
ich probier das morgen nochmal aus. möglicherweise habe ich heute einfach keine nerven mehr gehabt genau hinzuschauen ob da alle zellen gemäss vorgabe geleert werden. nu lässt mir das erstmal wieder keine ruhe. eingebaut hab ich das ding vom lars, aber ich lern ja gern da ja bekanntlicherweise viele wege nach rom führen.
gruss thomas ;-)
Anzeige
AW: Noch einfacher
24.03.2009 00:11:08
Daniel
weil ohne Schleife und in einer Zeile:

Range("G13:G43").SpecialCells(xlCellTypeBlanks).Offset(0, -2).ClearContents


sollte es vorkommen können, daß es im Bereich keine Leerzellen gibt, müsste man es so erweiteren:


On Error Resume Next
Range("G13:G43").SpecialCells(xlCellTypeBlanks).Offset(0, -2).ClearContents
On Error Goto 0


Gruß, Daniel

AW: Noch einfacher
25.03.2009 12:48:29
Thomas
Hi Daniel und Uwe,
alle drei Vorschläge funktionieren bestens. Aber welcher ist der Schnellste? ;-)
@ Uwe, hast recht gehabt. Ich hatte deinen vorschlag nur ins falsche sheet kopiert gehabt und dann verflixt gerufen. wenn alles leer ist, bleibt auch alles leer. ;-)
@ Daniel, die zu überwachende (G) spalte ist ein variabler schichtplan. die zu leerende (E) spalte ist eine vorgabe der anwesenheit. Nun hab ich schon eine form des automatischen ausfüllens + leerens bei fehlern etc. gefunden und wollte mit der if then anweisung das ausfüllen soweit erleichtern das wenn keine schicht anliegt auch keine anwesenheitsanzeige dazusein hat/braucht.
wenn das teil fertig ist, könnte man es auch mal onlinestellen zum zerpflücken. ;-)
Gruss Thomas
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige