Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

MS Excel Aufrufen des nächsten Datensatz im Userform per Button

Frage Microsoft Microsoft Office

Mitglied: Maffinity

Maffinity (Level 1) - Jetzt verbinden

05.02.2013, aktualisiert 19:50 Uhr, 3886 Aufrufe, 4 Kommentare

Hallo zusammen,

ich suche heute schon den ganzen Tag nach einer Lösung für folgendes Problem:

Ich habe ein Userform erstellt in dem Datensätze einer bestimmten Zeile aus einem Tabellenblatt abgerufen werden.

01.
Private Const TabName = "Hardware"      'Tabellenname mit den Datensätzen 
02.
 
03.
Private Const FirstCell = "D1"          'Zell-Adresse Überschrift Datensatz 1 
04.
 
05.
Sub Init(ByVal PlatzNr As Integer) 
06.
    Caption = "Platz " & PlatzNr 
07.
    TextBox1.ControlSource = TabName & "!" & Range(FirstCell).Offset(PlatzNr, 0).Address 
08.
    TextBox2.ControlSource = TabName & "!" & Range(FirstCell).Offset(PlatzNr, 1).Address 
09.
    TextBox3.ControlSource = TabName & "!" & Range(FirstCell).Offset(PlatzNr, 2).Address 
10.
     
11.
    Show 
12.
   
13.
End Sub

Zusätzlich habe ich mehrere Makros im Modul 1 erstellt, die je nachdem welchen Button ich im Dokument anklicke einen bestimmten Wert (in meinem Fall die Zahl der Zeile nach meinen Startwert - Im Beispiel Zeile 111 bzw. 112) an mein Userform weitergeben.

Beispiel:
01.
Sub Schaltfläche111_Klicken() 
02.
Call UserForm3.Init(111) 
03.
End Sub 
04.
 
05.
Sub Schaltfläche112_Klicken() 
06.
Call UserForm3.Init(112) 
07.
End Sub
Das funktioniert soweit reibungslos. Ich würde jetzt aber gerne in dem Userform einen Button einbauen, der den Initialisierungswert im Userform um den Wert "1" erhöht und somit die Datensätze aus der nächsten Zeile angezeigt werden.

Über einen guten Tipp dazu, würde ichmich sehr freuen.

Danke und Gruß
Maffinity

Mitglied: bastla
06.02.2013 um 00:05 Uhr
Hallo Maffinity und willkommen im Forum!

Vielleicht (völlig ungetestet) so:
Erstelle eine globale Variable (durch
Dim PlNr
gleich am Anfang des Moduls.

Diese sollte sich dann durch
01.
Sub Schaltfläche111_Klicken() 
02.
PlNr = 111 
03.
Call UserForm3.Init(PlNr) 
04.
End Sub
für eine bestimmte Zeile bzw
01.
Sub Schaltfläche113_Klicken() 
02.
PlNr = PlNr + 1 
03.
Call UserForm3.Init(PlNr) 
04.
End Sub
für die nächste Zeile verwenden lassen ...

Grüße
bastla
Bitte warten ..
Mitglied: Maffinity
06.02.2013 um 09:05 Uhr
Hallo Bastla,

das hilft mir leider nicht bei meiner Lösung. ich probiere ja im UserForm über einen Button ein Userform mit dem nächsten Datensatz aufzurufen. Wenn ich die Variable im Modul definiere, merkt er sich diese zwar im Modul und damit für die weiteren Buttons im Dokument, aber wenn ich dann im Userform probiere den nächsten Datensatz über einen Button zu öffnen, ruft er mir mit folgenden Code immer wieder den ersten Datensatz auf.
01.
 
02.
Private Const TabName = "Hardware"      'Tabellenname mit den Datensätzen 
03.
 
04.
Private Const FirstCell = "D1"          'Zell-Adresse Überschrift Datensatz 1 
05.
 
06.
Sub Init(ByVal PlatzNr As Integer) 
07.
    Caption = "Platz " & PlatzNr 
08.
    TextBox1.ControlSource = TabName & "!" & Range(FirstCell).Offset(PlatzNr, 0).Address 
09.
    TextBox2.ControlSource = TabName & "!" & Range(FirstCell).Offset(PlatzNr, 1).Address 
10.
    TextBox3.ControlSource = TabName & "!" & Range(FirstCell).Offset(PlatzNr, 2).Address 
11.
     
12.
    Show 
13.
     
14.
End Sub 
15.
Sub CommandButton1_Click() 'Button im Userform der den nächsten Datensatz aufrufen soll 
16.
    PlatzNr = PlatzNr + 1 
17.
    Unload Me 
18.
    Call UserForm3.Init(PlatzNr) 
19.
 
20.
End Sub
Ich hab das zur Veranschaulichung hier auch noch einmal grafisch dargestellt:

fd859a1fdfa276ba7badae5b4613c538 - Klicke auf das Bild, um es zu vergrößern
Das sind Buttons aus dem Dokument durch die die entsprechenden Makros ausgeführt werden:
z.B. Button 1 ruft folgendes Makro aus dem Modul 1 auf
01.
Sub Schaltfläche1_Klicken() 
02.
Call UserForm3.Init(1) 
03.
End Sub
Dadurch wird das oben erwähnte Userform mit dem Wert "1" initilisiert wird und dadurch die Wert aus der ersten Zeile ausgibt.
8b550b7280d54ef871910d837dfffbc7 - Klicke auf das Bild, um es zu vergrößern
562e06cb1331f2aebf1f9c7efcd36e85 - Klicke auf das Bild, um es zu vergrößern

Nun möchte in diesem Userform durch den Klick auf den Okay-Button die Daten aus der nächsten Zeile anzeigen lassen.

Ich hoffe, dass mein Problem jetzt etwas verständlicher ist.

Viele Grüße
Henry
Bitte warten ..
Mitglied: bastla
06.02.2013 um 09:40 Uhr
Hallo Maffinity!

Hatte "Public" vergessen - versuch es mit
Dim Public PlNr
Das Modul hast Du über "Einfügen / Modul" erstellt?

Grüße
bastla
Bitte warten ..
Mitglied: Maffinity
06.02.2013 um 09:55 Uhr
Hallo bastla,

Tausend Dank!!!

Das hat funktioniert, aber mit folgender Variablen-Definition:

01.
Public PlNr
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Datenbanken
gelöst Täglicher Export einer View aus MS SQL 2008 in Excel oder CSV (9)

Frage von Arafat zum Thema Datenbanken ...

Datenbanken
gelöst MS Access 2010 Berechtigung für Button(Klick) (12)

Frage von Dr.Cornwallis zum Thema Datenbanken ...

Microsoft Office
MS Office Exel 2010 Update KB3115322 : Excel-Datei öffnet nicht mehr

Tipp von ArnoNymous zum Thema Microsoft Office ...

Microsoft Office
gelöst Excel Makro - Button "Springe zu Zeile mit heutigem Datum" (5)

Frage von hannsgmaulwurf zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...