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

Mehrfachauswahl

Mehrfachauswahl
10.12.2002 21:21:56
Harry_W
Hallo

Mein Problem :
1) Ich habe eine UserForm mit welcher ich mehrere Sheets aussuchen und aufrufen kann.
2) Ich habe ein Code bei dem Abgefragt wird an welchem Tag ein Kürzel wo eingetragen wird.

Und jetzt wollte ich eigentlich, dass nach dem Select die Abfrage gestartet wird und dieser Wert in alle
ausgewählten Blätter eingetragen wird. Aber - geht nicht.
Es wird nur in die Zelle im Aktiven Sheet geschrieben.

Hoffe mir kann geholfen werden.

mfg

Harry_W

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Mehrfachauswahl
10.12.2002 21:39:23
PeterW
Hallo Harry,

wie immer wäre der Code hilfreich - oder zumindest der Bereich, mit dem Du die Zellen versuchst zu füllen.

Gruß
Peter

Re: Mehrfachauswahl
10.12.2002 21:44:51
Harry_W
Hallo Peter

Die UserForm
Option Explicit
Private Sub cmdWeiter_Click()
Dim intCounter As Integer
Dim arrItems() As String
Dim intItems As Integer
For intCounter = 0 To lstSheets.ListCount - 1
If lstSheets.Selected(intCounter) Then
intItems = intItems + 1
ReDim Preserve arrItems(1 To intItems)
arrItems(intItems) = lstSheets.List(intCounter)
End If
Next intCounter
If intItems > 0 Then
Worksheets(arrItems).Select
End If
Unload Me
Call Eingabe
End Sub

Private Sub UserForm_Initialize()
Dim shact As Worksheet
For Each shact In ThisWorkbook.Worksheets
If shact.Cells(96, 1) = 12 Then Else GoTo 1
If shact.Visible = True Then
lstSheets.AddItem shact.Name
End If
1:
Next shact
End Sub

Der Code
Sub Eingabe()
5:
Dim Start As Date, z As String
Dim C As Integer, d As Integer
Dim a, b
b = ActiveSheet.Range("G3")
Start = InputBox("Eingabedatum eingeben", , (Date - 1))
C = 6
If Month(Start) = 1 Then d = 6 Else d = 7 * Month(Start) - 1
Do Until Cells(d, C) = Start
On Error GoTo 3
C = C + 1
Loop
a = InputBox("U = Urlaub / K = Krank / S = Sonder /" & Chr(13) & Chr(13) _
& "u.U = unbezahlter Urlaub / N = variabel")
If a = ("U") Or a = ("u") Or a = ("S") Or a = ("s") Or a = ("K") Or a = ("k") Or a = ("u.u") Or a = ("u.U") Or a = ("S") Or a = ("s") Or a = ("N") Or a = ("n") Then Else GoTo 1
If a = ("U") Or a = ("u") Then Cells(d + 1, C) = a
If a = ("K") Or a = ("k") Then Cells(d + 2, C) = a
If a = ("S") Or a = ("s") Then Cells(d + 3, C) = a
If a = ("u.U") Or a = ("u.u") Then Cells(d + 4, C) = a
If a = ("N") Or a = ("n") Then Cells(d + 5, C) = a
GoTo 2
1: MsgBox ("Es wurde Fehlart - ") & a & (" - eingegeben. ") & Chr(13) & Chr(13) & Chr(13) _
& (" Eingabe wird abgebrochen")
GoTo 2
3: MsgBox ("Es wurde das Datum - ") & Start & (" - eingegeben. ") & Chr(13) & Chr(13) & Chr(13) _
& (" Eingabe wird abgebrochen")
2:
If a = ("U") Or a = ("u") Then a = (" Urlaub")
If a = ("K") Or a = ("k") Then a = (" Krank")
If a = ("S") Or a = ("s") Then a = (" Sonderurlaub")
If a = ("u.U") Or a = ("u.u") Then a = (" unbezahlter Urlaub")
If a = ("N") Or a = ("n") Then a = (" variabel")
If MsgBox("Letzter Eintrag " & Chr(13) & Chr(13) & "Mitarbeiter/in :" & b _
& Chr(13) & Chr(13) & "Datum :" & Start _
& Chr(13) & Chr(13) & "Fehlart :" & a _
& Chr(13) & Chr(13) & "Neuer Eintrag bei diesem/r Mitarbeiter/in ? ", vbYesNo, " INFO") = vbYes Then GoTo 5
Sheets("Namensübersicht").Select
Application.ScreenUpdating = True
End Sub

Die Ausgewählten Blätter sind Kalender.

mfg

Harry_W

Anzeige
noch offen
10.12.2002 23:02:29
PeterW
Hallo Harry,

ich muss zugeben, aus dem Code nicht so ganz schlau zu werden. An welcher Stelle sollte denn nach Deiner Meinung auf mehrere Blätter geschrieben werden? Mit der Userform wählst Du zwar mehrere Blätter aus, schreibst aber dann mit der Sub Eingabe immer nur in eine Tabelle.
Erschwerend kommt hinzu, dass Du Dir mit Deinen Sprungbefehlen unnötig das Leben schwer und den Code unlesbar machst.

Ohne die Datei komplett zu sehen fühle ich mich außerstande, Dir weitere Ansätze zur Lösung zu geben.

Gruß
Peter

Re: noch offen
11.12.2002 00:12:28
Boris
Hallo Harry,

mir geht´s genau wie Peter:
Dein Code ist leider super unübersichtlich.
Daher nur eine Idee:
Mir fehlt - wenn überhaupt dieser Code - ein For-Next-Schleife rund um die einzelnen Sheets, in die du dann die Eintragungen einbettest.

Ohne diese Schleife nur der Eintrag in EINEM Sheet.

Gruß Boris

Aber

Anzeige
Re: noch offen
11.12.2002 08:44:00
Harry_W
Hallo Peter

Wenn ich manuell mehrere Sheets auswähle und dann in eine etwas
ändere oder eintrage wird die Änderung in jeder Sheet übernommen.
Das gleiche wollte ich eigentlich mit der UserForm zum Auswählen
der Tabellenblätter und der Code zum eintragen in alle Blätter.
Bei dem Code muß zuerst das Datum im Kalender gefunden werden und dann entweder eine oder zwei,, vier Spalten darunter das Datum eingegeben werden. Da ich es jetzt noch getrennt nutze wird unten nur abgefragt ob noch eine Eingabe in diesen Kalender
gemacht werden muß.
Zum Thema Unübersichtlichkeit
Es kann ja nicht jeder gleich wahnsinnig gut sein

mfg

Harry_W



Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige