Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
784to788
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
784to788
784to788
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

wer hilft

wer hilft
27.07.2006 09:32:09
Tubbe
Hallo Leute,
erstmal ein Lob an dieses Forum, find ich echt toll, das immer jemand Zeit hat sich um die Fragen anderer zu kümmern!
Aber nun zu meinem Problem.
Ich brauche hilfe bei einem kleinem Makro.
Dieses soll mir die 1.(oberste) Zelle befüllen, die nach der letztbeschriebenen Spalte kommt.
In diese Zelle soll die Bezeichnung OPL und das Datum des Dienstages der aktuellen Woche(zB OPL 25072006)
bei erneuten Ausführen sollte dann das nächste entstehen(OPL 01082006) usw.
Außerdem sollen die folgenden zellen, also die 2-te, 3-te und 4-te Zelle der
1-ten (obersten) Reihe in ihrer Breite festgelegt werden (z.b. 2 cm)
ich hoffe das war verständlich und ihr habt die Zeit mir zu helfen.
Vielen dank schon im voraus
MFG Tubbe

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: wer hilft
27.07.2006 10:18:44
Matthias
Hallo Tubbe,
ein Ansatz:

Sub NeuerEintrag()
Dim s As Integer, e_neu As String, e_alt As String
If Cells(1, 1) = "" Then
s = 1
Else
s = Cells(1, Columns.Count).End(xlToLeft).Column + 1
e_alt = Cells(1, s - 1)
End If
e_neu = "OPL " & Format(Dienstag(Date), "ddmmyyy")
If e_neu = e_alt Then
MsgBox "Eintrag existiert bereits!"
Else
Cells(1, s) = e_neu
Columns(s).ColumnWidth = 20
End If
End Sub
Function Dienstag(d As Date) As Date
Dim wd As Integer
wd = Weekday(d, vbMonday)
Dienstag = d + 2 - wd
End Function

Gruß Matthias
AW: wer hilft
27.07.2006 10:28:24
Tubbe
Hallo Matthias,
ich Danke dir erstmal, das klappt schon ganz gut.
Die letztbeschriebene Spalte hat ihren Eintrag aber nicht in der 1. Zelle.
Wie kann man das lösen?
MFG
Tubbe
Anzeige
AW: wer hilft
27.07.2006 10:40:05
Matthias
Hallo Tubbe,
wenn es eine andere Zeile ist, passe den Wert an, wenn nicht, versuch mal dies:

Sub NeuerEintrag()
Dim s As Integer, e_neu As String, e_alt As String
s = Range(Split(ActiveSheet.UsedRange.Address, ":")(1)).Column + 1
e_alt = Cells(1, s - 1)
e_neu = "OPL " & Format(Dienstag(Date), "ddmmyyy")
If e_neu = e_alt Then
MsgBox "Eintrag existiert bereits!"
Else
Cells(1, s) = e_neu
Columns(s).ColumnWidth = 20
End If
End Sub

Gruß Matthias
funktioniert bestens :-)
27.07.2006 11:10:56
Tubbe
Vielen Dank für Deine Unterstützung und ´nen schönen Tag noch.
MFG
Tubbe
AW: wer hilft
27.07.2006 11:07:23
Beni
Hallo Tube,
Gruss Beni

Sub NeuerEintrag()
Dim s As Integer, e_neu As String, e_alt As String
If Cells(1, 1) = "" Then
s = 1
Else
For s = 256 To 1 Step -1
c = Cells(1, s).End(xlDown).Row
If Not c = 65536 Then
s = s + 1
Exit For
End If
Next s
e_alt = Cells(1, s - 1)
End If
e_neu = "OPL " & Format(Dienstag(Date), "ddmmyyyy")
If e_neu = e_alt Then
MsgBox "Eintrag existiert bereits!"
Else
Cells(1, s) = e_neu
Columns(s).ColumnWidth = 20
End If
End Sub


Function Dienstag(d As Date) As Date
Dim wd As Integer
wd = Weekday(d, vbMonday)
Dienstag = d + 2 - wd
End Function

Anzeige
AW: wer hilft
27.07.2006 11:34:44
Tubbe
Danke auch dir Beni,
musste nur noch die Variable c definieren, dann funktioniert auch das sehr gut.
Auch dir noch ´nen schönen Tag.
MFG
Tubbe

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige