Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1472to1476
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

Namen ergänzen

Namen ergänzen
05.02.2016 17:51:44
walter
Hallo zusammen,
ich hatte ein Problem, was Franz soweit gelöst hatte.
Jetzt habe ich diese Zeile:
Die Tabellennamen fangen alle mit "Angebote" an z.b. "Angebote Mu" oder "Angebote Ha"
Was setze ich den hier rein:
Set wksAngebote = ThisWorkbook.Sheets("Angebote")
Set wksAngebote = ThisWorkbook.Sheets("Angebote & ***")
gruß
walter mb

19
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
ähhmm....
05.02.2016 18:31:53
EtoPHG
Hallo Walter,
Entweder du weisst genau welches Blatt du ansprechen willst, oder du iterierst mit einem For Each ws in ThisWorkbook.Worksheets durch die Tabellenblätter und überprüfst jeweils, ob der Name des Objekts mit "Angebote" beginnt.
Du erklärst nirgends, was du genau machen willst.
Gruess Hansueli

nochmal Erklärung
05.02.2016 18:43:42
walter
Hallo Hansueli,
versuch es nochmal.
Ich möchte ein Makro ansprechen aber für verschiedene Tabellen nutzen.
Set wksAngebote = ThisWorkbook.Sheets("Angebote")
Meine anderen Tabellenblätter haben folgenden Namen:
"Angebote Mu" oder "Angebote Ha" "Angebote Fr" oder "Angebote Halle"
wenn man in der irgendeiner Tabelle ist, soll das Makro ausgeführt werden.
Dazu fehlt mir jedoch die Ergänzung der der Set Anweisungszeile.
Könntest Du mir ein Beispiel mit For Each ws in ThisWorkbook.Worksheets
geben ?
mfg
walter mb

Anzeige
ungetestet
05.02.2016 18:56:14
KlausF
Hallo Walter,
ungetestet:
Dim ws As Worksheet
For Each ws in ThisWorkbook.Worksheets
If InStr(Worksheet(ws).Name, "Angebote") > 0 Then
'Tu etwas
End if
Next ws
Gruß
Klaus

AW: ungetestet und korrigiert...
05.02.2016 19:08:21
EtoPHG
Klaus,
Wenn schon...
Dim ws As Worksheet
For Each ws in ThisWorkbook.Worksheets
If Left(ws.Name,9) = "Angebote " Then
' Tu etwas im ws-Objekt
End If
Next ws

... und Walter, Deine Beschreibungen des Problems sind immer noch zu dürftig!
Gruess Hansueli

Leider ein Fehler
06.02.2016 13:59:34
walter
Hallo zusammen,
erst mal Danke für die Unterstützung.
Leider habe ich eine Fehlermeldung.
" Fehler beim Kompilieren:
Methode oder Datenobjekt nicht gefunden"
Anbei das Makro:
Dim rngZelle As Range, rngChange As Range
Dim wksAngebote As Object
'Application.EnableEvents = True
'Application.EnableEvents = True
'-------- klaus -----------------
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
If InStr(Worksheets(ws).Name, "Angebote") > 0 Then
'Tu etwas
'End If
'Next ws
'--- hansueli -------------------
''Dim ws As Worksheet
''For Each ws In ThisWorkbook.Worksheets
'' If Left(ws.Name, 9) = "Angebote " Then
' Tu etwas im ws-Objekt
'' End If
''Next ws
'--------------------------------------------------
'Set wsAngebote = ThisWorkbook.Sheets("Angebote")
'Set wsAngebote = ThisWorkbook.Sheets("Angebote")
ActiveSheet.Unprotect (getStrPasswort)
Select Case WorksheetFunction.CountA(Range("B23:C57"))
Case Is <= 0
ws.OptionButton1.BackColor = &HE0E0E0 'hellgrau
ws.OptionButton1.Caption = "Seite 1"
Case Is > 0
ActiveSheet.Unprotect (getStrPasswort)
ws.Range("C58").Value = ""
ws.Range("C122").Value = ""
ws.OptionButton1.BackColor = RGB(0, 255, 0) 'grün
ws.OptionButton1.Caption = "Seite 1 aktiv"
End Select
'-----------------
Select Case WorksheetFunction.CountA(Range("B87:C121"))
Case Is <= 0
ws.Range("C84").Value = ""
ws.OptionButton2.BackColor = &HE0E0E0 'hellgrau
ws.OptionButton2.Caption = "Seite 2"
Case Is > 0
ws.Range("C58").Value = "Seite 1 von 2 Seiten"
ws.Range("C122").Value = "Seite 2 von 2 Seiten"
ws.OptionButton2.BackColor = RGB(0, 255, 0) 'grün
ws.OptionButton2.Caption = "Seite 2 aktiv"
End Select
End If
Next ws
mfg
walter mb

Anzeige
Leider keine befriedegende Antwort ...
06.02.2016 16:44:05
EtoPHG
von mir, Walter,
...solange du nicht beschreibst, was du machen willst, sondern nur falsch abgeschriebenen und nicht verstandenen Code postest und das auch noch unformatiert und ohne die Code-Tags zu benutzen, bin ich nicht mehr gewillt Hilfestellungen irgendwelcher Art an Dich zu leisten.
Gruess Hansueli

Ich kann Dich leider nicht verstehen Hansueli -)
06.02.2016 17:09:57
walter
Hallo Hansueli,
leider kann ich deine Reaktion nicht verstehen.
Du bist doch der Experte !
Ich hatte das Orginal Makro gesendet und mitgeteilt, dass ich verschiedene
Tabellen ansprechen möchte.
Mit "ActiveSheet" wird jedesmal die entsprechende Tabelle angesprochen, in der
ich aktiv das Makro starte.
Aber trozdem Danke für Hilfe,
mfg walter mb

Anzeige
Über jedem AW-Formular befinden sich ...
06.02.2016 17:44:06
Luc:-?
…einige Buttons, Walter,
u.a. fett, kursiv,
  • Liste,
  • 
    Code, 
    
    mit denen man Teile des im Formular geschriebenen Textes entsprd auszeichnen kann. Das solltest du eigentl längst schon mitbekommen haben. Ein bisschen HTML-Kenntnis hat auch noch niemand geschadet, denn damit wird man schließlich im Internet ständig konfrontiert… ;-]
    Gruß, Luc :-?
    Besser informiert mit …

    Hallo Luc ehrlich...
    06.02.2016 20:49:55
    walter
    Hallo Luc,
    ehrlich gesagt, habe ich nicht verstanden, was dies mit meinem Makro zu tun hat.
    mfg
    walter mb

    Anzeige
    Nichts, aber mit seiner Darstellung im Forum! owT
    07.02.2016 04:49:46
    Luc:-?
    :-?

    AW: Namen ergänzen
    05.02.2016 19:14:07
    JoWE
    Hallo Walter,
    meinst Du es so?
    Option Explicit
    'in ein Modul
    Sub machwas(sh)
    MsgBox "Ich wurde aus der Tabelle " & sh & " gestartet!"
    'und hier dann tu etwas
    End Sub
    'in die Tabellen
    Sub ichmachdas()
    Call saveIt(ActiveSheet.Name)
    End Sub
    
    Gruß
    Jochen

    Keine Reaktion Jochen
    06.02.2016 14:04:59
    walter
    Hallo Jochen,
    genau so gemacht wie beschrieben,
    überhaupt keine Reaktion,
    mfg
    walter mb

    Hier mal mein Orginal Makro
    06.02.2016 14:32:10
    walter
    Hallo zusammen,
    hier mein "altes Makro" welches so für die Tabelle
    "Angebote Dü" einwandfrei funktioniert, leider aber nicht mit den
    Tabellen der Namen z.B. "Angebot kk" oder "Angebot Halle".
    If WorksheetFunction.CountA(Range("B23:C57")) ThisWorkbook.Sheets("Angebote Dü").OptionButton1.BackColor = &HE0E0E0 'hellgrau
    End If
    If WorksheetFunction.CountA(Range("B23:C57")) > 0 Then
    ' ThisWorkbook.Sheets("Angebote Dü").Range("C58").Value = ""
    ' ThisWorkbook.Sheets("Angebote Dü").Range("C122").Value = ""
    ThisWorkbook.Sheets("Angebote Dü").OptionButton1.BackColor = RGB(0, 255, 0) 'grün
    ThisWorkbook.Sheets("Angebote Dü").OptionButton1.Caption = "Seite 1 aktiv"
    End If
    '----Seite 2 -------------
    If WorksheetFunction.CountA(Range("B87:C121")) ThisWorkbook.Sheets("Angebote Dü").OptionButton2.BackColor = &HE0E0E0 'hellgrau
    ThisWorkbook.Sheets("Angebote Dü").OptionButton2.Caption = "Seite 2"
    End If
    If WorksheetFunction.CountA(Range("B87:C121")) > 0 Then
    ThisWorkbook.Sheets("Angebote Dü").Range("C58").Value = "Seite 1 von 2 Seiten"
    ThisWorkbook.Sheets("Angebote Dü").Range("C122").Value = "Seite 2 von 2 Seiten"
    ThisWorkbook.Sheets("Angebote Dü").OptionButton2.BackColor = RGB(0, 255, 0) 'grün
    ThisWorkbook.Sheets("Angebote Dü").OptionButton2.Caption = "Seite 2 aktiv"
    End If
    '------ Seite 3 -----------
    If WorksheetFunction.CountA(Range("B151:C185")) ThisWorkbook.Sheets("Angebote Dü").Range("C58").Value = ""
    ThisWorkbook.Sheets("Angebote Dü").Range("C122").Value = ""
    ThisWorkbook.Sheets("Angebote Dü").Range("C186").Value = ""
    ThisWorkbook.Sheets("Angebote Dü").OptionButton3.BackColor = &HE0E0E0 'hellgrau
    ThisWorkbook.Sheets("Angebote Dü").OptionButton3.Caption = "Seite 3"
    End If
    If WorksheetFunction.CountA(Range("B151:C185")) > 0 Then
    ThisWorkbook.Sheets("Angebote Dü").Range("C58").Value = "Seite 1 von 3 Seiten"
    ThisWorkbook.Sheets("Angebote Dü").Range("C122").Value = "Seite 2 von 3 Seiten"
    ThisWorkbook.Sheets("Angebote Dü").Range("C186").Value = "Seite 3 von 3 Seiten"
    ThisWorkbook.Sheets("Angebote Dü").OptionButton3.BackColor = RGB(0, 255, 0) 'grün
    ThisWorkbook.Sheets("Angebote Dü").OptionButton3.Caption = "Seite 3 aktiv"
    End If
    '-------- seite 4 ----------
    If WorksheetFunction.CountA(Range("B215:C249")) ThisWorkbook.Sheets("Angebote Dü").Range("C250").Value = ""
    ThisWorkbook.Sheets("Angebote Dü").OptionButton4.BackColor = &HE0E0E0 'hellgrau
    ThisWorkbook.Sheets("Angebote Dü").OptionButton4.Caption = "Seite 4"
    End If
    If WorksheetFunction.CountA(Range("B215:C249")) > 0 Then
    ThisWorkbook.Sheets("Angebote Dü").Range("C58").Value = "Seite 1 von 4 Seiten"
    ThisWorkbook.Sheets("Angebote Dü").Range("C122").Value = "Seite 2 von 4 Seiten"
    ThisWorkbook.Sheets("Angebote Dü").Range("C186").Value = "Seite 3 von 4 Seiten"
    ThisWorkbook.Sheets("Angebote Dü").Range("C250").Value = "Seite 4 von 4 Seiten"
    ThisWorkbook.Sheets("Angebote Dü").OptionButton4.BackColor = RGB(0, 255, 0) 'grün
    ThisWorkbook.Sheets("Angebote Dü").OptionButton4.Caption = "Seite 4 aktiv"
    End If
    '------ seite 5 -------------
    If WorksheetFunction.CountA(Range("B279:C313")) ThisWorkbook.Sheets("Angebote Dü").Range("C314").Value = ""
    ThisWorkbook.Sheets("Angebote Dü").OptionButton5.BackColor = &HE0E0E0 'hellgrau
    ThisWorkbook.Sheets("Angebote Dü").OptionButton5.Caption = "Seite 5"
    End If
    If WorksheetFunction.CountA(Range("B279:C313")) > 0 Then
    ThisWorkbook.Sheets("Angebote Dü").Range("C58").Value = "Seite 1 von 5 Seiten"
    ThisWorkbook.Sheets("Angebote Dü").Range("C122").Value = "Seite 2 von 5 Seiten"
    ThisWorkbook.Sheets("Angebote Dü").Range("C186").Value = "Seite 3 von 5 Seiten"
    ThisWorkbook.Sheets("Angebote Dü").Range("C250").Value = "Seite 4 von 5 Seiten"
    ThisWorkbook.Sheets("Angebote Dü").Range("C314").Value = "Seite 5 von 5 Seiten"
    ThisWorkbook.Sheets("Angebote Dü").OptionButton5.BackColor = RGB(0, 255, 0) 'grün
    ThisWorkbook.Sheets("Angebote Dü").OptionButton5.Caption = "Seite 5 aktiv"
    End If
    '------- seite 6 -----------
    If WorksheetFunction.CountA(Range("B343:C377")) ThisWorkbook.Sheets("Angebote Dü").Range("C378").Value = ""
    ThisWorkbook.Sheets("Angebote Dü").OptionButton6.BackColor = &HE0E0E0 'hellgrau
    ThisWorkbook.Sheets("Angebote Dü").OptionButton6.Caption = "Seite 6"
    End If
    If WorksheetFunction.CountA(Range("B343:C377")) > 0 Then
    ThisWorkbook.Sheets("Angebote Dü").Range("C58").Value = "Seite 1 von 6 Seiten"
    ThisWorkbook.Sheets("Angebote Dü").Range("C122").Value = "Seite 2 von 6 Seiten"
    ThisWorkbook.Sheets("Angebote Dü").Range("C186").Value = "Seite 3 von 6 Seiten"
    ThisWorkbook.Sheets("Angebote Dü").Range("C250").Value = "Seite 4 von 6 Seiten"
    ThisWorkbook.Sheets("Angebote Dü").Range("C314").Value = "Seite 5 von 6 Seiten"
    ThisWorkbook.Sheets("Angebote Dü").Range("C378").Value = "Seite 6 von 6 Seiten"
    ThisWorkbook.Sheets("Angebote Dü").OptionButton6.BackColor = RGB(0, 255, 0) 'grün
    ThisWorkbook.Sheets("Angebote Dü").OptionButton6.Caption = "Seite 6 aktiv"
    End If
    gruß
    walter mb

    Anzeige
    AW: Hier mal mein Orginal Makro
    07.02.2016 01:18:35
    Piet
    hallo
    ich sehe zwar nicht das vollstaendige Makro, ahne aber ungefaehr worum es hier geht.
    Meine Makro Variante ist entweder ein externes Makro aufrufen oder GoSub mit Return
    Die Empfehlung "tu was" ist sicher richtig, es fehlt m.E. die -praktische Umsetzung-
    Ich erstelle mal eine kleine Beispieldatei mit Makros zu diesem Thema, das ist besser
    und leichter zu verstehen als jetzt einen langen Text zu schreiben. Vor allem kann in
    einer Beispieldatei die Makros ausprobiert werden, und man versteht wies funktioniert.
    Ich melde mich wieder, brauche aber etwas Zeit dafür. Es lohnt sich reinzuschauen.
    mfg Piet

    Anzeige
    Super Piet, danke im Voraus...
    07.02.2016 10:31:12
    walter
    Guten Morgen Piet,
    das ist sehr freundlich, jetzt schon
    danke !
    mfg
    walter mb

    AW: Hier mal mein Orginal Makro
    07.02.2016 20:24:10
    Piet
    hallo
    anbei die versprochene Beispieldatei. Ich hoffe man erkennt den Programm Aufbau.
    würde mich freuen wenn es weiterhilft beim Verstaendnis für Makro Programme.
    https://www.herber.de/bbs/user/103351.xls
    mfg piet

    Danke Piet für das Muster, schau mir genauer an -)
    08.02.2016 15:01:57
    walter

    AW: Keine Reaktion Jochen
    06.02.2016 14:32:57
    JoWE
    Hallo Walter,
    ups, kleiner Fehler:
    'in die Tabellen
    Sub ichmachdas()
    Call machwas(ActiveSheet.Name)
    End Sub
    
    Beispiel mit Button:
    https://www.herber.de/bbs/user/103325.xlsm
    Gruß
    Jochen

    Anzeige
    Danke Jochen und die Alle anderen -)
    06.02.2016 17:05:51
    walter
    Hallo Jochen,
    Du hast mich auf die Idee gebracht, habe das Makro einfach
    so geändert:
    ActiveSheet.Unprotect (getStrPasswort)
    Select Case WorksheetFunction.CountA(Range("B23:C57"))
    Case Is ActiveSheet.OptionButton1.BackColor = &HE0E0E0 'hellgrau
    ActiveSheet.OptionButton1.Caption = "Seite 1"
    Case Is > 0
    ActiveSheet.Range("C58").Value = ""
    ActiveSheet.Range("C122").Value = ""
    ActiveSheet.OptionButton1.BackColor = RGB(0, 255, 0) 'grün
    ActiveSheet.OptionButton1.Caption = "Seite 1 aktiv"
    End Select
    '-----------------
    Select Case WorksheetFunction.CountA(Range("B87:C121"))
    Case Is ActiveSheet.Range("C84").Value = ""
    ActiveSheet.OptionButton2.BackColor = &HE0E0E0 'hellgrau
    ActiveSheet.OptionButton2.Caption = "Seite 2"
    Case Is > 0
    ActiveSheet.Range("C58").Value = "Seite 1 von 2 Seiten"
    ActiveSheet.Range("C122").Value = "Seite 2 von 2 Seiten"
    ActiveSheet.OptionButton2.BackColor = RGB(0, 255, 0) 'grün
    ActiveSheet.OptionButton2.Caption = "Seite 2 aktiv"
    End Select
    '-----------------
    Select Case WorksheetFunction.CountA(Range("B151:C185"))
    Case Is ActiveSheet.Range("C186").Value = ""
    ActiveSheet.OptionButton3.BackColor = &HE0E0E0 'hellgrau
    ActiveSheet.OptionButton3.Caption = "Seite 3"
    Case Is > 0
    ActiveSheet.Range("C58").Value = "Seite 1 von 3 Seiten"
    ActiveSheet.Range("C122").Value = "Seite 2 von 3 Seiten"
    ActiveSheet.Range("C186").Value = "Seite 3 von 3 Seiten"
    ActiveSheet.OptionButton3.BackColor = RGB(0, 255, 0) 'grün
    ActiveSheet.OptionButton3.Caption = "Seite 3 aktiv"
    End Select
    '------------------
    Select Case WorksheetFunction.CountA(Range("B215:C249"))
    Case Is ActiveSheet.Range("C250").Value = ""
    ActiveSheet.OptionButton4.BackColor = &HE0E0E0 'hellgrau
    ActiveSheet.OptionButton4.Caption = "Seite 4"
    Case Is > 0
    ActiveSheet.Range("C58").Value = "Seite 1 von 4 Seiten"
    ActiveSheet.Range("C122").Value = "Seite 2 von 4 Seiten"
    ActiveSheet.Range("C186").Value = "Seite 3 von 4 Seiten"
    ActiveSheet.Range("C250").Value = "Seite 4 von 4 Seiten"
    ActiveSheet.OptionButton4.BackColor = RGB(0, 255, 0) 'grün
    ActiveSheet.OptionButton4.Caption = "Seite 4 aktiv"
    End Select
    '-------------------
    Select Case WorksheetFunction.CountA(Range("B279:C313"))
    Case Is ActiveSheet.Range("C314").Value = ""
    ActiveSheet.OptionButton5.BackColor = &HE0E0E0 'hellgrau
    ActiveSheet.OptionButton5.Caption = "Seite 5"
    Case Is > 0
    ActiveSheet.Range("C58").Value = "Seite 1 von 5 Seiten"
    ActiveSheet.Range("C122").Value = "Seite 2 von 5 Seiten"
    ActiveSheet.Range("C186").Value = "Seite 3 von 5 Seiten"
    ActiveSheet.Range("C250").Value = "Seite 4 von 5 Seiten"
    ActiveSheet.Range("C314").Value = "Seite 5 von 5 Seiten"
    ActiveSheet.OptionButton5.BackColor = RGB(0, 255, 0) 'grün
    ActiveSheet.OptionButton5.Caption = "Seite 5 aktiv"
    End Select
    '------------------
    Select Case WorksheetFunction.CountA(Range("B343:C377"))
    Case Is ActiveSheet.Range("C378").Value = ""
    ActiveSheet.OptionButton6.BackColor = &HE0E0E0 'hellgrau
    ActiveSheet.OptionButton6.Caption = "Seite 6"
    Case Is > 0
    ActiveSheet.Range("C58").Value = "Seite 1 von 6 Seiten"
    ActiveSheet.Range("C122").Value = "Seite 2 von 6 Seiten"
    ActiveSheet.Range("C186").Value = "Seite 3 von 6 Seiten"
    ActiveSheet.Range("C250").Value = "Seite 4 von 6 Seiten"
    ActiveSheet.Range("C314").Value = "Seite 5 von 6 Seiten"
    ActiveSheet.Range("C378").Value = "Seite 6 von 6 Seiten"
    ActiveSheet.OptionButton6.BackColor = RGB(0, 255, 0) 'grün
    ActiveSheet.OptionButton6.Caption = "Seite 6 aktiv"
    End Select
    damit sprech ich ja alle vorhandenen Tabellen an.
    Danke
    mfg
    walter wb
    Anzeige

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige