online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon Touljo vom 18.06.2021, 17:21 Options

Zeile an bestimmte Stelle (nach parameter) einfügen

Hallo!

Folgendes:

Ich möchte bei Excel im groben und ganzen nur eine Zeile einfügen.
Allerdings an eine bestimmte Stelle. Ich habe eine Liste von Namen
Beispiel (versuche mal Excel nachzustellen^^ Punkte (.....) sollen nur die "Spalten" von einander Trennen.)

A..................................B
Mustermann..............wichtige Daten
Mustermann..............fast wichtig
Mustermann..............lol
Musterfrau..................informativ
Musterfrau..................mir fällt nix mehr ein
Mustersonstiges.......ähm... ja!
Mustersonstiges.......reicht auch wieder
Mustersonstiges.......endlich feddisch...

Jetzt brauche ich einen Button der eine leere Zeile z.B. genau zwischen dem letzten Musterfrau und dem ersten Mustersonstiges einfügt, oder halt zwischen Mustermann und Musterfrau.

C.....................................................................................D
leeres Feld zum eintippen des Parameters..........Autoform als Knopf
(also wenn ich hier z.B. Mustermann
eintippe soll die leere Zeile nach dem
letzten Mustermann erscheinen, bei
Musterfrau nach dem letzten Musterfrau.)


Kann man das irgendwie bewerkstelligen? Danke schonmal für die Hilfe.

GREEETZ
Touljo


Antwort schreiben

Antwort 1 von nighty vom 19.06.2021, 00:18 Options

hi Touljo :-)

probier mal :-)

gruss nighty

Option Explicit
Sub Einfuegen()
    Dim SpalteA() As Variant
    Dim Zelle As Long
    SpalteA() = Range("A2:A" & Cells(Rows.Count, 1).End(xlUp).Row)
    For Zelle = UBound(SpalteA()) To 2 Step -1
        If UCase(SpalteA(Zelle, 1)) = UCase(Cells(1, 1)) Then
            Rows(Zelle + 2).Insert Shift:=xlDown
            Exit For
        End If
    Next Zelle
End Sub

Antwort 2 von nighty vom 19.06.2021, 00:25 Options

hi Touljo :-)

besser so :-)

gruss nighty


Option Explicit
Sub Einfuegen()
    Dim SpalteA() As Variant
    Dim Zelle As Long
    SpalteA() = Range("A2:A" & Cells(Rows.Count, 1).End(xlUp).Row)
    SuchZelle = Cells(1, 1)
    For Zelle = UBound(SpalteA()) To 2 Step -1
        If UCase(SpalteA(Zelle, 1)) = UCase(SuchZelle) Then
            Rows(Zelle + 2).Insert Shift:=xlDown
            Exit For
        End If
    Next Zelle
End Sub

Antwort 3 von nighty vom 19.06.2021, 00:27 Options

hi Touljo :-)

Dim SuchZelle As String

dann noch einfuegen

gruss nighty

Antwort 4 von Touljo vom 24.08.2021, 13:39 Options

Hi nighty!

Sorry für die verspätete antwort. War 3 Wochen lang im urlaub...^^

Also irgendwie fügt der ne Zeile ein, aber mir fehlt der Begriff zum eintippen und das er die Zeile direkt alphabetisch passend einbaut...

Kenne mich mit dieser Art VBA nicht aus. Habe nur erfahrung mit einfachen Dingen wie
Status = Shell
Sheets("name").Select
Range(Cells(7, 3), Cells(7, 3)).Select
ActiveSheet.Paste
usw.

Das heir sind paar viele Dinge auf einmal^^ Wäre lieb wenn du ne kleine nErklärung schreiben könntest, was wofür gut ist.

Aber danke schonmal.

Gruß
Touljo

Antwort 5 von nighty vom 24.08.2021, 19:56 Options

hi all ^^

fehlt der Begriff zum eintippen ?

gruss nighty

Option Explicit
Sub Einfuegen()
Dim SpalteA() As Variant
Dim Zelle As Long
SpalteA() = Range("A2:A" & Cells(Rows.Count, 1).End(xlUp).Row)
SuchZelle = Cells(1, 1) For Zelle = UBound(SpalteA()) To 2 Step -1
If UCase(SpalteA(Zelle, 1)) = UCase(SuchZelle) Then
Rows(Zelle + 2).Insert Shift:=xlDown
Exit For
End If
Next Zelle
End Sub

Antwort 6 von nighty vom 24.08.2021, 22:02 Options

hi all ^^

ein paar kommentare :-))

gruss nighty

Option Explicit
Sub Einfuegen()
    Dim SpalteA() As Variant 'array deklarierung
    Dim Zelle As Long 'variable der for next schleife wird deklariert
    SpalteA() = Range("A2:A" & Cells(Rows.Count, 1).End(xlUp).Row) 'ermittlung der letzten genutzten zeile in spalte A
    For Zelle = UBound(SpalteA()) To 2 Step -1 'ermitteltes ende bis 2 zeile,da erste die eingabezelle des suchbegriffes ist
        If UCase(SpalteA(Zelle, 1)) = UCase(Cells(1, 1)) Then 'bei uebereinstimmung
            Rows(Zelle + 2).Insert Shift:=xlDown 'einfuegen einer leerzeile bei fund
            Exit For 'verlassen der schleife
        End If 'ende vergleich
    Next Zelle 'naechste zelle bzw for next
End Sub

Antwort 7 von nighty vom 24.08.2021, 22:06 Options

hi all ^^

glatt die haelfte vom kommentar vergessen ^^

gruss nighty

SpalteA() = Range("A2:A" & Cells(Rows.Count, 1).End(xlUp).Row) 'ermittlung der letzten genutzten zeile in spalte A und arrayzuweisung

gruss nighty

Antwort 8 von Touljo vom 25.08.2021, 09:34 Options

Danke Nighty ;)

Das scheint eine echt komplizierte Sache zu sein für jemanden der seine VBA Erfahrungen im Selbststudium sammelt...^^
Ich werde mich damit mal auseinander setzen und probieren und testen.

Im Moment habe ich ein neues Projekt am laufen.
Als kleinen Bonus würde ich gern, wenn sich meine Userform öffnet, dass dort eine Uhr läuft. (hh:mm:ss)
Ich habe zwar eine Uhrzeit anzeigen können, aber sie läuft nicht weiter und startet nur bei klick auf das label feld...
Vielleicht kannst du mir auch hier helfen^^

Gruß Touljo

Antwort 9 von nighty vom 26.08.2021, 16:02 Options

hi Touljo ^^

zu eins
ein makro das einfacher zu verstehen ist ,koennte ich zwar machen,aber das waere zu langsam in der laufzeit :-)

zu zwei
die liebe uhrzeit ^^

rate ich aus dem selben grunde einfach mal ab

der wiederholte aufruf eines makros ist nicht akzeptabel

oder als notloesung

die api function waere eine alternative,die aber wieder versionsbedingt angepasst werden muss,um das zu verhindern, google mal und probiere einfach mal mehrere varianten aus,da findet sich einiges im netzt,auch hier wuerde ich auf sekunden lieber verzichten (die liebe laufzeit *hrhhrrr*),also wenn, dann nur stunden und minuten anzeige :-)

gruss nighty

Ähnliche Themen

zeile einfügen
PeterHa  06.04.2008 - 59 Hits - 3 Antworten

Daten in richtige zeile einfügen
Weiss_nix  27.07.2008 - 53 Hits - 5 Antworten

Excel 2007: Zeile einfügen
toschm  10.08.2008 - 58 Hits - 4 Antworten

Mit Makro Zeilen an bestimmter Stelle einfügen!
Mr.Smooth  28.01.2009 - 184 Hits - 9 Antworten

Zeile einfügen mit Fomel
bernyzz  29.03.2009 - 259 Hits - 6 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 01:23:17 2026