Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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
GELÖST

VBA Werktage in Zellen eintragen

Frage Entwicklung VB for Applications

Mitglied: Avalon1

Avalon1 (Level 1) - Jetzt verbinden

18.08.2010 um 20:18 Uhr, 6047 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
VB for Applications
gelöst Excel VBA Eine oder mehrere Zellen Verschieben (2)

Frage von batchnewbie zum Thema VB for Applications ...

Microsoft Office
VBA Code zum Kopieren von einzelnen Zellen in Excel (3)

Frage von SebastianL zum Thema Microsoft Office ...

VB for Applications
VBA - Welchen Inhalt hat eine Zelle die mit der Taste Enft geleert wird? (3)

Frage von Juckie zum Thema VB for Applications ...

VB for Applications
gelöst EXCEL VBA Zellen verbinden. MERGE (6)

Frage von Aximand zum Thema VB for Applications ...

Neue Wissensbeiträge
Viren und Trojaner

Ransomware or Wiper? RedBoot Encrypts Files but also Modifies Partition Table

Information von BassFishFox zum Thema Viren und Trojaner ...

Notebook & Zubehör

WOL bei HP Notebooks

(6)

Erfahrungsbericht von Henere zum Thema Notebook & Zubehör ...

LAN, WAN, Wireless

Neue Cisco Catalyst-Serie 9000

Information von Kuemmel zum Thema LAN, WAN, Wireless ...

Heiß diskutierte Inhalte
Windows 10
Netzwerkkarte schaltet sich erst nach dem Logon ein (23)

Frage von DerWoWusste zum Thema Windows 10 ...

Windows Server
Seit IP Umstellung DC DNS Fehler (18)

Frage von Yaimael zum Thema Windows Server ...

Netzwerke
Mobile Einwahl IPSec VPN von iPhone iPad T-Mobile zur Pfsense (16)

Frage von Spitzbube zum Thema Netzwerke ...

Weiterbildung
gelöst Fest angestellter Admin oder Systemhaus Admin mit Kundenbetreuung? (15)

Frage von Voiper zum Thema Weiterbildung ...