Ich arbeite seit geraumer Zeit mit Excel und Vba.
Zurzeit bin ich in einen kleinen Projekt mit dem ich einen "Generator" schreibe.
Hier zuerst einmal ein paar Bilder und Daten.
http://i51.tinypic.com/33cu2kp.jpg
ist die Userform
http://i53.tinypic.com/r73yxe.png
ist die Tabelle
Start (Hier befindet sich der Button für die Userform
die anderen 3 Spalten sind alle gleich siehe Bild.
1 = CB_Pool
2 = BT_Bestaetigen
3 = TB_ID
4 = CB_ID
5 = BT_Anzeigen
6 = TB_Inhalt
7 = TB_Back / BT_Forward
8 = BT_Eintragen
9 = BT_Beenden
Hier mein Code:
Private Sub BT_Anzeigen_Click()
Application.ScreenUpdating = False
Range("A2").Select
Suche:
If CB_ID = ActiveCell.Text Then
TB_ID.Text = ActiveCell.Text
ActiveCell.Offset(0, 1).Select
TB_Inhalt.Text = ActiveCell.Text
ActiveCell.Offset(0, -1).Select
Else
ActiveCell.Offset(1, 0).Select
GoTo Suche
End If
Application.ScreenUpdating = True
End Sub
______________________________________________________________
Private Sub BT_Back_Click()
ActiveCell.Offset(-1, -1).Select
TB_ID.Text = ActiveCell.Text
ActiveCell.Offset(0, 1).Select
TB_Inhalt = ActiveCell.Text
End Sub
______________________________________________________________
Private Sub BT_Beenden_Click()
Unload Me
End Sub
______________________________________________________________
Private Sub BT_Bestaetigen_Click()
Anfang:
Application.ScreenUpdating = False
Neue_Suche:
If CB_Pool = "Absatz 1 Zeile 1" Then
Sheets("Ab.1 Ze.1").Select
Range("A2").Select
Else
If CB_Pool = "Absatz 1 Zeile 2" Then
Sheets("Ab.1 Ze.2").Select
Range("A2").Select
Else
If CB_Pool = "Absatz 1 Zeile 3" Then
Sheets("Ab.1 Ze.3").Select
Range("A2").Select
Else
GoTo Neue_Suche
End If
End If
End If
Anzeige:
TB_ID.Text = ActiveCell.Text
ActiveCell.Offset(0, 1).Select
TB_Inhalt = ActiveCell.Text
Application.ScreenUpdating = True
End Sub
______________________________________________________________
Private Sub BT_Forward_Click()
Range("A2").Select
Suche:
ActiveCell.Offset(1, 0).Activate
ActiveCell.Offset(0, -1).Activate
TB_ID.Text = ActiveCell.Text
ActiveCell.Offset(0, 1).Select
TB_Inhalt = ActiveCell.Text
GoTo Suche
End Sub
______________________________________________________________
Private Sub UserForm_Initialize()
CB_Pool.AddItem ("Absatz 1 Zeile 1")
CB_Pool.AddItem ("Absatz 1 Zeile 2")
CB_Pool.AddItem ("Absatz 1 Zeile 3")
End Sub
1. Hier stehen 3 Werte drinn.
2. Wenn ein Wert ausgesucht wurde prüft dieser Button zuerst welcher Wert ausgewählt ist und geht zu der jeweiligen Tabelle und auf Range("A2")
3. Dies ist eine Textbox in der eine ID angezeigt wird.
4. Dies ist eine Combobox in der alle IDS der jeweiligen Tabelle angezeigt werden sollen.
5. Durch diesen button springt Excel zur gewählten ID.
6. In dieser textbox soll ein text ausgegeben werden (Spalte B).
7. Dies sind Buttons mit denen man per offset durch die Spalte springen kann und sich jeweils alle beiden werte einer Zeile anzeigen lassen kann.
8. Mit diesen Button soll man mal diesen Angezeigten text in Word kopieren
9. Beendet die Userform.
So ich habe nun noch einen Experimentellen Code der nicht funktioniert.
Hier soll in der 2ten Combobox die IDs der jeweiligen Tabelle (des wertes der Combobox ) _
eingetragen werden.
Range("A2").Select
Eintragung:
If ActiveCell = "" Then
Else
CB_ID.AddItem (ActiveCell)
ActiveCell.Offset(1, 0).Select
If CB_Pool = "Absatz 1 Zeile 1" Then
Sheets("Ab.1 Ze.2").Select
GoTo Eintragung
Else
If CB_Pool = "Absatz 1 Zeile 2" Then
GoTo Eintragung
Else
If CB_Pool = "Absatz 1 Zeile 3" Then
GoTo Eintragung
End If
End If
End If
End If
Dieser code soll noch in den BT_Eintragen
So nun meine Fragen:
1. Wie könnte der Experimentelle Code aussehen damit er funktioniert ?
2. Bei den Forward / Back Buttons meckert es mir bei Activecell.offset(wert1, wert2).select rum. (Anfangs ging dieser Befehl doch nach den 10ten versuch nicht mehr ) aber wenn ich diese 2 werte entferne meckert es mir beim nächsten offset rum was hat das für eine Bedeutung ? (Alle Makros sind auf einen anderen computer geschrieben jedoch mit der gleichen Version (excel 2010)
3. Wie kann man einen Text aus einer textbox in Word konvertieren ?
ich hoffe ich habe euch mit diesen ganzen Infos es leichter gemacht mir weiter zu helfen und würde mich über Hilfe eurer seits sehr sehr freuen.