Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

Falsche Zeile wird kopiert | Herbers Excel-Forum


Betrifft: Falsche Zeile wird kopiert von: Martin
Geschrieben am: 20.01.2010 14:52:41

Hallo Leute,

habe folgenden code, der allerdings leider fehlerhaft ist

Sub FindenZeileVerdopeln() 
    Dim c As Range 
    Dim firstAddress As String 
    Dim SuchWert As String 
    
    Application.ScreenUpdating = False 
    SuchWert = "Hallo"
    
    With Worksheets("Tabelle1").Range("C:C")
        Set c = .Find(SuchWert, LookIn:=xlValues, LookAt:=xlPart) 
        If Not c Is Nothing Then 
            firstAddress = c.Address 
            Do 
                With c.EntireRow 
                    .Copy 
                    .Insert Shift:=xlDown 
                End With 
                Application.CutCopyMode = False 
                Set c = .FindNext(c) 
                If c Is Nothing Then Exit Do 
            Loop While c.Address <> firstAddress 
        End If 
    End With 
    Application.ScreenUpdating = True 
End Sub
Mein anliegen ist folgendes: Ich möchte nicht die Zeile kopieren und einfügen, in der der Suchbegriff gefunden wird, sonder die zeile darunter.

Beispiel: In Zeile 9 ist der Suchbegriff, Zeile 10 soll kopiert werden und als zeile 11 eingefügt werden.

ich hoffe ich konnte mich verständlich ausdrücken!

bin euch im voraus schonmal sehr dankbar für eure hilfe

  

Betrifft: AW: Falsche Zeile wird kopiert von: Josef Ehrensberger
Geschrieben am: 20.01.2010 15:00:31

Hallo Martin,

With c.Offset(1, 0).EntireRow 

Gruß Sepp



  

Betrifft: AW: Falsche Zeile wird kopiert von: Martin
Geschrieben am: 20.01.2010 15:26:02

Hallo Sepp,

danke für die schnelle Antwort...Manchmal sind die Antworten so einfach und man sieht den Wald vor lauter Bäumen nicht mehr....aber da muss man durch...so ist das als anfänger

nun zu meiner nächsten Frage...

kurz zum Verständnis:
Die Suchfunktion habe ich nun über eine userform in mein excel file eingebetet. ich öffne das userform, wähle meinen Bereich der Tabelle aus (über die Suchfunktion, die ich mit einer combobox und vordefinierten bereichen verknüpft habe). Desweiteren habe ich noch mehrere andere Textfelder und Comboboxen, die wenn ich auf den ausführen button klicke in die neu eingefügte zeile eingetragen werden.

Nun zu meinem Problem: Eigentlich würde ich es so machen:

Private Sub CommandButton2_Click()
z = Range("A1").End(xlDown).Row + 1
If z > 65000 Then z = 2
    Cells(z, 1) = TextBox1
    Cells(z, 2) = TextBox2
    Cells(z, 3) = TextBox3
    Cells(z, 4) = TextBox4
    Cells(z, 5) = TextBox5
End Sub
jedoch ist die Zeile ja nicht leer und ich möchte auch nicht im vorfeld komplett den inhalt herauslöschen,da die Userform nur dazu da ist, einige weniger Zellen zu ersetzen.

Hoffe mein Problem wurde klar....wie stelle ich es an in der neu eingefügten zeile einzelne werte mit hilfe der userform zu ersetzen?


  

Betrifft: AW: Falsche Zeile wird kopiert von: Martin
Geschrieben am: 20.01.2010 17:02:06

hmmm echt komisch...habs jetzt hin und her probiert und nichts hat geklappt....
kann es sein, dass bereits der ansatz zur lösung meines problems falsch ist?

gruß martin


  

Betrifft: AW: Falsche Zeile wird kopiert von: Josef Ehrensberger
Geschrieben am: 20.01.2010 17:17:23

Hallo Martin,

mir erschliesst sich nicht, was deine Suche mit dem Eintragen in die Tabelle zu tun hat.

Berschreibe mal was du tun willst und wie der Ablauf aussieht.


Gruß Sepp



  

Betrifft: AW: Falsche Zeile wird kopiert von: Martin
Geschrieben am: 20.01.2010 17:31:52

Hallo ihr,

gut ich versuchs mal etwas detaillierter zu beschreiben:

ich hab eine große liste, die in mehrere blöcke unterteilt ist. zwischen diesen blöcken gibt es immer wieder leerzeilen und anschließend dann eben die blockübersicht mit überschrift

meine intention ist es eine art "Neuen Eintrag verfassen" button einzubinden.
nach betätigen des buttons öffnet sich dann das userform mit mehreren Comboboxen und textboxen.

die erste Combobox ist mit der suchfunktion verknüpft (alle Überschriften der Blöcke erfasst). d.h. hier bestimmte ich, wo der neue eintrag zu stehen hat. die anderen boxen sind dann eben dazu da die zeile zu ändern. sobald der Button "eintrag erstellen" getätigt wird soll dann folgendes ablaufen:

-Tabellenblock, in der der neue Eintrag eingefügt werden soll wird gesucht
-neue Zeile wird erstellt (kopieren und einfügen)
- die restlichen combo- und textboxen ändern die werte der neu erstellten Zeile ab -- diesen punkt bekomme ich nicht hin....userform passt soweit und alles nur eben nicht, die angabe wo die Werte des Userforms eingefügt werden...

war das soweit verständlich?

viele grüße

martin


  

Betrifft: AW: Falsche Zeile wird kopiert von: Josef Ehrensberger
Geschrieben am: 20.01.2010 17:34:03

Hallo Martin,

verständlich ja, aber ohne Bespieltabelle wird das nichts, weil sicher niemand
Lust verspührt, deine Tabelle und das UF nachzubauen.


Gruß Sepp



  

Betrifft: AW: Falsche Zeile wird kopiert von: Martin
Geschrieben am: 20.01.2010 17:55:30

würde ich wenn der upload funktionieren würde....ich versuche es morgen nochmal


Beiträge aus den Excel-Beispielen zum Thema "Falsche Zeile wird kopiert"