Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1392to1396
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
Suchen innerhalb einer Matrix
27.11.2014 10:40:44
Fabian
Hallo zusammen,
da ich noch recht neu in VBA bin und noch nicht ganz durchsteige, glaube ich, dass es für die erfahrenen Programmierern unter euch eine Kleinigkeit darstellen dürfte.
Zur Problematik:
ich habe eine Datenbasis (normal in einer separaten Datei), die pro Tag Viertelstundenwerte für verschiedene Spalten enthält. =Mappe "Einlesen"
nun gibt es Tabellenblätter, die für die jeweilige Spalte Werte aus der Datenbasis auslesen sollen, dies soll anhand von Kalenderwochen erfolgen.
In den Tabellenblättern wird eine Prognose anhand der Vorwochen erstellt, daher nenn ich sie folglich Probnoseblätter.
Die Prognose wird aus dem Mittelwert der Vorwochen gebildet, die Vorwochen sind aber nicht zwangsweise X-1 oder X-2, sondern diese werden gesetzt. So kann für die Prognose für den Donnerstag aus KW48 (heute), der Donnerstag aus KW 46 und der Donnerstag aus KW 43 herangezogen werden.
Diese angegebenen Kalenderwochen gilt es nun in der Datenbank zu suchen und die Spalte in das dazugehörige Tabellenblatt zu kopieren.
Hinzukommt zu der Suche nach der Kalenderwoche auch noch die Suche nach dem Wochentag innerhalb der Kalenderwoche.
Ich habe das bisher mit einer Hilfsspalte gelöst.
Im Prinzip funktioniert die Suche, die ich bisher erstellt habe. Allerdings ist sie sehr simpel und sehr viel Schreibarbeit, wenn ich richtige Prognose für 10 Bereiche mit jeweils 3 Bezugswochen erstellt werden soll.
Kann mir hierbei vielleicht jemand weiterhelfen?
PS: außerdem stehe ich gerade vor dem Rätsel, warum nach dem Einfügen meine Prozedur abbricht und zum Start springt...
"ActiveSheet.Cells(Eingabezeile.Row, Lila_Eingabespalte_Tag1.Column).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False"
hiernach geht es bei mir nicht weiter o.Ô
https://www.herber.de/bbs/user/94060.xlsm

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Das sollte eigentlich fktionieren, ...
29.11.2014 01:39:10
Luc:-?
…Fabian,
habe jedenfalls keinen schweren Fehler entdecken können. Aber viell ist Xl14/2010 ja etwas empfindlicher als noch Xl12/2007 und du solltest alles vollständig deklarieren und referenzieren (dann hilft auch der VBE-Intellisense!). Dabei unterstützt dich auch Option Explicit am ModulAnfang.
Habe hier mal den 1.Teil deines Pgms etwas umgestaltet (geht sicher noch mehr):
Option Explicit
Private Sub CommandButton1_Click()
Dim Eingabezeile As Range, Gelb As Range, Gelb_Tag1 As Range, _
Gelb_Tag2 As Range, Gelb_Eingabespalte_Tag2 As Range, Lila As Range, _
Lila_Tag1 As Range, Lila_Eingabespalte_Tag1 As Range, Lila_Tag2 As Range
With ActiveWorkbook
Set Eingabezeile = .Sheets("Ergebnis").Range("a4")
Set Lila_Tag1 = .Sheets("Lila").Range("e2")
Set Lila_Tag2 = .Sheets("Lila").Range("g2")
Set Gelb_Tag1 = .Sheets("Gelb").Range("e2")
Set Gelb_Tag2 = .Sheets("Gelb").Range("g2")
End With
Worksheets("Einlesen").Activate
With ActiveSheet.Range("b:h")
.Select
'Lila als Spalte definieren
Set Lila = .Find(What:="Lila", After:=ActiveCell, _
LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByColumns, _
SearchDirection:=xlNext, MatchCase:=False)
'Gelb als Spalte definieren
Set Gelb = .Find(What:="Gelb", After:=ActiveCell, _
LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByColumns, _
SearchDirection:=xlNext, MatchCase:=False)
'Tag1 als Zeile definieren
Set Lila_Tag1 = .Find(What:=Lila_Tag1.Value, After:=ActiveCell, _
LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByColumns, _
SearchDirection:=xlNext, MatchCase:=False)
'Tag2 als Zeile definieren
Set Lila_Tag2 = .Find(What:=Lila_Tag2.Value, After:=ActiveCell, _
LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByColumns, _
SearchDirection:=xlNext, MatchCase:=False)
End With
'…weitere PgmZeilen
Set Eingabezeile = Nothing: Set Gelb = Nothing: Set Gelb_Tag1 = Nothing
Set Gelb_Tag2 = Nothing: Set Gelb_Eingabespalte_Tag2 = Nothing: Set Lila = Nothing
Set Lila_Tag1 = Nothing: Set Lila_Eingabespalte_Tag1 = Nothing: Set Lila_Tag2 = Nothing
End Sub
Außerdem nervt hier ständig die Sicherheitswarnung wg der Datei­Eigen­schaften. Evtl enthalten die zuviele persönl/Firmen-Infos → solltest du besser nicht öffentlich machen…!
Gruß, Luc :-?
Besser informiert mit …
Anzeige

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige