Clever-Excel-Forum

Normale Version: Zelle automatisch in Spalte einfügen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo, ich habe eine Datei zusammengestellt wo ich noch etwas Hilfe benötige.
In Spalte A sind die Quelldaten - in der Regel mit einem 25er Abstand.
In Spalte D (1-10) sind die Suchbedingungen; in Spalte C ist die Formel um die Suchbedingung aus D in Spalte A zu finden:

=WENN(RECHTS(D2;14)="nicht gespielt";"";SUMME(ZEILE(A:A)*((A:A)=D2&".")))

In den Spalten E;F;G usw. werden die Quelldaten eingefügt, in der Art wie "Gib Wert aus Spalte A; Zeile 41+1" (+2, +3 usw)
Nun ist es so, dass die Quelldaten manchmal nicht vollständig ist, weil ein Wert fehlt - daher auch der 24er Abstand bei 5 zu 6.

Ist es möglich in Excel eine Zelle automatisch einfügen zu lassen, wenn der Abstand 24 beträgt. Also eine Zelle in A142.




EDIT:

Da ich die Datei nicht hochladen kann um es sich besser ansehen zu können, formuliere ich meine Frage anders:
Ist es möglich in Excel eine Zelle automatisch mit Bedingung einfügen zu lassen:
Wenn D4-D3 = 24
Dann füge in A??(Spaltenwert steht dann in D3) eine Zelle ein.
Hi Marvin,

dafür würdest Du ein Makro benötigen. Sollen die tangierenden Daten dann nach rechts oder unten geschoben werden und betrifft das jede Zelle in Spalte D, also z.B. D4-D3, D5-D4, D6-D5 usw und welcher Bereich ist zu untersuchen, also z.B. D2:D100 oder bis zur letzten gefüllten Zelle in Spalte D oder ...?
Die Zellen müssten dann immer in A nach unten eingefügt werden,
Es geht von D2 bis D35 und der Abstand ist jeweils zwischen 2 benachbarten Zellen (also 34 mal)
Hallöchen,

probier das mal an einer Kopie aus. Wenn z.B. in D5 die Differenz 24 ist, wird D5 und alles was darunter kommt durch das Einfügen einer Zelle eine Zelle nach unten geschoben. Falls Du irgendwo Formeln hast, verschieben sich eventuelle Bezüge auf Saplte A ggf. auch mit.

Code:
Option Explicit

Sub test()
Dim iCnt%
For iCnt = 3 To 35
  'Wenn D4-D3 = 24
  'Dann fuege in A??(Spaltenwert steht dann in D3) eine Zelle ein.
  If Cells(iCnt, 4) - Cells(iCnt - 1, 4) = 24 Then Cells(iCnt, 1).Insert Shift:=xlDown
Next
End Sub
Er hatte jetzt Zellen eingefügt, aber nicht an der richtigen Stelle. 
In Spalte C6 steht 141 in C7 steht 165 - dann müsste er in A142 eine Zelle einfügen.
Makro hat aber in A7 eine Zelle eingefügt.

Ich kann das Makro auch nicht wirklich deuten, so dass ich es nicht bearbeiten kann. (Woran kann man erkennen, dass er sich auf Spalte D bezieht?)
Hallöchen,

also D ist der 4. Buchstabe im Alphabet Smile … Cells(zeile, spalte)
If Cells(iCnt, 3) - Cells(iCnt - 1, 3) = 24 Then Cells(iCnt, 1).Insert Shift:=xlDown

Gut, verändern kann ich die Spaltenwerte zumindest, habe aber immer noch das Problem, dass er die Zelle nur in der Zeile eingügt wo er den "Fehler" gefunden hat (3-35);
nicht aber den Wert aus C (z.B. C6 = 141(+1)) er also in A142 die Zelle einfügt.


EDIT: Muss man was bei dem iCnt beachten, dass man das Makro nur zum laufen bringt, wenn eine bestimmte Zelle aktiv ist oder so?
Hallöchen,

im Moment kann man das Makro nur manuell bzw. auf "Knopfdruck" starten und es prüft den kompletten definierten Bereich.

Wenn DU noch mehr machen willst, z.B. den Wert aus C übertragen, dann statt

If Cells(iCnt, 3) - Cells(iCnt - 1, 3) = 24 Then Cells(iCnt, 1).Insert Shift:=xlDown

neu

If Cells(iCnt, 3) - Cells(iCnt - 1, 3) = 24 Then
Cells(iCnt, 1).Insert Shift:=xlDown
Cells(iCnt, 1).Value = Cells(iCnt, 3).Value
End If

oder

If Cells(iCnt, 3) - Cells(iCnt - 1, 3) = 24 Then
Cells(iCnt, 1).Insert Shift:=xlDown
Cells(iCnt, 1).Value = Cells(iCnt, 3).Value + 1
End If
Danke für die Antwort, aber so richtig ist es noch nicht - jetzt überträgt er einfach die Werte (z.B. 141 in die 6.Reihe in Spalte A) und nicht eine Leerzelle in A142.

Ich muss mal selber etwas ausprobieren - vielleicht könnte ich es noch hinkriegen.


Vielen Dank für die Vorschläge
Hallöchen,

wenn in A in die eingefügte Zelle der Wert aus C oder der Wert aus C + 1 eingetragen werden soll, dann ist die Zelle in A nicht mehr leer ..
Seiten: 1 2