Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1268to1272
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

Tabellenblattname aus Zelle

Tabellenblattname aus Zelle
Gisela
Hallo,
vor einigen Tagen habt ihr mit hierbei schon mal geholfen. Jetzt habe ich noch ein Problem.
Der Tabellenblattname (im Beispiel Juli) soll aus der Zelle D4 im Tabellenblatt "wochenplan" entnommen werden.
Kann mir dabei bitte jemand helfen. Was oder wie muss ich was ändern?
Sub KW_Belegung()
Application.ScreenUpdating = False
Sheets("test2").Select
Dim wks_Q As Worksheet 'Tabelle mit dem Themenplan
Dim wks_Z As Worksheet 'Tabelle mit dem KW-Plan
Dim lngKW As Long, lngSpaSo As Long, lngSpaSa As Long, lngZeile As Long, lngSpalte As Long
Dim rngZelle As Range, rngKW As Range
Dim strName As String, varThema As Variant
Set wks_Q = ActiveWorkbook.Worksheets("juli") 'Tabelle mit dem Themenplan
Set wks_Z = ActiveWorkbook.Worksheets("test2") 'Tabelle mit dem KW-Planan
lngKW = wks_Z.Range("B2") 'Eingetragene KW im kalenderplan
With wks_Z
'alte Einträge in KW-Plan ab Zeile 5 löschen
Set rngZelle = .Cells.Find(What:="*", after:=.Range("A1"), LookIn:=xlFormulas, _
lookat:=xlWhole, searchorder:=xlByRows, searchdirection:=xlPrevious)
If rngZelle Is Nothing Then
lngZeile = 1
Else
lngZeile = rngZelle.Row
End If
If lngZeile >= 5 Then
.Range(.Rows(5), .Rows(lngZeile)).ClearContents
End If
End With
With wks_Q
'Spalte So (1. Tag) in der KW im Themenplan suchen
For lngSpalte = 3 To .Cells(3, .Columns.Count).End(xlToLeft).Column
If .Cells(3, lngSpalte).Value = lngKW Then
lngSpaSo = lngSpalte
lngSpaSa = lngSpalte + 6
Exit For
End If
Next
'Namen abarbeiten
For lngZeile = 7 To .Cells(.Rows.Count, 1).End(xlUp).Row
strName = .Cells(lngZeile, 1).Value & ", " & .Cells(lngZeile, 2).Value
'Zellbereich mit den zum Namen eingetragenen Themen
Set rngKW = .Range(.Cells(lngZeile, lngSpaSo), .Cells(lngZeile, lngSpaSa))
With wks_Z
For lngSpalte = 1 To 5 'Themen im KW-Plan durchsuchen
If .Cells(3, lngSpalte)  "" Then
varThema = Left(.Cells(3, lngSpalte).Value, 2)
'prüfen ob Thema beim Namen in KW eingetragen
If Application.WorksheetFunction.CountIf(rngKW, varThema) > 0 Then
.Cells(.Rows.Count, lngSpalte).End(xlUp).Offset(1, 0).Value = strName
End If
End If
Next
End With
Next
End With
Application.ScreenUpdating = True
End Sub
Vielen Dank für jede Hilfe
Gisela

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Tabellenblattname aus Zelle
18.07.2012 14:35:33
Matze,Matthias
Hallo Gisela,
Set wks_Q = ActiveWorkbook.Worksheets("juli") 'Tabelle mit dem Themenplan
Set wks_Q = ActiveWorkbook.Worksheets("Wochenplan").Range("D4")
so sollte es gehn,...
Gruß Matze
AW: Tabellenblattname aus Zelle
18.07.2012 16:18:16
Gisela
Hallo Matze,
vielen Dank, dass du mir helfen willst.
Ich habs mal geändert, erhalte aber eine Fehlermeldung
Laufzeitfehler 438
Objekt unterstützt diese Eigenschaft oder Methode nicht
Hast du noch einen Tipp, was ich ändern muss.
Grüße
Gisela
AW: Tabellenblattname aus Zelle
18.07.2012 17:58:44
Josef

Hallo Gisela,
ohne Fehlerüberprüfung!
Set wks_Q = ActiveWorkbook.Worksheets(ActiveWorkbook.Worksheets("wochenplan").Range("D4"))


« Gruß Sepp »

Anzeige
AW: Tabellenblattname aus Zelle
18.07.2012 18:26:58
Gisela
Hallo Sepp,
vielen Dank für die Änderung.
Jetzt wird Fehler, Typen unverträglich angezeigt.
Die Fehlermeldung beziehen sich immer auf die veränderte Zeile. Mit (Juli) funktionierts nach wie vor.
Hast du noch einen Tipp?
Grüße
Gisela
AW: Tabellenblattname aus Zelle
18.07.2012 18:44:08
Josef

Hallo Gisela,
wenn das nicht zum Ratespiel werden soll, solltest du vielleicht sagen, was den in der Zelle D4 steht!

« Gruß Sepp »

Anzeige
AW: Tabellenblattname aus Zelle
18.07.2012 18:51:55
Gisela
Hallo Sepp,
in der Zelle wird der Name des Tabellenblattes angegeben.
Da ich das ganze für verschiedene Monate (Tabellenblätter) habe, war mein Gedanke, das ich dadurch nicht für jeden Monat dann ein Makro anlegen muss.
Hilft dir das weiter?
Grüße
Gisela
AW: Tabellenblattname aus Zelle
18.07.2012 18:57:35
Josef

Hallo Gisela,
na gut, aber was steht wirklich in der Zelle?
Probier mal.
Set wks_Q = ActiveWorkbook.Worksheets(ActiveWorkbook.Worksheets("wochenplan").Range("D4").Text)


« Gruß Sepp »

Anzeige
Funktioniert, vielen Dank Sepp, o.T.
18.07.2012 19:16:55
Gisela
o.T.

331 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige