Hi,
ich habe folgende Tabelle:
Protokoll
Nun sollen per Button unterhalb der aktiven Zeile weitere Zeilen eingefügt werden.
In B steht immer entweder die Formel (z.B. =WENN(G840="A";B839;"")) oder eine Projektnummer.
Wenn ich eine Formel statt FormulaR1C1 nun Formula oder FormulaLocal formulieren will, wie würde die Makro-Code-Zeile dann lauten müssen?
z.B. für:
=WENN(G853="A";B852;"")
Range("B" & loZeile + 1).FormulaR1C1 = "=IF(RC[5]=""A"",R[-1]C,"""")"
Range("B" & loZeile + 1).FormulaLocal = ?
Range("B" & loZeile + 1).Formula = ?
Es gibt doch die Möglichkeit in einem Excel-Blatt automatisch zwischen R1C1 und lokal umformulieren zu lassen, mit allen "", wer sagt mir, wie das geht?
Momentan verwende ich dieses Makro:
B854: =WENN(G854="A";B852;"")
C854: =WENN(G854="P";LINKS(H854;23);WENN(G854="A";C852;""))
anstatt 852 müßte da jeweils 853 stehen.
ich habe folgende Tabelle:
Protokoll
A | B | C | D | G | |
838 | V | VE0149 | Update Burger | erledigt | A |
839 | V | VE0150 | Arbeitssicherheit | läuft | P |
840 | V | VE0150 | Arbeitssicherheit | läuft | A |
841 | V | VE0150 | Arbeitssicherheit | läuft | A |
842 | V | VE0150 | Arbeitssicherheit | läuft | A |
843 | V | VE0150 | Arbeitssicherheit | läuft | A |
844 | P | EE0222 | XDUpdater überarbeiten | läuft | P |
845 | P | EE0222 | XDUpdater überarbeiten | läuft | A |
846 | P | EE0222 | XDUpdater überarbeiten | läuft | A |
847 | V | VE0151 | Versuch im "Blitzlabor" | läuft | P |
848 | V | VE0151 | Versuch im "Blitzlabor" | läuft | A |
849 | V | VE0151 | Versuch im "Blitzlabor" | läuft | A |
850 |
verwendete Formeln | |||
Zelle | Formel | Bereich | N/A |
A838:A850 | =WENN(LINKS(B838;1)="E";"P";WENN(LINKS(B838;1)="V";"V";"")) | ||
B838,B840:B843,B845:B846,B848:B850 | =WENN(G838="A";B837;"") | ||
C838:C850 | =WENN(G838="P";LINKS(H838;23);WENN(G838="A";C837;"")) |
Excel-Inn.de |
Hajo-Excel.de |
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007 |
Add-In-Version 19.08 einschl. 64 Bit |
Nun sollen per Button unterhalb der aktiven Zeile weitere Zeilen eingefügt werden.
- (zwischendrin, folgend auf ein "P" in Spalte G): z.B. in Zeile 840, dann soll in G stehen "A" und in B "VE0150", also der Begriff der Zeile drüber
- (zwischendrin, folgend auf ein "A" in Spalte G): z.B. in Zeile 841, dann soll in G stehen "A" und in B "VE0150", also der Begriff der Zeile drüber
- (neues Projekt, darunter (Vorgängerzeile hat "A" in Spalte G) oder zwischendrin (Folgezeile hat "P" in Spalte G)): dann soll in G stehen "P" und B soll leer sein zur Eingabe einer neuen Projektnummer
In B steht immer entweder die Formel (z.B. =WENN(G840="A";B839;"")) oder eine Projektnummer.
Wenn ich eine Formel statt FormulaR1C1 nun Formula oder FormulaLocal formulieren will, wie würde die Makro-Code-Zeile dann lauten müssen?
z.B. für:
=WENN(G853="A";B852;"")
Range("B" & loZeile + 1).FormulaR1C1 = "=IF(RC[5]=""A"",R[-1]C,"""")"
Range("B" & loZeile + 1).FormulaLocal = ?
Range("B" & loZeile + 1).Formula = ?
Es gibt doch die Möglichkeit in einem Excel-Blatt automatisch zwischen R1C1 und lokal umformulieren zu lassen, mit allen "", wer sagt mir, wie das geht?
Momentan verwende ich dieses Makro:
Sub ZeileEinfügen()dabei wird aber in der Zeile, die nach einfügen eine nach unten rutscht, die Formel nicht komplett weitergezählt in B und C:
'
' ZeileEinfügen Makro
'
Dim loZeile As Long
'
Application.ScreenUpdating = False
loZeile = ActiveCell.Row
' ActiveCell.EntireRow.Insert
Rows(loZeile + 1 & ":" & loZeile + 1).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Range("A" & loZeile - 1).Copy Range("A" & loZeile + 1)
Range("C" & loZeile - 1).Copy Range("C" & loZeile + 1)
Range("B" & loZeile + 1).FormulaR1C1 = "=IF(RC[5]=""A"",R[-1]C,"""")" 'Beispiel: =WENN(G853="A";B852;"")
' so geht es nicht, denn dann steht auf Dauer nichts in B, weil ja G auch leer ist.
' If Range("G" & loZeile + 1) = "A" Then
' Range("B" & loZeile + 1) = Range("B" & loZeile)
' Else
' Range("B" & loZeile + 1) = ""
' End If
Range("B" & loZeile + 1).Select
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
B854: =WENN(G854="A";B852;"")
C854: =WENN(G854="P";LINKS(H854;23);WENN(G854="A";C852;""))
anstatt 852 müßte da jeweils 853 stehen.