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

Letzte Zelle suchen und überall Formel eintragen

Letzte Zelle suchen und überall Formel eintragen
04.03.2018 16:57:03
Albin
Hallo Zusammen
Brauche mal Hilfe in VBA. :-(
Suche ein Makro, dass von A2 bis letzter Eintrag A sucht. z.B. A451
Dann sollte von B2 - B451 die Formel =LINKS(N2;FINDEN("-";N2)-1) eingetragen werden. Wie auch von C2 - C451 die andere Formal =RECHTS(N2;LÄNGE(N2)-FINDEN("-";N2))eingetragen werden.
Wenn zu Beispiel eine Zelle oder mehrere Zellen leer im A leer sind, dann sollte auch die Zellen in der gleichen Zeile B & C leer bleiben.
Ich Danke Euch im Voraus für die Hilfe.
LG
Albin

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Letzte Zelle suchen und überall Formel eintragen
04.03.2018 17:40:21
Werner
Hallo Albin,
so:
Public Sub Formel_eintragen()
Dim loLetzte As Long
With Worksheets("Tabelle1") 'Blattname anpassen
loLetzte = .Cells(.Rows.Count, 1).End(xlUp).Row
.Range(.Cells(2, 2), .Cells(loLetzte, 2)).FormulaLocal = _
"=LINKS(N2;FINDEN(""-"";N2)-1)"
.Range(.Cells(2, 3), .Cells(loLetzte, 3)).FormulaLocal = _
"=RECHTS(N2;LÄNGE(N2)-FINDEN(""-"";N2))"
End With
End Sub
Gruß Werner
AW: Letzte Zelle suchen und überall Formel eintragen
04.03.2018 17:50:19
Luschi
Hallo Albin,
hier mal mein Vorschlag:

Sub MachMal()
Dim ws As Worksheet, rg As Range, j As Long
Set ws = ThisWorkbook.Worksheets("meineTab")
With ws
'letzte belegte Zelle in Spalte 'A'
j = .Cells(.Rows.Count, "A").End(xlUp).Row
.Range("B2").Formula = "=IFERROR(LEFT(N2,FIND(""-"",N2)-1),"""")"
.Range("B2").AutoFill Destination:=.Range("B2:B" & j), Type:=xlFillDefault
.Range("C2").Formula = "=IFERROR(MID(N2,FIND(""-"",N2)+1,250),"""")"
.Range("C2").AutoFill Destination:=.Range("C2:C" & j), Type:=xlFillDefault
End With
Set ws = Nothing
End Sub
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Letzte Zelle suchen und überall Formel eintragen
04.03.2018 18:19:57
fcs
Hallo Albin,
Sub Formeln_Spalte_B_und_C()
Dim wks As Worksheet
Dim Zei_L As Long
Set wks = ActiveSheet
Application.Calculation = xlCalculationManual
With wks
Zei_L = .Cells(.Rows.Count, 1).End(xlUp).Row
If Zei_L >= 2 Then
With .Range(.Cells(2, 1), .Cells(Zei_L, 1))
If Application.WorksheetFunction.CountBlank(.Cells) = 0 Then
'B2:Bxxx  Formel =LINKS(N2;FINDEN("-";N2)-1)
.Offset(0, 1).FormulaR1C1 = "=LEFT(RC[12],FIND(""-"",RC[12])-1)"
'C2:Cxx die andere Formal =RECHTS(N2;LÄNGE(N2)-FINDEN("-";N2))
.Offset(0, 2).FormulaR1C1 = "=RIGHT(RC[11],LEN(RC[11])-FIND(""-"",RC[11]))"
Else
'Leerzellen in Spalte A überspringen
With .SpecialCells(xlCellTypeConstants)
.Offset(0, 1).FormulaR1C1 = "=LEFT(RC[12],FIND(""-"",RC[12])-1)"
.Offset(0, 2).FormulaR1C1 = "=RIGHT(RC[11],LEN(RC[11])-FIND(""-"",RC[11]))"
End With
End If
End With
End If
End With
Application.Calculation = xlCalculationAutomatic
End Sub

Gruß
Franz
Anzeige
AW: Letzte Zelle suchen und überall Formel eintra
04.03.2018 22:11:25
Albin
Hoi Franz Hoi Zusamme
Danke für das rasche Feedback. Sorry für meine späte Antwort.
Danke für dein Marko, ist genau das was ich suchte. Denn der Wert in Spalte A kann verschieden sein.
Trotzdem noch eine kleine Frage, wie sieht die Formel aus. Wenn zum Beispiel eine Zelle in Spalte N leer ist. So das die Anzeige mit den # nicht kommt. Das mit dem WENN = bekomme einfach nicht hin.
Danke
AW: Letzte Zelle suchen und überall Formel eintra
05.03.2018 06:33:54
Luschi
Hallo Albin,
in meiner Variante ist bereits die WennFehler()-Variante eingebaut. Ich benutze aber .Formula statt .FormulaRC. Bei dieser 2. Variante muß ich immer die Finger zu Hilfe nehmen, um rauszukrieren, welche Spalte mit C[12] gemeint ist. Die Formel wird in Spalte (Column) 'B' geschrieben, also bedeutet C[12] 12 Spalten weiter rechts und das ist Spalte 'N'.
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Letzte Zelle suchen und überall Formel eintra
05.03.2018 14:37:30
Albin
Hoi Luschi
Habe Marko neu auf: Quelle Spalte G / Output neu auf Spalte E und F angepasst.
Eigentlich passt es. Aber mich würde es schon Wunder nehmen, wie ich das mit der Anzeige #Wert rausbekomme (Schönheitsfehler)? Habe es mit .Formula versucht, leider ohne Erfolg. Wie auch, um Gottesnamen ist die Anpassung, dass das Makro nicht auf die Spalte A guckt. Sondern immer auf Spalte B, ob Eintrag in Zelle vorhanden ist.
Gruss Albin
https://www.herber.de/bbs/user/120215.xlsm
AW: Letzte Zelle suchen und überall Formel eintra
05.03.2018 15:01:42
Werner
Hallo Albin,
und wo hast du da WENNFEHLER mit drin?
Sub Formeln_Spalte_B_und_C()
Dim wks As Worksheet
Dim Zei_L As Long
Set wks = ActiveSheet
Application.Calculation = xlCalculationManual
With wks
Zei_L = .Cells(.Rows.Count, 1).End(xlUp).Row
If Zei_L >= 2 Then
With .Range(.Cells(2, 1), .Cells(Zei_L, 1))
If Application.WorksheetFunction.CountBlank(.Cells) = 0 Then
' erster Text Links holen bis - Zeichen.  (0, 5) für Eintrag Spalte F  [2] _
Quele - Wert holen +2 Spalten rechts
.Offset(0, 4).FormulaR1C1 = _
"=IFERROR(LEFT(RC[2],FIND(""-"",RC[2])-1),"""")"
' zweiter Text Rechts holen ab - Zeichen.  (0, 6) für Eintrag Spalte g  [1] _
Quele - Wert holen +1 Spalten rechts
.Offset(0, 5).FormulaR1C1 = _
"=IFERROR(RIGHT(RC[1],LEN(RC[1])-FIND(""-"",RC[1])),"""")"
Else
'Leerzellen in Spalte A überspringen
With .SpecialCells(xlCellTypeConstants)
.Offset(0, 4).FormulaR1C1 = _
"=IFERROR(LEFT(RC[2],FIND(""-"",RC[2])-1),"""")"
.Offset(0, 5).FormulaR1C1 = _
"=IFERROR(RIGHT(RC[1],LEN(RC[1])-FIND(""-"",RC[1])),"""")"
End With
End If
End With
End If
End With
Application.Calculation = xlCalculationAutomatic
End Sub
Gruß Werner
Anzeige
AW: Letzte Zelle suchen und überall Formel eintra
05.03.2018 15:24:04
Albin
Hallo Luschi
Das mit #Wert ist nun weg. Viele Danke!
Wie bereits gefragt, wo ist die Bedingung, dass in der Spalte B ein Text drin ist und nicht in Spalte A. Rein aus Wunder. :-)
Gruss Albin
AW: Letzte Zelle suchen und überall Formel eintra
05.03.2018 08:56:46
Werner
Hallo Albin,
bei meiner Version:
Public Sub Formel_eintragen()
Dim loLetzte As Long
With Worksheets("Tabelle1") 'Blattname anpassen
loLetzte = .Cells(.Rows.Count, 1).End(xlUp).Row
.Range(.Cells(2, 2), .Cells(loLetzte, 2)).FormulaLocal = _
"=WENNFEHLER(LINKS(N2;FINDEN(""-"";N2)-1);"""")"
.Range(.Cells(2, 3), .Cells(loLetzte, 3)).FormulaLocal = _
"=WENNFEHLER(RECHTS(N2;LÄNGE(N2)-FINDEN(""-"";N2));"""")"
End With
End Sub
Gruß Werner
Anzeige
AW: Letzte Zelle suchen und überall Formel eintra
08.03.2018 17:18:14
Albin
Danke für Eure HILFE.
LG
Albin
Gerne u. Danke für die Rückmeldung....
08.03.2018 18:46:33
Werner
Hallo Albin,
..dann aber bitte den Beitrag nicht als offen (ungelöst) markieren.
Gruß Werner
AW: Gerne u. Danke für die Rückmeldung....
08.03.2018 19:04:47
Albin
Sorry.
AW: Letzte Zelle suchen und überall Formel eintragen
04.03.2018 20:36:35
Daniel
Hi
wenn in Spalte A feste Werte stehen (keine Formeln)
with Range("A2:A" & Rows.Count).SpecicalCells(xlcelltypeconstants)
Intersect(Columns(2), .entireRow).FormulaLocal = "=LINKS(N2;FINDEN(""-"";N2)-1)"
Intersect(Columns(3), .EntireRow).FormulaLocal = "=RECHTS(N2;LÄNGE(N2)-FINDEN(""-"";N2))"
End with
Gruß Daniel
AW: Letzte Zelle suchen und überall Formel eintragen
04.03.2018 20:37:07
Daniel
Hi
wenn in Spalte A feste Werte stehen (keine Formeln)
with Range("A2:A" & Rows.Count).SpecicalCells(xlcelltypeconstants)
Intersect(Columns(2), .entireRow).FormulaLocal = "=LINKS(N2;FINDEN(""-"";N2)-1)"
Intersect(Columns(3), .EntireRow).FormulaLocal = "=RECHTS(N2;LÄNGE(N2)-FINDEN(""-"";N2))"
End with
Gruß Daniel
Anzeige

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige