MS-Office-Forum
Google
   

Zurück   MS-Office-Forum > Microsoft Office > Microsoft Excel
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads Der Renner, 11 Entwicklertools für Access, Tipps & Trick und offene Datenbanken zum einzigartigen Preis.
Themen-Optionen Ansicht
Alt 12.01.2017, 08:54   #1
Maxelix90
Neuer Benutzer
Neuer Benutzer
Standard VBA - Hilfe bei Datensatzänderung

Hallo zusammen,

ich vermute, dass ich hier ein total triviales Problem habe, ich aber selber überhaupt keine Lösung finde sondern mich der totalen Verzweiflung nähere.

Das Procedere ist ganz simpel. Ich lese alle vorhandenen Daten aus Spalte A in die ListBox. Per ListBox-Click werden mir die kompletten Datensätze in den TextBoxen angezeigt. Jetzt möchte ich die Datensätze gerne bearbeiten und die Änderung in der Tabelle vornehmen. Das war's auch schon.

Leider funktioniert das nicht so wie ich will. Dazu bitte einfach die angehängte Datei mal anschauen und ausprobieren.

Ursprünglich wollte ich das mit einer Schleife lösen, dann habe ich mir gedacht, ich mache es ganz simpel und hab es nun so runter gebrochen wie es dort steht. Also meine Funktion ist ganz simpel und normal nichts, was ich nicht auch selbst könnte, aber VBA will die Datensätze einfach nicht in die Tabelle eintragen

Ich hoffe ihr könnt mir weiterhelfen.


Viele liebe Grüße

Maxelix
Angehängte Dateien
Dateityp: xlsm Mappe1.xlsm (18,9 KB, 5x aufgerufen)
Maxelix90 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 12.01.2017, 11:28   #2
R J
MOF Meister
MOF Meister
Standard

Hi Maxelix,

Dein Problem ist, dass Du die Rowsource der Listbox verknüpft hast. Dadurch wird dein Click Ereignis bei jeder Zelländerung ausgelöst.
Mögl. Lösung: Nimm im Initialize Ereignis der Form die Verknüpfung der Rowsource raus und lass die Spaltenwerte über eine Schleife einlesen.

__________________

Ciao, Ralf

Der sicherste Ansatz für einen Irrtum ist der Glaube, alles im Griff zu haben.
Nur, weil ich den Recorder bedienen kann, macht mich das noch lange nicht zum Musiker.
Diskussion

R J ist gerade online  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 13.01.2017, 11:11   #3
Maxelix90
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Hallo,

danke für die Antwort. Es hat schon mal funktioniert, die RowSource rauszunehmen. Leider habe ich aber keine Ahnung, wie ich die ListBox per Schleife fülle. Ich habe folgenden Ansatz (aus meinem anderen Quellcode kopiert). Dort hatte ich aber einen Suchbegriff. Hier habe ich keinen Suchbegriff, sondern möchte aus Spalte A die Zeilen 2 bis zum aktuell letzten Eintrag einlesen. Ich stehe wieder auf dem Schlauch.

Code:

Sub UserForm_Initialize()

    Dim rngFind As Range
    Dim Suche As Variant
    Dim FirstAddress As String
    Dim i As Integer

    Dim LastRow As Long
    Dim k As Integer
        
    With Worksheets("Rechnung")
        
        LastRow = .Range("A65536").End(xlUp).Row
            
        With ListBox1
        
            .ColumnCount = 3
            .ColumnWidths = "0;100;0"
        
        End With
            
            
        With ActiveSheet
            
            ListBox1.Clear
            
            Set rngFind = .Columns(1).Find(what:=Suche, LookAt:=xlPart)
            
                
                FirstAddress = rngFind.Address
                Do
                    ListBox1.AddItem
                    ListBox1.List(i, 0) = rngFind.Row
                    ListBox1.List(i, 1) = Cells(rngFind.Row, 1)
                    
                    If i = LastRow - 2 Then Exit Do
                    
                    i = i + 1
                Loop
            
        End With

    
    End With

End Sub
Maxelix90 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 13.01.2017, 12:07   #4
R J
MOF Meister
MOF Meister
Standard

,,,statt dem hier:

Zitat:

With Worksheets("Rechnung")

LastRow = .Range("A65536").End(xlUp).Row

With ListBox1

.ColumnCount = 3
.ColumnWidths = "0;100;0"

End With

...
...

Nimm das:
Code:

...
...
Dim z as long
For z = 2 to lastrow
    Listbox1.AddItem(.cells(z,1))
next z
...
...
und schmeiß die Do Schleife raus...

__________________

Ciao, Ralf

Der sicherste Ansatz für einen Irrtum ist der Glaube, alles im Griff zu haben.
Nur, weil ich den Recorder bedienen kann, macht mich das noch lange nicht zum Musiker.
Diskussion

R J ist gerade online  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 13.01.2017, 12:56   #5
Maxelix90
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Oh man wie simpel und ich breche mir hier einen ab

Ich danke Dir vielmals!!!
Maxelix90 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:52 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

Copyright ©2000-2010 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günther Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.
Beachten Sie bitte auch unsere Nutzungsbedingungen.