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

nur eintragen wenn Zelle leer

nur eintragen wenn Zelle leer
10.12.2003 11:31:50
junny
Hallo Leute,
ich hab ein makro bei dem Zellen in eine bestehende Liste eingefügt werden können.

Nun ist es so, dass in der bestehenden Liste Zellverweise gibt.
Um die Verweise nach einfügen von Zellen wieder richtig zu setzten, habe ich im makro folgenden code.
Problem: schon ausgefüllte Zellen sollen nicht überschrieben werden!!! wie bekomme ich das hin??
Gruss volker

'Artikelbezeichnung
Range("D5").Select
ActiveCell.FormulaR1C1 = _
"=IF(R[-1]C[18]=3,0,IF(R[-1]C[18]>0,CONCATENATE(R4C56),IF(R[-2]C[18]=2,CONCATENATE(R1C56),"""")))"
Selection.AutoFill Destination:=Range("D5:D319"), Type:=xlFillDefault

'Länge
Range("F5").Select
ActiveCell.FormulaR1C1 = _
"=IF(AND(R[-1]C>1,R[-1]C[16]=1),R[-1]C+20,IF(AND(R[-1]C>1,R[-1]C[16]=2),R[-1]C+20,IF(AND(R[-2]C[16]=2,R[-2]C>0),R[-2]C,IF(AND(R[-1]C[16]=0,R[-1]C>0),0,""""))))"
Selection.AutoFill Destination:=Range("F5:F319"), Type:=xlFillDefault

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

Betreff
Datum
Anwender
Anzeige
AW: nur eintragen wenn Zelle leer
10.12.2003 12:17:03
WernerB.
Hallo Volker,

ich schlage diese Vorgehensweise vor (Artikelbezeichnung):

Sub Artikelbezeichnung()
Dim c As Range
Dim laR As Long
Application.ScreenUpdating = False
laR = Cells(Rows.Count, 1).End(xlUp).Row
Range("D5").Copy
For Each c In Range("D6:D319")
If c.Value = "" Then
c.PasteSpecial Paste:=xlFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
End If
Next c
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub

Viel Erfolg wünscht
WernerB.

P.S.: Das Forum lebt auch von den Rückmeldungen der Fragesteller an die Antworter (siehe Forums-FAQ).
Anzeige
AW: nur eintragen wenn Zelle leer
10.12.2003 13:26:16
junny
Hai Werner,
Range ("D5").Copy is nich, da in D5 nur so lange die Formel steht, bis Sie evtl. überschrieben wird (überschreiben kommt häufiger vor als automatisches ausfüllen) wenn in D5 nun bspw. "Türe" steht, setzte ich in alle leere Zellen ebenfalls "Türe".

Ich muss aber die richtige Formel (Formeln werden nach unten ausgefüllt und haben deswegen einen Bezug zur Zeilennummer)

Hast du noch einen Rat??
Lässt sich dein code mit meiner Formel paaren?

Gruss Volker
AW: nur eintragen wenn Zelle leer
10.12.2003 13:33:26
WernerB.
Hallo Volker,

na dann schreiben wir doch vor dem Kopieren die Formel in die Zelle D5 ...

Sub Artikelbezeichnung()
Dim c As Range
Dim laR As Long
Application.ScreenUpdating = False
laR = Cells(Rows.Count, 1).End(xlUp).Row
Range("D5").FormulaR1C1 = _
"=IF(R[-1]C[18]=3,0,IF(R[-1]C[18]>0,CONCATENATE(R4C56),IF(R[-2]C[18]=2,CONCATENATE(R1C56),"""")))"
Range("D5").Copy
For Each c In Range("D6:D319")
If c.Value = "" Then
c.PasteSpecial Paste:=xlFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
End If
Next c
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub

Gruß WernerB.
Anzeige
AW: nur eintragen wenn Zelle leer
10.12.2003 13:45:43
junny
Hai Werner,
das sieht schon super aus!
Aber: D5 brauche ich als unbeschriebene Zelle, oder? Sprich: es lässt sich nicht so hintricksen, dass D5 die Ausgangszelle ist, und gleichzeitig schon beschrieben ist.(deswegen nicht mit der Formel überschrieben werden soll).

Wenn nicht machbar, setzte ich in meine Vorlage eine Zeile rein und mach diese entsprechend klein (oder blende diese aus)

Viele Grüsse volker
AW: nur eintragen wenn Zelle leer
10.12.2003 14:06:50
WernerB.
Hallo Volker,

bisher bin ich davon ausgegangen, dass Du per Makro eine Formel in die Zelle D5 schreiben willst und diese anschließend über den Bereich D6:D319 in alle leeren Zellen ziehen/kopieren willst.
Deine Fragestellung ("Aber: D5 brauche ich als unbeschriebene Zelle, oder? Sprich: es lässt sich nicht so hintricksen, dass D5 die Ausgangszelle ist, und gleichzeitig schon beschrieben ist.(deswegen nicht mit der Formel überschrieben werden soll).") ist mir leider völlig unverständlich - ich kann nicht nachvollziehen, was Du überhaupt möchtest.

Vielleicht helfen Dir diese beiden Hinweise weiter:
1. Du kannst die Formel auch aus einer Zelle kopieren, wo sie garantiert immer drinsteht.
2. Du kannst die Formel auch zuerst in eine garantiert immer leere Zelle schreiben, und sie dann dort kopieren.

Gruß WernerB.
Anzeige
AW: nur eintragen wenn Zelle leer
10.12.2003 14:10:59
junny
Werner DANKE! 2. das mache ich. (vielleicht habe ich mich auch etwas missverständlich ausgedrückt)

Aber so komm ich hin.

Viele Grüsse volker
AW: nur eintragen wenn Zelle leer
10.12.2003 14:41:20
junny
Hai Werner, leider komm ich so doch nicht hin!

Ich muss das nochmals ausgiebig durchtesten, dann werd ich sehen wie ich weiter mache!!

Grüsse volker

315 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige