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

geht oder geht nicht!!?

geht oder geht nicht!!?
11.06.2003 11:54:14
Bernd
Hallo alle zusammen,

es folgt die Darstellung und danach meine Frage?

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Erster Wurf: geht oder geht nicht!!?
11.06.2003 12:42:17
Mike E.
Hallo Bernd,

ja, das geht; allerdings ist das hier nur ein erster Wurf und hat noch Optimierungsbedarf (insbesondere, was die Fehlerbehandlung angeht):

Gruß
Mike

Re: Erster Wurf: geht oder geht nicht!!?
11.06.2003 12:58:27
Bernd
Hallo Mike,

Danke für Deine schnelle Antwort!!!

Möchte Deine Code ausprobieren und habe noch Fragen:
1) NameTab = Worksheets("Tabelle1"), "Tabelle1" ersetze ich mich dem Originalnamen meines Blattes richtig!?
2) In meiner Tabelle werden exakt 100 Ma-Nr. vergeben, d.h. die Nachnamespalte "C" in meinem Beispiel geht maximal auf "C101". Ist diese Tatsache in deinem Code berücksichtigt?
3) in welche Zeile Deines Codes erkenne ich, dass das Blatt "Muster" kopiert wird?

Verzeih meine komischen Fragen, bin aber noch relativer Laie in Excel.

Gruss Bernd

Anzeige
Re: Erster Wurf: geht oder geht nicht!!?
11.06.2003 13:01:46
Mike E.
Hallo Bernd,

1.) Ja
2.) da habe ich mich ganz exakt an dein Beispiel gehalten; hier ist also noch erheblicher Optimierungsbedarf 8das schaffe ich heute leider nicht mehr)
3.) das müsste (nach entsprechender Änderung) die gesuchte Code-Zeile(n) sein:

Sheets("Tabelle1").Select
Cells.Select
Selection.Copy Destination:=Sheets(NameTab).Cells(1, 1)


Gruß
Mike

Re: Erster Wurf: geht oder geht nicht!!?
11.06.2003 13:14:47
Bernd
Hallo Mike,

würde mich sehr freuen, wenn Du mir bei der Lösung weiter zur Seite stehen könntest, aber lass Dir Zeit, denn mein Projekt musss nicht morgen fertig sein.

Du kannst mir auch gerne per Mail Deine Vorschläge zukommen lassen, wenn Du willst.

Danke erstmal und bis bald
Gruss Bernd

Anzeige
Re: Erster Wurf: geht oder geht nicht!!?
11.06.2003 13:16:24
Bernd
Hallo Mike,

würde mich sehr freuen, wenn Du mir bei der Lösung weiter zur Seite stehen könntest, aber lass Dir Zeit, denn mein Projekt musss nicht morgen fertig sein.

Du kannst mir auch gerne per Mail Deine Vorschläge zukommen lassen, wenn Du willst.

Danke erstmal und bis bald
Gruss Bernd

Re: geht oder geht nicht!!?
11.06.2003 13:37:04
Mac4
Hallo Bernd,

habe auch noch eine Lösung für Dich.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Anzahl As Long, Bereich As Range, Blattname
Set Bereich = Range("C2:C150")
On Error GoTo Fehler
If Intersect(Target, Bereich) Is Nothing Then
Else
Anzahl = Sheets.Count
Sheets("Muster").Select
Sheets("Muster").Copy After:=Sheets(Anzahl)
Blattname = Target.Value & "_" & Right(Target.Offset(0, -2).Value, 3)
ActiveSheet.Name = Blattname
Fehler:
If Err.Number = 1004 Then
MsgBox ("Blatt mit dem Namen: " & Blattname & " existiert bereits!"), vbInformation: ActiveSheet.Delete
End If
End If
Sheets("Muster").Select
End Sub

Viel Erfolg!

Anzeige
Re: geht oder geht nicht!!?
11.06.2003 13:44:08
Bernd
Hallo Mac4,

danke erstmal, probiere es gleich aus und melde mich dann nochmal.

Gruss Bernd

Re: geht oder geht nicht!!?
11.06.2003 14:03:22
Bernd
Hallo Mac4,

danke erstmal, probiere es gleich aus und melde mich dann nochmal.

Gruss Bernd

An Mac4 - geht nicht ganz!
11.06.2003 14:45:08
Bernd
hallo Mac4,

heir dein etwas von mir abgeänderter Code und anschließend die Problemdarstellung:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Anzahl As Long, Bereich As Range, Blattname
Set Bereich = Range("C2:C101")
On Error GoTo Fehler
If Intersect(Target, Bereich) Is Nothing Then
Else
Anzahl = Sheets.Count
Sheets("Muster").Select
Sheets("Muster").Copy After:=Sheets(Anzahl)
Blattname = Target.Value & "_" & Right(Target.Offset(0, -2).Value, 3)
ActiveSheet.Name = Blattname
Fehler:
If Err.Number = 1004 Then
MsgBox ("Blatt mit dem Namen: " & Blattname & " existiert bereits!"), vbInformation: ActiveSheet.Delete
End If
End If
Sheets("GP_Daten").Select
End Sub


Folgendes passiert:
ich beginne mit der Eingabe in Spalte B, beim verlassen wird in Spalte A eine MA-Nr. duch "Wenn"-Abfrage generiert und es wird ein Blatt angelegt welches so aussieht "_206", das darf bei verlassen von Spalte B nach C noch nicht passieren, sondern wenn ich die Spalte C verlasse, dann wird ein korrektes Blatt mit dem Inhalt aus C und den letzten drei Zahlen der Spalte A angelegt, allerdings wird erneut versucht dasselbe Blatt anzulegen, wenn ich von Spalte D zurück auf C gehe, das darf nicht sein.

Kannst du mir bei der Lösung helfen???

Gruss Bernd

Anzeige
Re: An Mac4 - geht nicht ganz!
11.06.2003 15:05:11
Mac4
Hallo Bernd,

Frage: Warum hast Du das Ereignis Worksheet_SelectionChange(ByVal Target As Range) gewählt? In meinem Beispiel arbeite ich mit Worksheet_Change(ByVal Target As Range)!

Deine Vorgehensweise hat zur Folge, dass sowohl bei Eintritt in den Bereich der Spalte C als auch beim Verlassen das Makro automatisch abläuft.
Bei Worksheet_Change(ByVal Target As Range) ist eine Veränderung des Zellinhaltes nötig, um das Makro zu starten. Das wäre bei Dir von Vorteil.


Re: An Mac4 - geht nicht ganz!
11.06.2003 15:22:54
Bernd
Hallo Mac4,

kannst du mir noch mal verzeihen, habe deinen Code ab 2. Zeile kopiert und in "Worksheet" eingepflanzt, was verkehrt war.

Es läuft nach Korrektur perfekt.

Eine kurze Frage noch:
Falls ich aus Versehen die Spalte wechsele, gibt es eine Möglichkeit, dass vorher eine Abfrage an den User stattfindet, ob das besagte Blatt "wirklich angelegt werden soll, oder nicht, und falls nicht, ich wieder in die Zelle der Eingabe zurückgeführt werde.

Gruss Bernd

Anzeige
Re: An Mac4 - geht nicht ganz!
11.06.2003 16:06:20
Mac4
Hi Bernd,

das sieht dann so aus:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Anzahl As Long, Bereich As Range, Blattname, Abfrage As String
Set Bereich = Range("C1:C101")
On Error GoTo Fehler
If Intersect(Target, Bereich) Is Nothing Then
Else
Anzahl = Sheets.Count
Sheets("Muster").Select
Blattname = Target.Value & "_" & Right(Target.Offset(0, -2).Value, 3)
Abfrage = MsgBox("Soll das Blatt" & Chr(10) & Blattname & " angelegt werden?", vbYesNo)
If Abfrage = vbNo Then
Target.Select
Exit Sub
Else
Sheets("Muster").Copy After:=Sheets(Anzahl)
ActiveSheet.Name = Blattname
Fehler:
If Err.Number = 1004 Then
MsgBox ("Blatt mit dem Namen: " & Blattname & " existiert bereits!"), vbInformation: ActiveSheet.Delete
End If
End If
End If
Sheets("GP_Daten").Select
End Sub




Anzeige
Re: An Mac4 - DANKE
11.06.2003 16:36:14
Bernd
Hallo Mac4,

wie sagen wir Bremer:"einfach spitzenmäßig"

Vielen Dank nochmal und ich wünsche Dir noch ein sehr langes Leben (nicht ganz uneigennützig).

Gruss Bernd

an Mike - Lösung ist da !!!
11.06.2003 16:46:05
Bernd
Hallo Mike,

Lösung ist da!!!

Danke nochmal sehr für Deine Hilfe

Gruss Bernd

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige