Computer Hardware Forum - TweakPC

Computer Hardware Forum - TweakPC (https://www.tweakpc.de/forum/)
-   Programmiersprachen (https://www.tweakpc.de/forum/programmiersprachen/)
-   -   Makro schreib Problem Excel (https://www.tweakpc.de/forum/programmiersprachen/68974-makro-schreib-problem-excel.html)

snoooc 04.03.2009 11:38

Makro schreib Problem Excel
 
Moin,
eigentlich wollte ich hier nicht nachfragen, in der Hoffnung über Google alles zu finden oder es selbst hin zu bekommen.
Mein Auftrag ist es ein Makro zu schreiben (Excel), welches es ermöglicht auf druck das Aktuelle Datum und 26 Tage hinterher (Also insgesammt 27 Tage) in eine Zeile zu Schreiben (z.B.: A1 bis A27).

Hab da zwar schon Quell Text zu entworfen, bekomme aber keine Kalender abfrage hin:

Sub Makro1()
'
' Makro1 Makro
' Makro am 04.03.2009 von it.servicedesk aufgezeichnet
'
'
Datum = Date
vbCalGerg = Datum
Kalender = vbCalGerg
Dim oBlatt As Worksheet
Set oBlatt = ThisWorkbook.Worksheets("Tabelle1") 'Tabellennamen gg. anpassen
'Cell = ("A1")
Select Case Kalender
Case 1: Cell =("A2")to("A30").Datum = Datum + 1 'Ausgabe der hoch gerechneten Werte
Case 2: 'Ausgabe der hoch gerechneten Werte
Case 3: 'Ausgabe der hoch gerechneten Werte
Case 4: 'Ausgabe der hoch gerechneten Werte
Case 5: 'Ausgabe der hoch gerechneten Werte
Case 6: While (Datum = vbSaturday)
If (vbSaturday) Then
Datum = Datum + 2
End If
vbCalGerg = Datum
Case 1. SetFocus.
Wend

Case 7: While (Datum = vbSunday)
If (vbSaturday) Then
Datum = Datum + 1
End If
vbCalGerg = Datum
Wend
End Select
'While (Datum = vbSaturday)
'If (vbSaturday) Then
'Datum = Datum + 2
'End If
'vbCalGerg = Datum
'Wend


End Sub
'Tag = Left(Datum, 2)
'Monat = Mid(Datum, 4, 2)
'Jahr = Mid(Datum, 7)


Hier mal das bis jetzige. Kann mir einer von euch erklären wie ich das machen kann!?


Danke im Voraus,

snoooc

snoooc 04.03.2009 13:38

AW: Makro schreib Problem Excel
 
Sorry, hab da was grundliegendes vergessen zu sagen. Sams- und Sonntage sollen nicht mit aufgeschrieben werden, das heißt, dass der darauf folgende Montag dann wieder aufgeführt werden muss, Feiertage müssen nicht unbedingt berücksichtigt werden.


snoooc

[EID]-Mr.GiZMO 04.03.2009 14:03

AW: Makro schreib Problem Excel
 
[code]
Sub Dates()
Dim Startzeile As Integer
Dim Startspalte As Integer
Dim AnzahlTage As Integer

' hier definieren
Startzeile = 1
Startspalte = 1
AnzahlTage = 27


For i = 0 To AnzahlTage
heute = Date + i
Cells(Startzeile, Startspalte) = heute
Next i
End Sub[/code]Grüße.

€ Oha... neuer Post dazwischen... nicht gesehen.
Ich guck mal, ob ich das schaffe.

[EID]-Mr.GiZMO 04.03.2009 14:54

AW: Makro schreib Problem Excel
 
So, hier habe ich es korriegiert mit Filterung der Samstage und Sonntage:

[code]Sub Dates()
Dim Startzeile As Integer
Dim Startspalte As Integer
Dim AnzahlTage As Integer
Dim Counter As Integer

' hier definieren
Startzeile = 1
Startspalte = 1
AnzahlTage = 27
Counter = 0

For i = 0 To AnzahlTage
heute = Date + i
If DatePart("w", heute) <> vbSaturday And DatePart("w", heute) <> vbSunday Then
Cells(Startzeile + Counter, Startspalte) = heute
Counter = Counter + 1
End If
Next i
End Sub[/code]

Grüße!
:gizmo:

snoooc 04.03.2009 15:51

AW: Makro schreib Problem Excel
 
Moin,
DANKE, war schon am verzweifel, wie du oben siehst. Jetzt aber noch mal was anderes, kann man dieses Makro 1 zu 1 in Word Portieren, um dort, auch in einer Tabelle, das selbe durch zu führen?


snoooc

sp 04.03.2009 15:56

AW: Makro schreib Problem Excel
 
Müsste eigenlich genen, Word kann ja Excel Tabelen einbetten.
Und auch Macros ausführen(2007).

[EID]-Mr.GiZMO 04.03.2009 16:40

AW: Makro schreib Problem Excel
 
Nativ für Word würde das so aussehen:

[code]Sub Dates()
Dim TabellenNummer As Integer
Dim Startzeile As Integer
Dim Startspalte As Integer
Dim AnzahlTage As Integer
Dim Counter As Integer

' hier definieren
TabellenNummer = 1
Startzeile = 1
Startspalte = 1
AnzahlTage = 27
Counter = 0

For i = 0 To AnzahlTage
heute = Date + i
If DatePart("w", heute) <> vbSaturday And DatePart("w", heute) <> vbSunday Then
ActiveDocument.Tables(TabellenNummer).Cell(Startzeile + Counter, Startspalte).Range.Text = heute
If i <> AnzahlTage Then
ActiveDocument.Tables(TabellenNummer).Rows.Add
End If
Counter = Counter + 1
End If
Next i

End Sub[/code]Beachten: Word braucht immer eine Tabellennummer, um eine Tabelle zu lokalisieren, daher musst du im define-Bereich die Nummer der Tabell angeben.
Einfach vom Dokumentenanfang abzählen.

Grüße.

[COLOR=Silver]
PS: Das kostet mind. 10 Danke und 5 positive Bewertungen [/COLOR];)

snoooc 04.03.2009 19:16

AW: Makro schreib Problem Excel
 
Danke, werde das für Word morgen ausprobieren. Dass Das so verhältnismäßig einfach zu schreiben ist !?! Da bin ich doch zuviel auf C++ getrimmt und da ich auch keine andere Sprache kann...
Noch eine frage, bezieht sich der zweite Code auf eine Excel Tabelle in Word oder auf eine "Word-Tabelle"?


Thx for all your answers,


snoooc



Edit: 10 Danke für [B][URL="http://www.tweakpc.de/forum/members/8721-%5Beid%5D-mr-gizmo/"][B][EID]-Mr.GiZMO[/B][/URL]!!!
[/B]

[EID]-Mr.GiZMO 04.03.2009 22:13

AW: Makro schreib Problem Excel
 
Danke!
Der Zweite Codeschnipsel bezieht sich auf eine Tabelle in Word (native Word-Tabelle, nicht Excel-import pder -Verknüpfung).

Im Excel-Makro hab ich noch Zeile 15 korrigiert:

Cells(Startzeile + Counter, Startzeile) = heute
wurde zu
Cells(Startzeile + Counter, Startspalte) = heute

Grüße.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:47 Uhr.

Powered by vBulletin® Version 3.8.10 (Deutsch)
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
SEO by vBSEO 3.5.2 ©2010, Crawlability, Inc.