Office: Neue Zeile unterhalb eines Buttons einfügen

Helfe beim Thema Neue Zeile unterhalb eines Buttons einfügen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hi Leute! Ich habe folgendes Problem. Ich habe eine Exceldatei in der viele verschiedene Produkte den jeweiligen Warengruppen zugeordnet werden... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Paulus2408, 3. September 2008.

  1. Neue Zeile unterhalb eines Buttons einfügen


    Hi Leute!

    Ich habe folgendes Problem. Ich habe eine Exceldatei in der viele verschiedene Produkte den jeweiligen Warengruppen zugeordnet werden sollen. Die Datei enthält zu Anfang nur die Auflistung der einzelnen Warengruppen.

    Hinter jeder Warengruppe befindet sich ein Button. Klickt man auf einen dieser Buttons wird unterhalb der Warengruppe eine neue Zeile eingefügt, in die die Daten zu dem jeweiligen Produkt eingegeben werden können! Bei einem weiteren Klick auf den Button der Warengruppe soll eine weitere Zeile unterhalb der letzten Zeile dieser Warengruppe eingefügt werden.

    Bin damit momentan ein wenig überfordert. kann mir jemand dabei vielleicht auf dei Sprünge helfen. habe mit VBA schon länger nichts mehr gemacht.

    Wäre Euch sehr dankbar!!!

    Mit freundlichem Gruß
    Paulus2408
     
    Paulus2408, 3. September 2008
    #1
  2. schatzi Super-Moderator
    Hallo!

    Dieser Button sucht z.B. in Spalte A nach dem letzten Auftauchen von "Gruppe1" und fügt darunter eine Zeile ein:
    Code:
    Private Sub CommandButton1_Click()
    Dim i As Long
    i = Cells(Rows.Count, 1).End(xlUp).Row
    Do Until Cells(i, 1) = "Gruppe1"
    i = i - 1
    Loop
    Rows(i + 1).Insert (xlShiftDown)
    End Sub
    
     
  3. Vielen Dank! Dass klappt schonmal wunderbar!

    Ist es mit VBA auch möglich in der erzeugten Zeile einen Button zu erzeugen? Probiere mich daran nun schon einen ganzen Tag und bin für jede Antwort dankbar.

    Mit freundlichem Gruß

    Paulus2408
     
    Paulus2408, 4. September 2008
    #3
  4. Frank81 Neuer User

    Neue Zeile unterhalb eines Buttons einfügen

    Hi Zusammen.


    Ich habe den Code auch benutzt. Allerdings habe ich noch ein Frage.

    Habe eine Tabelle 1. Hier gebe ich in eine Tabelle verschiedene Daten ein.

    Ich habe die Tabelle1 kopiert. --> Tabelle2!

    Hier benutze ich nur einige Daten. Den Rest habe ich ausgeblendet.
    (Soll ne Art Zusammenfassung sein)

    Habe also in Tabbe1 einen Button der mit Hilfe dieses Codes eine neue Zeile einfügt.
    PROBLEM: Die neue Zeile sollte auch an der gleichen Stelle in Tabelle2 eingefügt werden!

    Kann mir jemand helfen. Wäre SUPER!!

    Vielen Dank für Eure Hilfe!

    Frank
     
    Frank81, 3. Juni 2009
    #4
  5. miriki Erfahrener User
    Da triffst Du auf einen Haufen kleinerer Probleme, aber grundsätzlich ist das möglich, ja.

    Die Zeile, mit der man einen Button erzeugt, lautet beispielsweise:
    Code:
    ActiveSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1", Link:=False, DisplayAsIcon:=False, Left:=3.75, Top:=64.5, Width:=72, Height:=24).Select
    Das erzeugt einen Button aus der Symbolleiste "Steuerelemente-Toolbox". Es geht aber auch mit einem Button aus der Symbolleiste "Formular":
    Code:
    ActiveSheet.Buttons.Add(7.5, 63.75, 72, 72).Select
    Das Problem ist eigentlich nur, den Button an die richtige Position zu setzen und mit einem Ereignis zu verknüpfen.

    Das bedeutet, daß man zum einen die Position der Zelle herausfinden muß, wo der Button eingefügt werden soll. Des weiteren muß man ein SUB vorbereiten, welches dann als Klick-Ereignis aufgerufen wird. Das ist alles kein übermäßiger Aufwand, schätze ich mal, aber vielleicht ein überflüssiger, denn:

    Bei all dem würde ich folgendes bedenken: Jedes Steuerelement (also Buttons, Checkboxen, Listboxen, ...) verlangsamt das Laufzeitverhalten ziemlich stark. Bei vielen dürfte es bereits bei 50 Elementen zu merklichen Verzögerungen kommen. Und wenn Du in jeder Zeile gleich wieder einen Button einfügen willst, dürfte sich das recht schnell bemerkbar machen.

    Ich löse sowas i.a. lieber über einen zentralen Button, der die Position der aktiven Zelle (also der Cursor auf dem Arbeitsblatt) benutzt, um weitere Aktionen auszuführen. Ganz grob sowas in der Art:
    Code:
    y=activecell.row
    x=activecell.column
    v=trim$(activecell.value)
    if (x=1) and (y>=3) and (v<>"") then
        '...
    endif
    Sinnvollerweise hat der Button (Steuerelement-Toolbox) dabei die Eigenschaft "Take Focus on Click: No" gesetzt! ;-)

    So markiert man die Zelle, mit der man was machen möchte und klickt dann auf den entsprechenden Button, um die Aktion auszulösen.

    Gruß, Michael
     
    miriki, 4. Juni 2009
    #5
  6. miriki Erfahrener User
    Um mal etwas konkreter zu werden: Ich hab mal ein Beispiel zusammengebastelt.
    a) Eine leere Arbeitsmappe erstellt, die ein Blatt namens "Tabelle1" enthält.
    b) Die Zeilen 1..3 und 6..8 mit einem blassen Grün als Hintergrund gefüllt.
    c) Aus der Symbolleiste "Steuerelemente-Toolbox" die "Befehlsschaltfläche" ausgewählt und in Zelle A1 mittig geklickt, um einen Button ziemlich genau von A1 bis B3 zu erhalten.
    d) Mit rechter Maustaste auf dem Button "Eigenschaften" ausgewählt und geändert:
    - Name: B_ZeileEinfuegen
    - Caption: einfügen
    e) Mit rechter Maustaste auf dem Button "Code anzeigen" ausgewählt und im Modul von Tabelle1 folgendes erstellt:
    Code:
    Option Explicit
    
    Private Sub B_ZeileEinfuegen_Click()
    
        Const y = 5
    
        Dim s1 As Worksheet
        Dim r1 As Range
        Dim b1 As Object
        Dim vba As String
    
        Set s1 = ActiveSheet
    
        s1.Rows(y).Insert
        s1.Rows(y).RowHeight = 40
        Set r1 = s1.Cells(y, 1)
    
        Set b1 = s1.OLEObjects.Add(ClassType:="Forms.CommandButton.1", Link:=False, DisplayAsIcon:=False, Left:=r1.Left + 5, Top:=r1.Top + 5, Width:=r1.Width - 10, Height:=r1.Height - 10)
        
        vba = "Sub " & b1.Name & "_Click()" & vbCrLf
        vba = vba & "Call KnopfDruck" & vbCrLf
        vba = vba & "End Sub"
        
        With ActiveWorkbook.VBProject.VBComponents(s1.Name).CodeModule
            .insertlines .CountOfLines + 1, vba
        End With
    
    End Sub
    
    Public Sub KnopfDruck()
    
        MsgBox "Knopf wurde gedrückt!"
    
    End Sub
    Klickt man jetzt auf den Button, wird zwischen den beiden Zeilen 4 und 5 eine neue Zeile eingefügt. Diese wird etwas höher als die anderen gezogen und in die erste Spalte wird ein Button gesetzt. Diesem Button wird ein Ereignis zugewiesen und im VBA-Code angehängt. d.h:: Mit jedem Klick auf den oberen Button erweitert sich auch der VBA-Code im Modul von Tabelle1.

    Gruß, Michael
     
    miriki, 4. Juni 2009
    #6
Thema:

Neue Zeile unterhalb eines Buttons einfügen

Die Seite wird geladen...
  1. Neue Zeile unterhalb eines Buttons einfügen - Similar Threads - Zeile Buttons einfügen

  2. Excel VBA mit Toggle Button Zeile einfärben

    in Microsoft Excel Hilfe
    Excel VBA mit Toggle Button Zeile einfärben: Hallo, ich habe ein Makro für einen activeX Toggle Button. Wenn dieser nicht betätigt ist, sollen bestimme Zellen in einer Reihe ihre Hintergrundfarbe ( hexal #FFFFFF ; RGB 255 255 255)...
  3. Zeile einfügen per Button Klick möglich?

    in Microsoft Excel Hilfe
    Zeile einfügen per Button Klick möglich?: Guten Morgen. Ist es möglich, dass man per Klick auf einen Button (siehe bitte Anhang) eine Zeile einfügen kann? Konkretes Beispiel: Klick mit der Maus in das Feld A3 Wenn ich jetzt auf den...
  4. Zeilen kopieren und einfügen mittels Button

    in Microsoft Excel Hilfe
    Zeilen kopieren und einfügen mittels Button: Hallo! Ich hätte folgendes Problem: Ich möchte in meiner Excel Tabelle mittels Button erreichen, dass bei Klick zwei Zeilen (zB Zeilen 9 und 10) kopiert werden (in Zeilen 9 und 10 sind Formeln...
  5. Button zum Einfügen einer Zeile unterhalb

    in Microsoft Excel Hilfe
    Button zum Einfügen einer Zeile unterhalb: Hallo liebe Forumsuser! Ich bin totaler Neuling im Bereich Makros, wenn ihr mir helfen könnte wäre das super! :top: So nun zu meine Problem: Ich hab ein Excell-Sheet mit unterschiedlichen...
  6. Zeile einfügen unter letzte ausgefüllte Zeile mit Klick auf Button

    in Microsoft Excel Hilfe
    Zeile einfügen unter letzte ausgefüllte Zeile mit Klick auf Button: Hallo zusammen, ich habe den folgenden Code geschrieben, um unterhalb der Spalte Nummer eine Zeile in die Tabelle einzufügen/löschen: Sub Zeile_löschen() Dim i As Long i = Cells(Rows.Count,...
  7. Letzte Zeile per Button kopieren und neu einfügen

    in Microsoft Excel Hilfe
    Letzte Zeile per Button kopieren und neu einfügen: Hallo zusammen, ich möchte gerne am Ende eines xls-Sheets einen Button haben, mit dem man auf Knopfdruck die letzte Zeile kopieren und unter die letzte zeile einfügen kann. Der Button wandert...
  8. Zeilen durch Button beliebig oft einfügen

    in Microsoft Excel Hilfe
    Zeilen durch Button beliebig oft einfügen: Hallo liebes Forum, ich ahbe folgendes problem und hoffe, dass Ihr mir helfen könnt. Ich habe eine Excelliste erstellt, in der man durch Dropdownfenster Fragen beantworten kann. Mein...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden