Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Frage Entwicklung VB for Applications

GELÖST

VBA Werktage in Zellen eintragen

Mitglied: Avalon1

Avalon1 (Level 1) - Jetzt verbinden

18.08.2010 um 20:18 Uhr, 6123 Aufrufe, 2 Kommentare

Hy

mit den Werktage ist das so eine Sache, wie man zw. 2 Datumseinträge die Werktage
auslesen kann, geht ja, aber ich bräuchte eine etwas andere Funktion,
und zwar habe ich in einem Worksheet in Zelle "A2" ein Datum stehen
von dem lese ich das Monat aus und speichere dies in eine Variable.

Jetzt hätt ich gerne dass VBA jetzt erkennt welche Tage von diesem Monat
Werktage sind und die soll mir VBA in ein anderes Worksheet in Spalte "A"
eintragen.

Dann würde eine Formel greifen die sich auf die Spalte "A" bezieht.

ich hoffe das kann man realisieren...

lg
ava
Mitglied: bastla
18.08.2010 um 20:55 Uhr
Hallo Avalon1!

Könnte etwa so aussehen:
01.
Sub Werktage() 
02.
AbZeile = 2 'erste Zeile Zieltabelle 
03.
Spalte = "A" 'Spalte Zieltabelle 
04.
Datum = Worksheets("Tabelle1").Range("A2").Value 
05.
Von = DateSerial(Year(Datum), Month(Datum), 1) 'erster Tag des Monats 
06.
Bis = DateAdd("m", 1, Von) - 1 'erster Tag des nächsten Monats - 1 = letzter Tag dieses Monats 
07.
Zeile = AbZeile 
08.
With Worksheets("Tabelle2") 
09.
    For D = Von To Bis 'Schleife für alle Tage des Monats 
10.
        If Weekday(D) <> vbSunday And Weekday(D) <> vbSaturday Then ' wenn Tag weder So noch Sa ist, ... 
11.
            .Cells(Zeile, Spalte) = D '... Datum eintragen 
12.
            Zeile = Zeile + 1 
13.
        End If 
14.
    Next 
15.
End With 
16.
End Sub
Um Feiertage musst Du Dich natürlich zusätzlich kümmern ...

Grüße
bastla
Bitte warten ..
Mitglied: 76109
19.08.2010 um 13:01 Uhr
Hallo Avalon1 und Hallo bastla!

...wobei sich die Feiertage und sonstige Ausschlusstage (Brückentage...) z.B. in Tabelle 3 Range(A2:L7) in einer Tabelle befinden könnten.

In Zeile 2 sind die Monate von 1-12 und ab Zeile 3 die Tage in den entsprechenden Monatsspalten eingetragen
A B C D E F G H I J K L
2 ##blue | 1 ## ##blue | 2 ## ##blue | 3 ## ##blue | 4 ## ##blue | 5 ## ##blue | 6 ## ##blue | 7 ## ##blue | 8 ## ##blue | 9 ## ##blue | 10 ## ##blue | 11 ## ##blue | 12 ##
3 ##red | 1 ## ##red | 2 ## ##red | 1 ## ##red | 3 ## ##red | 3 ## ##red | 1 ## ##red | 25 ##
4 ##red | 6 ## ##red | 5 ## ##red | 13 ## ##red | 26 ##
5 ##red | 24 ##
6
7
und mit diesem Code wird diese Tabelle dann auf Ausschlusstage geprüft:
01.
Const SheetHoliday = "Tabelle3" 
02.
Const RangeHoliday = "A2:L7" 
03.
 
04.
Private Function IsHoliday(ByVal Datum As Date) As Boolean 
05.
    Dim V As Variant, i As Integer 
06.
     
07.
    V = Sheets(SheetHoliday).Range(RangeHoliday).Value 
08.
         
09.
    For i = 2 To UBound(V, 1) 
10.
        If Not IsEmpty(V(i, Month(Datum))) Then 
11.
            If Day(Datum) = V(i, Month(Datum)) Then IsHoliday = True:  Exit Function 
12.
        End If 
13.
    Next 
14.
End Function
Das ließe sich dann in bastlas Codezeile 10 in etwa so mit einbinden:
... And IsHoliday(D) = False Then ....

Gruß Dieter

PS. Die Tabelle kann natürlich auch ausgeblendet werden
Bitte warten ..
Ähnliche Inhalte
Windows 7
VBA in Excel, Einträge von diversen Zellen löschen
gelöst Frage von 116408Windows 72 Kommentare

Hallo Bin neu im Forum und habe gleich eine (für mich) happige Aufgabe :-) Ich habe ein Aufnahmeblatt geschaffen, ...

Microsoft Office
Automatisches eintragen in zweite Zelle
gelöst Frage von Fisi93Microsoft Office2 Kommentare

Hallo, ich habe gerade ein kleines Problemchen festgestellt. Wir haben letztes Jahr eine aproche Anwendung abgelöst und daraus eine ...

VB for Applications
Excel VBA Eine oder mehrere Zellen Verschieben
gelöst Frage von batchnewbieVB for Applications2 Kommentare

Hallo, Ich habe in A1 eine Dropdown Liste mit den Werten 1, 2, 3. In A2, A3, A4 usw. ...

Microsoft Office
Zellen mit vba verketten bis Bedingung eintritt
gelöst Frage von hellasMicrosoft Office2 Kommentare

Hallo, ich habe folgende Excel Tabelle und komme da nicht mehr weiter. Spalte ASpalte BSpalte C 1234A-Text1 A-Text2 A-Text3 ...

Neue Wissensbeiträge
Router & Routing

PfSense als Addon auf QNAP

Information von magicteddy vor 19 MinutenRouter & Routing

Moin, für Spielereien eine ganz nette Idee aber ich fürchte das soetwas auch als echte Firewall genutzt wird: In ...

Datenschutz

Teamviewer kommt für IoT-Geräte wie den Raspberry Pi

Information von magicteddy vor 6 StundenDatenschutz

Moin, jetzt werden IoT Geräte endgültig zur Wanze? Anscheinend kann man auf einem Dashboard seine Geräte visualisieren Ich stelle ...

Microsoft

Letzte Updates für Win10 und Server2016 müssen bei Bedarf über den Update catalogue in den WSUS importiert werden!

Tipp von DerWoWusste vor 11 StundenMicrosoft1 Kommentar

automatisch kommt da nichts an im WSUS und auch nicht im SCCM. Siehe Hinweise zum Bezug der jeweils neuesten ...

Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 3 TagenLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Preis für Wartungsvertrag ok?
gelöst Frage von a-za-zNetzwerkmanagement22 Kommentare

Hallo! Mal ne Frage, weil ich mich mit dem akzeptablen Preis für einen Reaktionszeitvertrag nicht auskenne. Meine Firma hat ...

Windows Netzwerk
Ist ein Portforwarding auf einen PC ohne lauschendes Programm ein (großes) Sicherheitsproblem?
Frage von PluwimWindows Netzwerk13 Kommentare

Hallo zusammen, zur Fernwartung eines Rechners an einem anderen Ort nutze ich VNC. Da dieser Rechner einfach nur eine ...

Windows Server
Terminal Server 2016 erkennt Berechtigungen nicht
gelöst Frage von Thomas2Windows Server10 Kommentare

Hallo Administratoren, folgendes Problem stellt sich dar: Es gibt zwei Windows Server 2016, die als Terminal Server fungieren. Jetzt ...

SAN, NAS, DAS
Wer kennt sich mit QNAP und CISCO aus ?
gelöst Frage von MachelloSAN, NAS, DAS10 Kommentare

Hallo Zusammen hier im Forum, Ich habe ein QNas 451+ und dieses NAS hat zwei GBit Lan Adapter die ...