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

Aktuelle KW in einer Tabelle suchen

Aktuelle KW in einer Tabelle suchen
28.04.2015 17:39:48
Jonas Z

Hallo Leute,
ich versuche herauszufinden wie ich die Spalte einer Exceltabelle in der die aktuelle Kalenderwoche vom heutigem Datum steht mit Hilfe eines VBA als eine meiner Variablen definiere für alle weiteren Schritte.
Bisher habe ich es so versucht:
If Cells(1, Column.Count) Like "*cw*" & "*Weekday(Date, vbMonday)*" Then
Spalte = Column.Active.Cells
End If

Das CW steht immer jeweils vor der Kalenderwoche.
Vielen Dank für eure Hilfe.

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Aktuelle KW in einer Tabelle suchen
28.04.2015 17:41:32
Hajo_Zi
aktuelles Datum suchen
Option Explicit
Sub Test()
'   Heutiges Datum in Spalte A (1) suchen von Basti Spotlight
'   es wird die Zeile ausgegeben
MsgBox Application.Match(CDbl(Date), Columns(1), 0)
End Sub


AW: Aktuelle KW in einer Tabelle suchen
28.04.2015 18:18:40
Jonas Z
Ich glaube ich habe meine Fragestellung nicht ensprechend formuliert.Die Excel Tabelle sieht ca so aus:
Bsp: cw 17 cw18
xxx 10% 12%
xxx 5% 8%
xxx 3% 4%

Jetzt möchte ich die Spalte in der die aktuelle KW steht (jetzt 18) als meine Variable Spalte=... definieren, damit ich das Makro jede Woche laufen lassen kann ohne es jedesmal neu anpassen zu müssen.

Anzeige
AW: Aktuelle KW in einer Tabelle suchen
28.04.2015 19:22:12
Nepumuk
Hallo,
teste mal:
Option Explicit

Public Sub SelectCurrentWeek()
    Dim vntReturn As Variant
    vntReturn = Application.Match("cw " & CStr(CalendarWeek(Date)), Rows(1), 0)
    If Not IsError(vntReturn) Then
        Cells(1, vntReturn).Select
    Else
        MsgBox "Kalenderwoche nicht gefunden.", vbCritical, "Fehler"
    End If
End Sub

Private Function CalendarWeek(ByVal pvdtmDate As Date) As Long
    Dim dtmTepmDate As Date
    dtmTepmDate = 4 + pvdtmDate - Weekday(pvdtmDate, vbMonday)
    CalendarWeek = (dtmTepmDate - DateSerial(Year(dtmTepmDate), 1, -6)) \ 7
End Function

Gruß
Nepumuk

Anzeige
AW: Aktuelle KW in einer Tabelle suchen
28.04.2015 20:01:08
Jonas Z
Funktioniert leider nicht. Mir wird nur die Msg box angezeigt.
Hier nochmal wie es bisher aussah der Code komplett:
'Pfad auswählen
Workbooks.Open "C:\Users\..."
Sheets("Tabelle3").Select
Set MSppt = CreateObject("PowerPoint.Application")
ppt_slide = 1
Zeile = 1
TabellenZeile = 2
'Spalte gewählt als KW der Vorwoche(muss immer angepasst werden,d.h für jede weitere Woche muss  _
bei der Spaltenzahl 2 addiert werden)
 Spalte = 28
'Allgemein die aktuelle und vergangene KW in der Tabelle einsetzen
MSppt.ActivePresentation.Slides(ppt_slide).Shapes("Group 189").Table.Cell(1, 2).Shape.TextFrame. _
TextRange.Text _
= Replace(Cells(1, Spalte).Text, Chr(10), Chr(13))
MSppt.ActivePresentation.Slides(ppt_slide).Shapes("Group 189").Table.Cell(1, 3).Shape.TextFrame. _
TextRange.Text _
= Replace(Cells(1, Spalte + 2).Text, Chr(10), Chr(13))
'Füllen des PPT-Slides unter den nachstehenden Bedingungen
While Cells(Zeile, 1).Text <> ""
If (Cells(Zeile, vntReturn) <> "" And Cells(Zeile, Spalte + 2) <> "") _
Or (Cells(Zeile, vntReturn) <> "100%" And Cells(Zeile, Spalte + 2) <> "") Then
With MSppt.ActivePresentation.Slides(ppt_slide)
.Shapes("Group 189").Table.Cell(TabellenZeile, 1).Shape.TextFrame.TextRange.Text =  _
Replace(Cells(Zeile, 1).Text, Chr(10), Chr(13))
.Shapes("Group 189").Table.Cell(TabellenZeile, 2).Shape.TextFrame.TextRange.Text =  _
Replace(Cells(Zeile, Spalte - 2).Text, Chr(10), Chr(13))
.Shapes("Group 189").Table.Cell(TabellenZeile, 3).Shape.TextFrame.TextRange.Text =  _
Replace(Cells(Zeile, Spalte).Text, Chr(10), Chr(13))
.Shapes("Group 189").Table.Cell(TabellenZeile, 4).Shape.TextFrame.TextRange.Text =  _
Replace(Cells(Zeile, Spalte + 1).Text, Chr(10), Chr(13))
Danke für eure Hilfe!

Anzeige
AW: Aktuelle KW in einer Tabelle suchen
28.04.2015 20:18:18
Nepumuk
Hallo,
in meiner Mappe funktioniert das, was anderes zum testen hatte ich ja nicht.
Und was hat deine letzte Antwort mit dem ursprünglichen Problem zu tun?
Gruß
Nepumuk

AW: Aktuelle KW in einer Tabelle suchen
29.04.2015 09:10:41
Jonas Z
Ok ich habe es jetzt so gelöst danke für eure Hilfe.
While Spalte < Columns.Count
If (Cells(1, Spalte).Text Like ("*Cw*" & DatePart("ww", Date, vbMonday, vbFirstFourDays)))  _
Then
gewinnerspalte = Spalte
End If
Spalte = Spalte + 1
Wend

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige