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

KW mit Buchstaben kopieren

KW mit Buchstaben kopieren
22.11.2006 18:12:17
Heinz
Hallo Leute
Habe unten einen Auszug von einen Code,der mir ein Tab.Blatt als Kalenderwoche kopiert. ZB. KW32
Das funkt.auch.
Nur müsste öfters zur KW ein Buchstabe hinzugefügt werden. ZB.KW32A
Das lässt dieses Makro leider nicht zu.
Könnte mir Bitte dabei jemand behilflich sein ?
Danke,Heinz
kopierKW = Application.InputBox("Welches Kalenderwochen-Blatt wollen Sie kopieren?", _
"Kalenderwochen-Blatt", KW, , , , 1)
If kopierKW = 0 Then Exit Sub
Loop While kopierKW 54

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: KW mit Buchstaben kopieren
22.11.2006 21:16:44
firmus
Hallo Heinz,
es wäre hilfreich den gesamten Code zu sehen, denn der eigentliche Copy-Befehl fehlt.
.
Mein flüchtiger Ansatz:
1) Das Ergänzen mit "A" ist nicht "so einfach" zu machen.
Ich nehme an, dass beim Copy-Vorgang im LOOP hinter "KW" einfach die Wochennr.
geklebt wird.
2) Um einen Buchstaben dahinter anzufügen ist nötig
a) nach welchem Regeln soll "A" einfügt werden?
- welche Woche soll "A" erhalten, welche nicht?
b) Wo wird die Info angegeben welcher Buchstabe anzufügen ist?
c) Vermutlich muss eine 2. Eingabe (der Buchstabe) einfügt werden.
Nach Beantwortung dieser Fragen und der Sichtung des gesamten Codes sollte eine
Lösung per VBA-Macro relativ einfach sein.
Gruß aus Bayern,
Firmus
Anzeige
AW: KW mit Buchstaben kopieren
24.11.2006 13:54:54
Heinz
Hallo Firmus
Bin leider erst heute dazugekommen um zu Antworten
Habe nun den ganzen Code eingefügt.
Ich hoffe Du kannst mir Bitte weiterhelfen.
Es sollte so wie in Code KW52 das ich dann händisch in der Msg Box ein a,b,c usw. einfügen kann.
Danke und Gruß Heinz
' Einzelner Abschnitt aus WoMat in eigene Datei Kopieren und
' in Ordner unter frei wählbarem Namen speichern

Private Sub cmdFreigeben_Click()
Dim kopierKW%, zeileLinie%
Dim datName$, extName$, ergName$, zielPfad$, altPfad$
Dim Frage
zielPfad = "F:\Test\"
' Abfrage der Woche
Do
kopierKW = Application.InputBox("Welches Kalenderwochen-Blatt wollen Sie kopieren?", _
"Kalenderwochen-Blatt", KW, , , , 1)
If kopierKW = 0 Then Exit Sub
Loop While kopierKW < 1 Or kopierKW > 54
' eventuellen Blattschutz aufheben
On Error Resume Next
Worksheets("WoMat").Unprotect
Application.ScreenUpdating = False
' Suchen nach der Zeilennummer lt. Kalenderwoche
With Sheets("WoMat")
zeileLinie = 0
For n = 2 To 1978 Step 38
If .Cells(n, 10).Value = kopierKW Then
zeileLinie = n - 1
Exit For
End If
Next n
If zeileLinie = 0 Then
MsgBox "Kalenderwoche " & KW & " nicht gefunden!"
Exit Sub
End If
' Kopieren in das Tabellenblatt 'Wochenblatt'
.Range("A" & zeileLinie - 1 & ":AX" & zeileLinie + 36).Copy _
Destination:=Sheets("Wochenblatt").Range("A1")
End With
'Laufwerk und Ordner von dieser Arbeitsmappe
altPfad = ThisWorkbook.Path
'Laufwerk und Ordner als Vorgabe setzen
ChDrive "\": ChDir zielPfad
datName = "KW " & CStr(kopierKW) & "": extName = ".xls"
'Das Dialogfenster mit Vorgabedatei
ergName = Application.GetSaveAsFilename _
(datName & extName, "Micrsoft Excel-Dateien (*.xls),*.xls")
' Auswerten des Dateinamen
Select Case ergName
Case "", False: Exit Sub
Case vbYes
If Dir(ergName) <> "" Then
Frage = MsgBox("Die Datei " & ergName & " existiert schon! Überschreiben?", vbYesNo)
If Frage = vbNo Then Exit Sub
End If
End Select
'Speichervorgang
Worksheets("Wochenblatt").Copy
ActiveWorkbook.SaveAs ergName 'zielPfad & ergName
ActiveWorkbook.Close savechanges:=False
'Laufwerk und Ordner rücksetzen
ChDrive "\": ChDir altPfad & "\"
Worksheets("WoMat").Protect Password:="", Contents:=True, UserInterfaceOnly:=True
Application.ScreenUpdating = True
End Sub

Anzeige
AW: KW mit Buchstaben kopieren
24.11.2006 22:08:11
firmus
Hallo Heinz,
aus Deinem Code bin ich nicht bis ins Detail schlau geworden "Was soll insgesamt gemacht werden", denn plötzlich tauchen Kopier-Vorgänge auf, die nichts mit dem Kopieren eines Blattes zu tun haben. ?
Hinweise:
1) Wenn ein Buchstabe anzuhängen ist, kann die Eingabe nicht mehr als Wochennummer
(=index) benutzt werden. Teilstring + Typconvert ist dann nötig.
Wie kann der Teilstring zuverlässig bestimmt werden?
2) Soll das Wochen-Blatt als Blatt kopiert werden?
oder
3) Soll das Wochen-Blatt als xls-file (mit 1 Wochenblatt als Inhalt) gespeichert werden?
Ich habe Deinen Code angewandt und folgendes getan:
1) beliebige Eingabe für die zu kopierende Woche zugelassen.
2) Prüfung der Eingabe gegen die existierenden Blattnamen in dieser XLS-datei.
(Dabei wurden die Namen auf Uppercase gestellt.)
3) Falls der Blattname vorhanden ist, wird das Blatt als XLS-datei abgelegt.
(das war schon so ähnlich)
(die Kopiergänge innerhalb der Blätter habe ich unbeachtet gelassen)
4) Falls der Blattname nicht vorhanden ist, erscheint eine Fehlermeldung.
- Das Makro endet.
Hier ist das Beispiel enthalten: https://www.herber.de/bbs/user/38490.xls
Ich hoffe dieser Ansatz hilft Dir weiter.
Gruß,
Firmus
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige