Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Zelle automatisch in Spalte einfügen
#1
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.
Antworten Top
#2
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 ...?
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • Marvin26
Antworten Top
#3
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)
Antworten Top
#4
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
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#5
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?)
Antworten Top
#6
Hallöchen,

also D ist der 4. Buchstabe im Alphabet Smile … Cells(zeile, spalte)
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • Marvin26
Antworten Top
#7
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?
Antworten Top
#8
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
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • Marvin26
Antworten Top
#9
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
Antworten Top
#10
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 ..
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste