![]() |
|
![]() |
#1 |
![]() MOF User |
![]() Hallo,
Ich habe eine Excel in Anhang gestellt da bräuchte ich eure Hilfe. wenn ich einen Doppelklick in Spalte A mache, und die Nummer anklicke, soll es mir die Daten der Nummer in das Datenblatt spielen und das Datenblatt dann in den Ordner den ich vorher per VBA erstellt habe (Ordnername steht in Spalte B "Bezeichnung") abgelegt werden. Es soll nur das Datenblatt als normale Excel ohne VBA abgelegt werden in dem Ordner. wäre super wenn ihr mir helfen könnt. gruss besserleben |
![]() |
![]() ![]() |
![]() |
#2 |
![]() MOF Guru |
![]() __________________ Bitte im Beitrag eine kurze Rückmeldung auch in dem Fall geben, wenn ein Problem gelöst wurde - dies hilft auch anderen Usern, wenn sie den betreffenden Thread lesen.Möchtest du dich außerdem für die Hilfe bei der Lösung deines Problems bedanken? Das kannst du ganz einfach durch die Bewertung eines Beitrags (Schalter unten links). |
![]() |
![]() ![]() |
![]() |
#3 |
Threadstarter
![]() ![]() MOF User |
![]() stehe im moment total auf den schlauch und wollte fragen wie das VBA dazu aussehen kann/soll
Danke im vorraus |
![]() |
![]() ![]() |
![]() |
#4 |
![]() MOF Guru |
![]() Das Worksheet_BeforeDoppelklick-Ereignis gehört ins Codemodul des Tabellenblattes. Prüfe, ob die Target.Column = 1 ist und ob Target eine verbundene Zelle ist. Sind beide Bedingungen erfüllt, erhältst du mit Target.Row die Zeile der ersten der 3 Verbundenen Zellen und mit Cells(Target.Row, Spalte) findest du zu übertragende Zelle. Du kannst dann einfach mittels
Code: Worksheets("Datenblatt").Range(....) = Cells(Target.Row, Spalte) Code: Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Target.Column = 1 Then If Target.MergeCells = True Then Cancel = True '<== diese Zeile ist erforderlich damit nach Doppelklick die Zelle nicht editiert wird Worksheets("Datenblatt").Range("C7") = Cells(Target.Row, 2) '.... End If End If End Sub Das Kopieren der Tabelle "Datenblatt" in eine neue Arbeitsmappe und Speichern dieser neuen Mappe unter dem gewünschten Namen kannst du mit dem Makrorekorder aufzeichnen. ![]() ![]() __________________ Bitte im Beitrag eine kurze Rückmeldung auch in dem Fall geben, wenn ein Problem gelöst wurde - dies hilft auch anderen Usern, wenn sie den betreffenden Thread lesen.Möchtest du dich außerdem für die Hilfe bei der Lösung deines Problems bedanken? Das kannst du ganz einfach durch die Bewertung eines Beitrags (Schalter unten links). |
![]() |
![]() ![]() |
![]() |
#5 |
Threadstarter
![]() ![]() MOF User |
![]() super danke für die Antwort,
noch eine Frage. mit ActiveWorkbook.SaveAs Filename:="C:TempNeuer Ordner" & neuName & ".xls" soll eine Datenblatt in einen Ordner kopiert werden. neuName ist ein Ordner den ich vorher erstellt habe und der Ordnername steht immer in Zelle "D7". leider speichert der Satz das Datenblatt nur in C:TempNeuer Ordner und nicht in den Ordner den ich erstellt habe und der Ordnername in Zelle "D7" steht. warum ? MFG besserleben |
![]() |
![]() ![]() |
![]() |
#6 |
![]() MOF Guru |
![]() neuName wird anscheinend als Dateiname erkannt, weil unmittelbar danach & ".xls" steht.
Beachte auch, dass am Ende jedes Ordners ein Backslash stehen muss. ![]() ![]() __________________ Bitte im Beitrag eine kurze Rückmeldung auch in dem Fall geben, wenn ein Problem gelöst wurde - dies hilft auch anderen Usern, wenn sie den betreffenden Thread lesen.Möchtest du dich außerdem für die Hilfe bei der Lösung deines Problems bedanken? Das kannst du ganz einfach durch die Bewertung eines Beitrags (Schalter unten links). |
![]() |
![]() ![]() |
![]() |
#7 |
Threadstarter
![]() ![]() MOF User |
![]() Backslash hab ich eingefügt.
wie kann ich das umgehen? mfg |
![]() |
![]() ![]() |
![]() |
#8 |
![]() MOF Guru |
![]() __________________ Bitte im Beitrag eine kurze Rückmeldung auch in dem Fall geben, wenn ein Problem gelöst wurde - dies hilft auch anderen Usern, wenn sie den betreffenden Thread lesen.Möchtest du dich außerdem für die Hilfe bei der Lösung deines Problems bedanken? Das kannst du ganz einfach durch die Bewertung eines Beitrags (Schalter unten links). |
![]() |
![]() ![]() |
![]() |
#9 |
Threadstarter
![]() ![]() MOF User |
![]() Hallo beverly
hier die codezelle nochmal ActiveWorkbook.SaveAs Filename:="C:TempNeuer Ordner" & neuName & ".xls" C:TempNeuer Ordner ist der fester link. bei neuName beziehe ich mich auf Zelle "D7" ich erstelle mehrere Ordner in C:TempNeuer Ordner der sagen wir mal Test1, Test2, Test3,... heissen. die Exceltabelle heisst Datenblatt. in D7 steht der Testordner in der das Tabellenblatt gespeichert werden soll. sozusagen wenn in D7 Test1 steht solle das Datenblatt in C:TempNeuer OrdnerTest1 gespeichert werden. wenn in D7 Test3 steht, dann soll das Datenblatt in C:TempNeuer OrdnerTest3 gespeichert werden. |
![]() |
![]() ![]() |
![]() |
#10 |
![]() MOF Guru |
![]() __________________ Bitte im Beitrag eine kurze Rückmeldung auch in dem Fall geben, wenn ein Problem gelöst wurde - dies hilft auch anderen Usern, wenn sie den betreffenden Thread lesen.Möchtest du dich außerdem für die Hilfe bei der Lösung deines Problems bedanken? Das kannst du ganz einfach durch die Bewertung eines Beitrags (Schalter unten links). |
![]() |
![]() ![]() |
![]() |
#11 |
Threadstarter
![]() ![]() MOF User |
![]() Hallo,
D7 ist der Ordnername der sich immer wieder ändert. die Ordner sind aber schon vorher erstellt. das heisst das Arbeitsblatt wird immer in den Ordner von D7 gestellt. du meinst ich brauch noch nen Dateinamen? wie würde die Zelle aussehn ? |
![]() |
![]() ![]() |
![]() |
#12 |
![]() MOF Guru |
![]() Hi,
na die Datei muss doch irgend einen Namen haben und der muss nach dem Ordnernamen stehen (mit oder ohne Dateiendung je nachdem). Wenn du eine Mappe von Hand in einem anderen Ordner speicherst, gibst du doch auch einen Namen an (selbst wenn es derselbe ist wie die aktuelle Mappe) - wie soll das denn sonst funktionieren? Wenn dir unklar ist wie eine Mappe mit VBA gespeichert wird, dann zeichne doch einfach mal den Code mit dem Makrorekorder auf... ![]() ![]() __________________ Bitte im Beitrag eine kurze Rückmeldung auch in dem Fall geben, wenn ein Problem gelöst wurde - dies hilft auch anderen Usern, wenn sie den betreffenden Thread lesen.Möchtest du dich außerdem für die Hilfe bei der Lösung deines Problems bedanken? Das kannst du ganz einfach durch die Bewertung eines Beitrags (Schalter unten links). |
![]() |
![]() ![]() |
![]() |
#13 |
Threadstarter
![]() ![]() MOF User |
![]() und wenn Dateiname und Ordnername gleich wären?
gruss |
![]() |
![]() ![]() |
![]() |
#14 |
![]() MOF Guru |
![]() Wenn dir unklar ist wie eine Mappe mit VBA gespeichert wird, dann zeichne doch einfach mal den Code mit dem Makrorekorder auf... ![]() ![]() __________________ Bitte im Beitrag eine kurze Rückmeldung auch in dem Fall geben, wenn ein Problem gelöst wurde - dies hilft auch anderen Usern, wenn sie den betreffenden Thread lesen.Möchtest du dich außerdem für die Hilfe bei der Lösung deines Problems bedanken? Das kannst du ganz einfach durch die Bewertung eines Beitrags (Schalter unten links). |
![]() |
![]() ![]() |
![]() |
#15 |
Threadstarter
![]() ![]() MOF User |
![]() Hallo Beverly,
hab ich doch schon gemacht, sieht so aus Sub Makro1() ' ' Makro1 Makro ' ' Sheets("Datenblatt").Select Sheets("Datenblatt").Copy ChDir "C:UsersRehmDesktopNeuer Ordner (5)B044" ActiveWorkbook.SaveAs Filename:= _ "C:UsersRehmDesktopNeuer Ordner (5)B044B044.xlsx", FileFormat:= _ xlOpenXMLWorkbook, CreateBackup:=False ActiveWindow.Close End Sub mein Problem liegt darin, dass das Datenblatt in diesem Fall B044 heissen soll und auch der Ordner. Den Ordner gibt es und ist erstellt. aber auch fariabel, kann auch B300 heissen. wenn der Ordner B300 heisst, soll das Datenblatt auch B300 heissen. der Name des Datenblattes steht immer in Zelle D7. somit ist D7 auch der Ordner wo das Datenblatt gespeichert werden soll. bekomme immer wieder Fehlermeldungen wie Pfad nicht gefunden oder ähnliches. hoffe du verstehst jetzt mein Problem. |
![]() |
![]() ![]() |