Anzeige
Archiv - Navigation
1652to1656
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
Inhaltsverzeichnis

für UF Tabelle vor bestimmter Tabelle wählen

für UF Tabelle vor bestimmter Tabelle wählen
27.10.2018 15:25:37
Peter
Hallo ihr Excelspezialisten,
ich bitte euch um eure Hilfe für ein Problem, welches ich selbst nicht lösen kann.
Ich habe eine Userform bei der ich ein bestimmtes Tabellenblatt benötige.
In der Userform_initialize habe ich hierzu folgenden Code:
Dim WB As Workbook
Dim WS1 As Worksheet
Set WB = ThisWorkbook
Set WS1 = WB.Sheets("Buchen")
Aufgrund meines Programmablaufs ist es jetzt jedoch so, das das benötigte Sheet einen immer wieder ändernden Namen hat.
Das benötigte Sheet ist aber immer das Sheet, welches direkt vor dem Sheet ("Hilfstabelle") befindet.
Nun habe ich im Forum einen Hinweis gefunden, wie der Index von diesem Sheet ausgelesen werden kann: "Msgbox ThisWorkbook.Worksheets("Hilfstabelle").Index".
In meinem derzeitigen Programm ist der Index "4"
Logischerweise, nachdem sich mit jedem Einfügen vor der Hilfstabelle der Index ändert, müsste der Code hierzu lauten:
ThisWorkbook.Worksheets("Hilfstabelle").Index -1
Wie kann ich dies mit mit o. a. Set ... verbinden.
Besten Dank
Gruss
Peter

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: für UF Tabelle vor bestimmter Tabelle wählen
27.10.2018 15:35:33
Hajo_Zi
Halo Peter,
Userform_initialize bei einer Excelsitzung nur einmal ausgeführt, benutzt Activate.
Benutze den Internen Namen der Tabelle Tabelle3

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Die Beiträge werden auch ignoriert, es erfolgt keine Antwort.
AW: für UF Tabelle vor bestimmter Tabelle wählen
27.10.2018 15:50:19
Peter
Hallo Hajo,
der interne Tabellenname ist nicht Tabelle3 sondern Tabelle7. Und wenn ich eine neue Tabelle vor der Hilfstabelle (Tabelle2) einfüge, dann ist die neue Tabelle3 die Interne Tabelle10.
Das führt leider nicht zu dem von mir benötigten Ergebnis.
Mit jeder Tabelle, welche ich einfüge und wieder entferne ändert sich die Tabellenzahl.
Geht m. E. nicht so.
Gruss
Peter
Anzeige
AW: für UF Tabelle vor bestimmter Tabelle wählen
27.10.2018 15:37:45
Sepp
Hallo Peter,
sprich die Tabelle über ihren Code-Namen an, dann ist es egal, wie sie heißt!
Set WS1 = WB.DeineTabelle
Userbild
 ABCDEF
1Gruß Sepp
2
3

Anzeige
AW: für UF Tabelle vor bestimmter Tabelle wählen
27.10.2018 15:50:58
Peter
Hallo Sepp,
der interne Tabellenname ist nicht Tabelle3 sondern Tabelle7. Und wenn ich eine neue Tabelle vor der Hilfstabelle (Tabelle2) einfüge, dann ist die neue Tabelle3 die Interne Tabelle10.
Das führt leider nicht zu dem von mir benötigten Ergebnis.
Mit jeder Tabelle, welche ich einfüge und wieder entferne ändert sich die Tabellenzahl.
Geht m. E. nicht so.
Gruss
Peter
AW: für UF Tabelle vor bestimmter Tabelle wählen
27.10.2018 15:59:23
Sepp
Hallo Peter,
du schriebst auch, dass die Tabelle einen neuen Namen hat, nicht das es sich um ein anderes/neues Tabellenblatt handelt!
Dann so:
  Set WB = ThisWorkbook
  
  With WB
    Set WS1 = .Sheets(.Sheets("Hilfstabelle").Index - 1)
  End With

VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0


 ABCDEF
1Gruß Sepp
2
3

Anzeige
AW: für UF Tabelle vor bestimmter Tabelle wählen
27.10.2018 16:04:19
Peter
Hallo Sepp,
der von Dir geschriebene Ansatz ist genau das, was ich mir vorstelle.
Wenn nun jedoch die erste Tabelle bei Beginn der Datei die Hilfsdatei ist, dann könnte eine Fehlermeldung kommen.
Ich habe im Forum einen Lösungsansatz gefunden, den ich aber nicht umzusetzen weiss:
Sub Auslesen_TB_vor_Hilfstabelle()
Dim i As Integer
Dim wSheetsDavor
Dim n As Integer
n = Worksheets.Count
For i = 1 To n
If Worksheets(i).Name = "Hilfstabelle" Then
If i > 1 Then
wSheetsDavor = Worksheets(i - 1).Name
MsgBox wSheetsDavor
Else
'falls Gesamtauswertung das 1. Blatt ist
wSheetsDavor = "*"
End If
End If
Next i
End Sub
Kannst Du bitte Deine Lösung entprechend umsetzen?
Besten Dank
Gruss Peter
Anzeige
AW: für UF Tabelle vor bestimmter Tabelle wählen
27.10.2018 16:11:21
Matthias
Deine Aussage!
Das benötigte Sheet ist aber immer das Sheet, welches direkt vor dem Sheet ("Hilfstabelle") befindet.
Dann schreib sowas nicht!
Gruß Matthias
AW: für UF Tabelle vor bestimmter Tabelle wählen
27.10.2018 16:14:36
Peter
Hallo Matthias,
das habe ich doch bereits in meiner ersten Anfrage mitgeteilt:
"Das benötigte Sheet ist aber immer das Sheet, welches direkt vor dem Sheet ("Hilfstabelle") befindet."
Gruss Peter
AW: für UF Tabelle vor bestimmter Tabelle wählen
27.10.2018 16:28:43
Sepp
Hallo Peter,
  Set WB = ThisWorkbook
  
  With WB
    If .Sheets("Hilfstabelle").Index > 1 Then
      Set WS1 = .Sheets(.Sheets("Hilfstabelle").Index - 1)
    Else
      MsgBox "nada!"
    End If
  End With

VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0


 ABCDEF
1Gruß Sepp
2
3

Anzeige
AW: gelöst
27.10.2018 16:32:04
Peter
Hallo Sepp,
funktioniert einwandfrei.
Vielen Dank für Deine Hilfe.
Gruss
Peter
AW: für UF Tabelle vor bestimmter Tabelle wählen
27.10.2018 16:02:27
Matthias
Hi
MsgBox ThisWorkbook.Worksheets(ThisWorkbook.Worksheets("Hilfstabelle").Index - 1).Name
Gruß Matthias
AW: für UF Tabelle vor bestimmter Tabelle wählen
27.10.2018 16:17:48
Peter
Hallo Matthias,
besten Dank.
Das ist im Prinzip die gleiche Lösung wie von Sepp, mit dem Unterschied, dass bei Deiner Lösung der Name gezeigt wird.
Jetzt geht es aber auch noch darum, dass ich dies in den Code einbauen muss. Dann kann ich das gleiche machen wie bei Sepp:
Set WB = ThisWorkbook
With WB
Set WS1 = .Sheets(.Sheets("Hilfstabelle").Index - 1).Name
End With
Nun kann jedoch der Fall eintreten, dass bei Neuanlage der Datei eine Tabelle vor der Hilfstabelle noch nicht existiert. Dann brauche ich doch eine Lösung die das beendet. Oder sehe ich das nicht richtig.
Besten Dank
Gruss Peter
Anzeige
AW: für UF Tabelle vor bestimmter Tabelle wählen
27.10.2018 16:29:45
onur
Dir versuchen diverse Leute zu helfen, während du die ganze Zeit die Spielregeln änderst.
Ich traue mich gar nicht nach der Datei zu fragen, denn mir graust es vor einem Code, der dauernd die Blattnamen und deren Reihenfolge ändert - wer weiss wie der Rest aussieht.
Vom Sinn und Zweck des Ganzen mal ganz zu schweigen.
AW: gelöst
27.10.2018 16:37:49
Peter
Hallo Onur,
ich habe meine Spielregeln nicht die ganze Zeit geändert. Ich bin kein Profi sondern ein Laie.
Ich habe von Anfang an gesagt, dass es sich immer um die Tabelle vor der "Hilfstabelle" handelt.
Die Lösungen von Sepp und Matthias sind bei in Ordnung. Nur während des Test ist mir eben noch die Frage eingefallen, dass ggf. ja keine erste Tabelle vor der "Hilfstabelle" existieren könnte. Aber auch diese Frage wurde von beiden - Sepp und Matthias bestens gelöst.
Insoweit hat sich es erledigt, eine Tabelle zu übermitteln.
Gruss
Peter
Anzeige
AW: für UF Tabelle vor bestimmter Tabelle wählen
27.10.2018 16:30:38
Matthias
Diese/Deine Aussagege habe ich bemängelt:
Das benötigte Sheet ist aber immer!! das Sheet, welches direkt vor dem Sheet ("Hilfstabelle") befindet.
Zitat:
Nun kann jedoch der Fall eintreten, dass bei Neuanlage der Datei eine Tabelle vor der Hilfstabelle noch nicht existier
Also war Deine erste Aussage nicht korrekt!


Frage ab, ob der Index von Worksheets("Hilfstabelle") > 1 ist.
If Worksheets("Hilfstabelle").Index > 1 then ' ...
Gruß Matthias
AW: gelöst
27.10.2018 16:33:50
Peter
Hallo Matthias,
besten Dank für Deine Hilfe. Die Lösung ist einwandfrei.
Gruss
Peter
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige