Anzeige
Archiv - Navigation
640to644
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
640to644
640to644
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Code verkürzen

Code verkürzen
25.07.2005 18:07:00
Basti
Hallo zusammen,
ich habe für ein kleines Problemchen mal wieder einen riesenlangen Code gebastelt. Der funktioniert zwar aber ich glaube das geht auch irgendwie einfacher.
Da das Problem so jetzt schlecht zu beschreiben ist habe ich mal eine Beispieldatei hochgeladen in der ihr auch nochmal ne Beschreibung findet.
Unter:
https://www.herber.de/bbs/user/24991.xls
Gruß Basti

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Code verkürzen
25.07.2005 18:22:40
Hajo_Zi
Hallo BAsti,
versichte auf select, Activate
mal ein Ansatz
Option Explicit

Private Sub CommandButton1_Click()
Dim myControl As Control
Dim a As Range
For Each myControl In Me.Controls
If TypeOf myControl Is MSForms.TextBox Then
myControl.Value = ""
End If
Next
Set a = Range("a:a").Find("auto")
If a.Offset(1, 0) <> "" Then
TextBox1.Value = a.Offset(0, 1).Value
ElseIf a.Offset(2, 0) <> "" Then
TextBox2.Value = a.Offset(1, 1).Value
TextBox1.Value = a.Offset(0, 1).Value
ElseIf a.Offset(3, 0) <> "" Then
TextBox3.Value = a.Offset(2, 1).Value
TextBox2.Value = a.Offset(1, 1).Value
TextBox1.Value = a.Offset(0, 1).Value
ElseIf a.Offset(4, 0) <> "" Then
TextBox4.Value = a.Offset(3, 1).Value
TextBox3.Value = a.Offset(2, 1).Value
TextBox2.Value = a.Offset(1, 1).Value
TextBox1.Value = a.Offset(0, 1).Value
End If
End Sub

Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Home SP2 und Excel Version 2003 SP1.


Anzeige
AW: Code verkürzen
25.07.2005 18:41:40
Reinhard
Hi Sebastian,
ungetestet:
Sub finden(was As String)
Dim a As Range
Set a = Range("a:a").Find(was)
For n = 1 To 4
TextBox(n).Visible = False
TextBox(n) = a.Offset(n - 1, 1)
If n <= Cells(a.Row, 1).End(xlDown).Row - 1 - a.Row Then TextBox(n).Visible = True
Next n
End Sub
Private Sub CommandButton1_Click()
Call finden("Auto")
End Sub
Private Sub CommandButton1_Click()
Call finden("Möbel")
End Sub
Private Sub CommandButton1_Click()
Call finden("Gebäude")
End Sub

Gruß
Reinhard
AW: Code verkürzen
25.07.2005 18:56:06
Basti
Der Code sieht gut aus, sowas habe ich mir vorgestellt,
leider funzt er nicht, hatt e jetzt mal versucht die Klammern um n wegzulassen und war schon mal was näher dran. Leider fehlt in Zeile5(TextBoxn.Visible = False) ein Objekt, mmhh
Sub finden(was As String)
Dim a As Range
Set a = Range("a:a").Find(was)
For n = 1 To 4
TextBoxn.Visible = False
TextBoxn = a.Offset(n - 1, 1)
If n Next n
End Sub

Private Sub CommandButton1_Click()
Call finden("Auto")
End Sub


Private Sub CommandButton1_Click()
Call finden("Möbel")
End Sub


Private Sub CommandButton1_Click()
Call finden("Gebäude")
End Sub

hast du noch ne schlaue Idee, Gruß Basti
Anzeige
Jetzt funktioniert der Code
25.07.2005 18:58:45
Reinhard
Hi basti,
Private Sub CommandButton1_Click()
Call finden("Auto")
End Sub
Private Sub CommandButton2_Click()
Call finden("Möbel")
End Sub
Private Sub CommandButton3_Click()
Call finden("Gebäude")
End Sub
Sub finden(was As String)
Dim a As Range
Set a = Range("a:a").Find(was)
Call verbergen
For n = 1 To Cells(a.Row, 1).End(xlDown).Row - a.Row
Controls("TextBox" & n).Text = a.Offset(n - 1, 1)
Controls("TextBox" & n).Visible = True
Next n
End Sub
Sub verbergen()
For n = 1 To 5
Controls("TextBox" & n).Visible = False
Next n
End Sub

Gruß
Reinhard
Anzeige
AW: Jetzt funktioniert der Code
25.07.2005 19:02:51
Basti
Ja Saugut, vielen vielen Dank, das is et
Schöne Grüße Basti

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige