Clever-Excel-Forum

Normale Version: Dispoplan Fahrzeug u. Fahrerwechsel
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo zusammen, 
ich bräuchte mal eure Hilfe bei einem Dispoplan den ich gern anpassen möchte. Komme ich irgendwie nicht weiter bei der Formelerstellung.

Scheinbar gibt es wohl keine andere Möglichkeit als HTML einzufügen. Hoffe ihr könnt was damit anfangen.

VG

Code:
<html xmlns:v="urn:schemas-microsoft-com:vml"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta name="Excel Workbook Frameset">
<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
<meta name=ProgId content=Excel.Sheet>
<meta name=Generator content="Microsoft Excel 15">
<link rel=File-List href="Dispoplan-Dateien/filelist.xml">
<![if !supportTabStrip]>
<link id="shLink" href="Dispoplan-Dateien/sheet001.htm">
<link id="shLink" href="Dispoplan-Dateien/sheet002.htm">

<link id="shLink">

<script language="JavaScript">
<!--
var c_lTabs=2;

var c_rgszSh=new Array(c_lTabs);
c_rgszSh[0] = "Grund";
c_rgszSh[1] = "Taktung";



var c_rgszClr=new Array(8);
c_rgszClr[0]="window";
c_rgszClr[1]="buttonface";
c_rgszClr[2]="windowframe";
c_rgszClr[3]="windowtext";
c_rgszClr[4]="threedlightshadow";
c_rgszClr[5]="threedhighlight";
c_rgszClr[6]="threeddarkshadow";
c_rgszClr[7]="threedshadow";

var g_iShCur;
var g_rglTabX=new Array(c_lTabs);

function fnGetIEVer()
{
var ua=window.navigator.userAgent
var msie=ua.indexOf("MSIE")
if (msie>0 && window.navigator.platform=="Win32")
  return parseInt(ua.substring(msie+5,ua.indexOf(".", msie)));
else
  return 0;
}

function fnBuildFrameset()
{
var szHTML="<frameset rows=\"*,18\" border=0 width=0 frameborder=no framespacing=0>"+
  "<frame src=\""+document.all.item("shLink")[0].href+"\" name=\"frSheet\" noresize>"+
  "<frameset cols=\"54,*\" border=0 width=0 frameborder=no framespacing=0>"+
  "<frame src=\"\" name=\"frScroll\" marginwidth=0 marginheight=0 scrolling=no>"+
  "<frame src=\"\" name=\"frTabs\" marginwidth=0 marginheight=0 scrolling=no>"+
  "</frameset></frameset><plaintext>";

with (document) {
  open("text/html","replace");
  write(szHTML);
  close();
}

fnBuildTabStrip();
}

function fnBuildTabStrip()
{
var szHTML=
  "<html><head><style>.clScroll {font:8pt Courier New;color:"+c_rgszClr[6]+";cursor:default;line-height:10pt;}"+
  ".clScroll2 {font:10pt Arial;color:"+c_rgszClr[6]+";cursor:default;line-height:11pt;}</style></head>"+
  "<body onclick=\"event.returnValue=false;\" ondragstart=\"event.returnValue=false;\" onselectstart=\"event.returnValue=false;\" bgcolor="+c_rgszClr[4]+" topmargin=0 leftmargin=0><table cellpadding=0 cellspacing=0 width=100%>"+
  "<tr><td colspan=6 height=1 bgcolor="+c_rgszClr[2]+"></td></tr>"+
  "<tr><td style=\"font:1pt\">&nbsp;<td>"+
  "<td valign=top id=tdScroll class=\"clScroll\" onclick=\"parent.fnFastScrollTabs(0);\" onmouseover=\"parent.fnMouseOverScroll(0);\" onmouseout=\"parent.fnMouseOutScroll(0);\"><a>«</a></td>"+
  "<td valign=top id=tdScroll class=\"clScroll2\" onclick=\"parent.fnScrollTabs(0);\" ondblclick=\"parent.fnScrollTabs(0);\" onmouseover=\"parent.fnMouseOverScroll(1);\" onmouseout=\"parent.fnMouseOutScroll(1);\"><a>&lt</a></td>"+
  "<td valign=top id=tdScroll class=\"clScroll2\" onclick=\"parent.fnScrollTabs(1);\" ondblclick=\"parent.fnScrollTabs(1);\" onmouseover=\"parent.fnMouseOverScroll(2);\" onmouseout=\"parent.fnMouseOutScroll(2);\"><a>&gt</a></td>"+
  "<td valign=top id=tdScroll class=\"clScroll\" onclick=\"parent.fnFastScrollTabs(1);\" onmouseover=\"parent.fnMouseOverScroll(3);\" onmouseout=\"parent.fnMouseOutScroll(3);\"><a>»</a></td>"+
  "<td style=\"font:1pt\">&nbsp;<td></tr></table></body></html>";

with (frames['frScroll'].document) {
  open("text/html","replace");
  write(szHTML);
  close();
}

szHTML =
  "<html><head>"+
  "<style>A:link,A:visited,A:active {text-decoration:none;"+"color:"+c_rgszClr[3]+";}"+
  ".clTab {cursor:hand;background:"+c_rgszClr[1]+";font:9pt Arial;padding-left:3px;padding-right:3px;text-align:center;}"+
  ".clBorder {background:"+c_rgszClr[2]+";font:1pt;}"+
  "</style></head><body onload=\"parent.fnInit();\" onselectstart=\"event.returnValue=false;\" ondragstart=\"event.returnValue=false;\" bgcolor="+c_rgszClr[4]+
  " topmargin=0 leftmargin=0><table id=tbTabs cellpadding=0 cellspacing=0>";

var iCellCount=(c_lTabs+1)*2;

var i;
for (i=0;i<iCellCount;i+=2)
  szHTML+="<col width=1><col>";

var iRow;
for (iRow=0;iRow<6;iRow++) {

  szHTML+="<tr>";

  if (iRow==5)
   szHTML+="<td colspan="+iCellCount+"></td>";
  else {
   if (iRow==0) {
    for(i=0;i<iCellCount;i++)
     szHTML+="<td height=1 class=\"clBorder\"></td>";
   } else if (iRow==1) {
    for(i=0;i<c_lTabs;i++) {
     szHTML+="<td height=1 nowrap class=\"clBorder\">&nbsp;</td>";
     szHTML+=
      "<td id=tdTab height=1 nowrap class=\"clTab\" onmouseover=\"parent.fnMouseOverTab("+i+");\" onmouseout=\"parent.fnMouseOutTab("+i+");\">"+
      "<a href=\""+document.all.item("shLink")[i].href+"\" target=\"frSheet\" id=aTab>&nbsp;"+c_rgszSh[i]+"&nbsp;</a></td>";
    }
    szHTML+="<td id=tdTab height=1 nowrap class=\"clBorder\"><a id=aTab>&nbsp;</a></td><td width=100%></td>";
   } else if (iRow==2) {
    for (i=0;i<c_lTabs;i++)
     szHTML+="<td height=1></td><td height=1 class=\"clBorder\"></td>";
    szHTML+="<td height=1></td><td height=1></td>";
   } else if (iRow==3) {
    for (i=0;i<iCellCount;i++)
     szHTML+="<td height=1></td>";
   } else if (iRow==4) {
    for (i=0;i<c_lTabs;i++)
     szHTML+="<td height=1 width=1></td><td height=1></td>";
    szHTML+="<td height=1 width=1></td><td></td>";
   }
  }
  szHTML+="</tr>";
}

szHTML+="</table></body></html>";
with (frames['frTabs'].document) {
  open("text/html","replace");
  charset=document.charset;
  write(szHTML);
  close();
}
}

function fnInit()
{
g_rglTabX[0]=0;
var i;
for (i=1;i<=c_lTabs;i++)
  with (frames['frTabs'].document.all.tbTabs.rows[1].cells[fnTabToCol(i-1)])
   g_rglTabX[i]=offsetLeft+offsetWidth-6;
}

function fnTabToCol(iTab)
{
return 2*iTab+1;
}

function fnNextTab(fDir)
{
var iNextTab=-1;
var i;

with (frames['frTabs'].document.body) {
  if (fDir==0) {
   if (scrollLeft>0) {
    for (i=0;i<c_lTabs&&g_rglTabX[i]<scrollLeft;i++);
    if (i<c_lTabs)
     iNextTab=i-1;
   }
  } else {
   if (g_rglTabX[c_lTabs]+6>offsetWidth+scrollLeft) {
    for (i=0;i<c_lTabs&&g_rglTabX[i]<=scrollLeft;i++);
    if (i<c_lTabs)
     iNextTab=i;
   }
  }
}
return iNextTab;
}

function fnScrollTabs(fDir)
{
var iNextTab=fnNextTab(fDir);

if (iNextTab>=0) {
  frames['frTabs'].scroll(g_rglTabX[iNextTab],0);
  return true;
} else
  return false;
}

function fnFastScrollTabs(fDir)
{
if (c_lTabs>16)
  frames['frTabs'].scroll(g_rglTabX[fDir?c_lTabs-1:0],0);
else
  if (fnScrollTabs(fDir)>0) window.setTimeout("fnFastScrollTabs("+fDir+");",5);
}

function fnSetTabProps(iTab,fActive)
{
var iCol=fnTabToCol(iTab);
var i;

if (iTab>=0) {
  with (frames['frTabs'].document.all) {
   with (tbTabs) {
    for (i=0;i<=4;i++) {
     with (rows[i]) {
      if (i==0)
       cells[iCol].style.background=c_rgszClr[fActive?0:2];
      else if (i>0 && i<4) {
       if (fActive) {
        cells[iCol-1].style.background=c_rgszClr[2];
        cells[iCol].style.background=c_rgszClr[0];
        cells[iCol+1].style.background=c_rgszClr[2];
       } else {
        if (i==1) {
         cells[iCol-1].style.background=c_rgszClr[2];
         cells[iCol].style.background=c_rgszClr[1];
         cells[iCol+1].style.background=c_rgszClr[2];
        } else {
         cells[iCol-1].style.background=c_rgszClr[4];
         cells[iCol].style.background=c_rgszClr[(i==2)?2:4];
         cells[iCol+1].style.background=c_rgszClr[4];
        }
       }
      } else
       cells[iCol].style.background=c_rgszClr[fActive?2:4];
     }
    }
   }
   with (aTab[iTab].style) {
    cursor=(fActive?"default":"hand");
    color=c_rgszClr[3];
   }
  }
}
}

function fnMouseOverScroll(iCtl)
{
frames['frScroll'].document.all.tdScroll[iCtl].style.color=c_rgszClr[7];
}

function fnMouseOutScroll(iCtl)
{
frames['frScroll'].document.all.tdScroll[iCtl].style.color=c_rgszClr[6];
}

function fnMouseOverTab(iTab)
{
if (iTab!=g_iShCur) {
  var iCol=fnTabToCol(iTab);
  with (frames['frTabs'].document.all) {
   tdTab[iTab].style.background=c_rgszClr[5];
  }
}
}

function fnMouseOutTab(iTab)
{
if (iTab>=0) {
  var elFrom=frames['frTabs'].event.srcElement;
  var elTo=frames['frTabs'].event.toElement;

  if ((!elTo) ||
   (elFrom.tagName==elTo.tagName) ||
   (elTo.tagName=="A" && elTo.parentElement!=elFrom) ||
   (elFrom.tagName=="A" && elFrom.parentElement!=elTo)) {

   if (iTab!=g_iShCur) {
    with (frames['frTabs'].document.all) {
     tdTab[iTab].style.background=c_rgszClr[1];
    }
   }
  }
}
}

function fnSetActiveSheet(iSh)
{
if (iSh!=g_iShCur) {
  fnSetTabProps(g_iShCur,false);
  fnSetTabProps(iSh,true);
  g_iShCur=iSh;
}
}

window.g_iIEVer=fnGetIEVer();
if (window.g_iIEVer>=4)
  fnBuildFrameset();
//-->
</script>
<![endif]><!--[if gte mso 9]><xml>
<x:ExcelWorkbook>
  <x:ExcelWorksheets>
   <x:ExcelWorksheet>
    <x:Name>Grund</x:Name>
    <x:WorksheetSource HRef="Dispoplan-Dateien/sheet001.htm"/>
   </x:ExcelWorksheet>
   <x:ExcelWorksheet>
    <x:Name>Taktung</x:Name>
    <x:WorksheetSource HRef="Dispoplan-Dateien/sheet002.htm"/>
   </x:ExcelWorksheet>
  </x:ExcelWorksheets>
  <x:Stylesheet HRef="Dispoplan-Dateien/stylesheet.css"/>
  <x:WindowHeight>15225</x:WindowHeight>
  <x:WindowWidth>29040</x:WindowWidth>
  <x:WindowTopX>32767</x:WindowTopX>
  <x:WindowTopY>32767</x:WindowTopY>
  <x:ProtectStructure>False</x:ProtectStructure>
  <x:ProtectWindows>False</x:ProtectWindows>
  <x:DisplayInkNotes>False</x:DisplayInkNotes>
</x:ExcelWorkbook>
</xml><![endif]-->
</head>

<frameset rows="*,39" border=0 width=0 frameborder=no framespacing=0>
<frame src="Dispoplan-Dateien/sheet001.htm" name="frSheet">
<frame src="Dispoplan-Dateien/tabstrip.htm" name="frTabs" marginwidth=0 marginheight=0>
<noframes>
  <body>
   <p>Diese Seite verwendet Frames. Frames werden von Ihrem Browser aber nicht unterstützt.</p>
  </body>
</noframes>
</frameset>
</html>
Moin,

du kannst Excel-Dateien hochladen. Zudem hilft eine konkrete Fragestellung bei der Lösungsfindung...

Viele Grüße
derHöpp
Wie kann ich exel hochladen?
Hallöchen,

z.B.
unter dem Eingabefeld ist ein weiteres - da kannst Du eine Datei reinziehen und dann mit dem Button "in den Beitrag einfügen" ..
... oder klicken und dann auswählen ...
Danke für die Info. Habe die Datei unterhalb beigefügt. Hatte ich echt übersehen.

VG

Erreichen möchte ich in der Exel D.Plan Datei folgendes,

1.) Betrifft Tour 1 und 2
hier sollten die beiden Fahrer 1 und 2 aus Zelle M3 und M4 abwechselnd im 14-tägigen Wechsel Mo-Fr das ganze Jahr durch automatisch in der Zelle C6 eingetragen werden.

Das Startdatum ist der 01.01.24. Fahrer 1 beginnt dabei vom 01.01.-12.01. Dann soll Fahrer 2 14 Tage ebenfalls Mo-Fr eingetragen werden usw.

Auch die beiden Fahrzeuge sollten mit dem jeweiligen Fahrer am betreffenden Fahrzeug mitwechseln.

==

2.) Betrifft Tour 3 und 4
Der Fahrer 3 aus Zelle M5 und Fahrer 4 Zelle M6 sollen sich auf Tour 3 (C12) und 4 (C14) täglich abwechseln. Ebenfalls von Mo-Fr und ab 01.01.24

Die Tour 3 beginnt mit dem Fahrer 3 wiederum mit dem 01.01.
Am 02.01. ist der Fahrer 4 auf der Tour 3 unterwegs
Am 03.01. wird wieder gewechselt.

Bei jedem Tour und Fahrerwechsel sollten auch die Fahrzeuge mit gewechselt werden.

Hoffe ihr versteht was gemeint ist.

Hier die Datei nochmal.
Moin

What is the question?
Hey, wie oben schon erwähnt,

Erreichen möchte ich in der Exel D.Plan Datei folgendes,

1.) Betrifft Tour 1 und 2
hier sollten die beiden Fahrer 1 und 2 aus Zelle M3 und M4 abwechselnd im 14-tägigen Wechsel Mo-Fr das ganze Jahr durch automatisch in der Zelle C6 eingetragen werden.

Das Startdatum ist der 01.01.24. Fahrer 1 beginnt dabei vom 01.01.-12.01. Dann soll Fahrer 2 14 Tage ebenfalls Mo-Fr eingetragen werden usw.

Auch die beiden Fahrzeuge sollten mit dem jeweiligen Fahrer am betreffenden Fahrzeug mitwechseln.

==

2.) Betrifft Tour 3 und 4
Der Fahrer 3 aus Zelle M5 und Fahrer 4 Zelle M6 sollen sich auf Tour 3 (C12) und 4 (C14) täglich abwechseln. Ebenfalls von Mo-Fr und ab 01.01.24

Die Tour 3 beginnt mit dem Fahrer 3 wiederum mit dem 01.01.
Am 02.01. ist der Fahrer 4 auf der Tour 3 unterwegs
Am 03.01. wird wieder gewechselt.

Bei jedem Tour und Fahrerwechsel sollten auch die Fahrzeuge mit gewechselt werden.
Hallöchen,

in C6 warst Du ja schon auf einem guten Weg mit dem REST. Du hast einen Zeitraum von 28 Tagen, und jeweils 14 Tage "Schicht"
=WENN(REST(HEUTE();28)<14;M3;M4)
=WENN(REST(HEUTE();28)>=14;M3;M4)

In C12 und C14 könnte das dann so aussehen, mit einem Zeitraum von 2 Tagen:
=WENN(REST(HEUTE();2);M5;M6)
=WENN(NICHT(REST(HEUTE();2));M5;M6)

Nicht berücksichtigt sind z.B. die Wochenenden, wo keiner fahren muss. Aber vielleicht stört es nicht, wenn trotzdem Fahrer drin stehen.
Für den Beginn am 1.1. musst Du eventuell noch einen Korrekturbetrag von heute() abziehen oder zuzählen, ansonsten stimmt z.B. der Wechsel am 15.01. nicht.
Schaue dazu einfach mal auf den Rest der Division / 28 am 1.1. Smile
Mein Ansatz mit einem kompletten Kalender.
Moin, danke für die Hinweise. Ich habe das mal anhand deiner Vorgehensweise so eingetragen. Bei mir passiert nach Wechsel des Datums in J2 leider überhaupt nichts. Egal welches Datum ich auch eintrage.

Ich nutze Exel 2021 Desktop bei der man die Formelberechnung unter Optionen/Formeln/Berechnungsoptionen umstellen kann. Ist aber auf automatisch gestellt. Somit sollten eigentlich Formeln berechnet werden.

Könntest du bitte das in meiner Tabelle mal eintragen und schaun ob es bei dir funktioniert? Und mir dann zusenden. Das wäre Klasse.





(14.02.2024, 20:37)shift-del schrieb: [ -> ]Mein Ansatz mit einem kompletten Kalender.

Der funktioniert. Ist aber wesentlich arbeitsintensiver weil man den jedes Jahr neu anlegen muss. Gut mit Exel nicht ganz so schlimm. Danke für die Mühe.
Seiten: 1 2