Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1720to1724
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
Inhaltsverzeichnis

Laufzeitfehler / Objekt fehlt

Laufzeitfehler / Objekt fehlt
09.11.2019 18:12:26
Sascha
Hallo zusammen,
ich sitze immernoch bei dem Problem fest das mein Makro einen Laufzeitfehler bzw. ein fehlendes Objekt meldet.
Das Makro lautet wie folgt:
Ansicht = Active
Dim ZeileMax As Long
Dim n As Long
With TabelleKomplett
ZeileMax = .UsedRange.Rows.Count
n = 1
For Zeile = 4 To ZeileMax
If .Cells(Zeile, 4).Value = "Materialschrank" Then
.Rows(Zeile).Copy Destination:=Materialschrank_1.Rows(n)
n = n + 1
If .Cells(Zeile, 4).Value = "Einsatzmaterial" Then
.Rows(Zeile).Copy Destination:=Einsatzmaterial_2.Rows(n)
n = n + 1
If .Cells(Zeile, 4).Value = "Fahrzeuge" Then
.Rows(Zeile).Copy Destination:=Fahrzeuge_3.Rows(n)
n = n + 1
If .Cells(Zeile, 4).Value = "Lehrmittel_Zentrale" Then
.Rows(Zeile).Copy Destination:=Lehrmittel_Zentrale_4.Rows(n)
n = n + 1
End If
End If
End If
End If
Next Zeile
End With
End Sub
ich habe in Excel mehrere Arbeitsblätter mit verschiedenen Namen. In dem Arbeitsblatt "Komplett" sollen Eintragungen vorgenommen. Wenn ich in der entsprechenden Zeile in der Spalte Werkstatt per Auswahlmenü die entsprechende Werkstatt ausgewählt habe, soll per Makro die komplette Zeile in die nächste freie Zeile der entsprechenden Werkstatt kopiert werden. Leider komme ich nicht weiter. Kann mir von euch jemand helfen? Ich versuche die Exceldatei hochzuladen. Danke

51
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Laufzeitfehler / Objekt fehlt
09.11.2019 18:13:24
Hajo_Zi
frage jemand der neben Dir sitzt der sieht die Datei.
Die meisten hier sehen Sie nicht.
Da Sie nicht auf Deinen Rechner schauen.
Vielleicht sollte die Datei verlinkt werden?
Das ist nur meine Meinung zu dem Thema.
Benutze hier im Forum die Funktion zum hochladen. Falls Du die nicht benutzen möchtest beachte, von unsicheren Servern wie z.B. www.file-upload.net lade ich keine Datei runter. (lt. Einschätzung meines Virenprogramms)

AW: Laufzeitfehler / Objekt fehlt
09.11.2019 18:25:10
Regina
Hi, nur geraten:
wenn dein Arbeitsblatt "Komplett" heißt. ,üsste statt
With TabelleKomplett
es wohl
With Worksheets("Komplett")
heißen
gruß
Regina
Anzeige
AW: Laufzeitfehler / Objekt fehlt
09.11.2019 19:31:35
Sascha
Hallo Regina, ich habe es dementsprechend umgeschrieben. Die Fehlermeldung ist weg. Allerdings wird die Zeile nicht kopiert.
AW: Laufzeitfehler / Objekt fehlt
09.11.2019 19:33:10
Sascha
Die Datei wurde von mir hochgeladen. Gesendet wurde diese von einem städtischen Server. Dieser ist absolut sicher
AW: Laufzeitfehler / Objekt fehlt
09.11.2019 22:37:08
onur
Die Datei hochladen bringt nix, wenn du den LINK zu ihr nicht hier postest.
AW: Laufzeitfehler / Objekt fehlt
09.11.2019 19:56:01
Nepumuk
Hallo,
versuch es mal so:
Sub x()
    Dim ZeileMax As Long
    Dim n As Long
    Dim Zeile As Long
    
    With Worksheets("Komplett")
        ZeileMax = .UsedRange.Rows.Count
        n = 1
        
        For Zeile = 4 To ZeileMax
            
            If .Cells(Zeile, 4).Value = "Materialschrank" Then
                
                .Rows(Zeile).Copy Destination:=Materialschrank_1.Rows(n)
                n = n + 1
                
            ElseIf .Cells(Zeile, 4).Value = "Einsatzmaterial" Then
                
                .Rows(Zeile).Copy Destination:=Einsatzmaterial_2.Rows(n)
                n = n + 1
                
            ElseIf .Cells(Zeile, 4).Value = "Fahrzeuge" Then
                
                .Rows(Zeile).Copy Destination:=Fahrzeuge_3.Rows(n)
                n = n + 1
                
            ElseIf .Cells(Zeile, 4).Value = "Lehrmittel_Zentrale" Then
                
                .Rows(Zeile).Copy Destination:=Lehrmittel_Zentrale_4.Rows(n)
                n = n + 1
                
            End If
        Next Zeile
    End With
End Sub

Gruß
Nepumuk
Anzeige
AW: Laufzeitfehler / Objekt fehlt
09.11.2019 20:08:48
Sascha
Danke, die Meldung ist weg, kopieren will er trotzdem nicht. In welcher Arbeitsmappe muss ich das Makro hinterlegen? Aktuell ist es in der Mappe "Komplett"
AW: Laufzeitfehler / Objekt fehlt
09.11.2019 20:11:43
Sascha
Aktuell schreibt mir Excel folgende Meldung: Das Makro "Neu_Bestellung und Wareneingang.xlsm´!Tabelle2,Ausführen´kann nicht ausgeführt werden. Das Makro ist möglicherweise in dieser Arbeitsmappe nicht verfügbar, oder alle Makros wurden deaktiviert.
AW: Laufzeitfehler / Objekt fehlt
10.11.2019 01:18:04
Piet
Hallo
ich bin mir nicht 100% sicher ob meine Vermutung stimmt, glaube aber der Code müsste so aussehen. Einfach mal probieren, Würde mich freuen wenn es damit klappt.
mfg Piet
Sub x()
Dim ZeileMax As Long
Dim n As Long
Dim Zeile As Long
With Worksheets("Komplett")
ZeileMax = .UsedRange.Rows.Count
For Zeile = 4 To ZeileMax
If .Cells(Zeile, 4).Value = "Materialschrank" Then
n = Worksheets("Materialschrank").Cells(Rows.Count, 1).End(xlUp).Row
.Rows(Zeile).Copy Destination:=Worksheets("Materialschrank").Rows(n)
ElseIf .Cells(Zeile, 4).Value = "Einsatzmaterial" Then
n = Worksheets("Einsatzmaterial").Cells(Rows.Count, 1).End(xlUp).Row
.Rows(Zeile).Copy Destination:=Worksheets("Einsatzmaterial").Rows(n)
ElseIf .Cells(Zeile, 4).Value = "Fahrzeuge" Then
n = Worksheets("Fahrzeuge").Cells(Rows.Count, 1).End(xlUp).Row
.Rows(Zeile).Copy Destination:=Worksheets("Fahrzeuge").Rows(n)
ElseIf .Cells(Zeile, 4).Value = "Lehrmittel_Zentrale" Then
n = Worksheets("Lehrmittel_Zentrale").Cells(Rows.Count, 1).End(xlUp).Row
.Rows(Zeile).Copy Destination:=Worksheets("Lehrmittel_Zentrale").Rows(n)
End If
Next Zeile
End With
End Sub

Anzeige
AW: Laufzeitfehler / Objekt fehlt
10.11.2019 08:30:19
Piet
Hallo Sascha - dringende Code Korrektur
in meinem Code ist ein gravierender Flüchtigkeitsfehler! Bitte vor dem Starten korrigieren!
Die Variable n = muss am Ende nach .Row + 1 - erhöht werden, sonst wird der letzte Datensatz überschrieben. Bitte aendere das in allen Codezeilen mit n = .... Danke ....
mfg Piet
AW: Laufzeitfehler / Objekt fehlt
10.11.2019 09:36:28
Werner
Hall Sascha,
meiner Meinung nach ein klasischer Fall für Select Case.
Sub Ausführen()
Dim ZeileMax As Long, n As Long, Zeile As Long
With Worksheets("Komplett")
ZeileMax = .Cells(.Rows.Count, 4).End(xlUp).Row
For Zeile = 4 To ZeileMax
Select Case .Cells(Zeile, 4).Value
Case "Materialschrank", "Einsatzmaterial", "Fahrzeuge", "Lehrmittel_Zentrale"
With Worksheets(.Cells(Zeile, 4).Value)
n = .Cells(.Rows.Count, 1).End(xlUp).Offset(1).Row
Worksheets("Komplett").Rows(Zeile).Copy .Rows(n)
End With
Case Else
End Select
Next Zeile
End With
End Sub
Zudem würde ich beim Feststellen der letzten Zeile auf UsedRange verzichten und die letzte Zelle direkt in Spalte D ermitteln.
Gruß Werner
Anzeige
AW: Laufzeitfehler / Objekt fehlt
10.11.2019 09:51:49
Piet
Hallo Werner
Gratuliere, auf Select Case bin ich garnicht gekommen. Schöne Arbeit. Erlaube mir einen Hinweis:
Hinter n = xxxx.Row müsste es m.E. .Row +1 heissen. Sonst wird die letzte Zeile überschrieben.
mfg Piet
AW: Laufzeitfehler / Objekt fehlt
10.11.2019 09:56:50
Werner
Hallo Piet,
1. Danke für die Blumen
2. nö, weil offset
n = .Cells(.Rows.Count, 1).End(xlUp).Offset(1).Row
Gruß Werner
AW: Soory, übersehen! Man achte auf Details oWt
10.11.2019 11:42:20
Piet
...
kein Problem....
10.11.2019 15:02:09
Werner
Hallo Piet,
...meine Brille ist durchaus auch hin und wieder etwas "eingetrübt". ;-D
Gruß Werner
AW: kein Problem....
11.11.2019 14:59:15
Sascha
Hallo zusammen. Irgendwo ist nocimmer der Bock drinne. Die entsprechende Zeile wird nicht kopiert, zudem erhalte ich in der Exceltabelle beim anklicken des von mir eingerichteten Button eine Fehlermeldung (fehlendes Objekt,...). Hier nochmal der Code:
Sub X()
Dim ZeileMax As Long
Dim n As Long
Dim Zeile As Long
With Worksheets("Komplett")
ZeileMax = .UsedRange.Rows.Count
For Zeile = 4 To ZeileMax
If .Cells(Zeile, 4).Value = "Materialschrank" Then
n = Worksheets("Materialschrank").Cells(Rows.Count, 1).End(xlUp).Row
.Rows(Zeile).Copy Destination:=Materialschrank_1.Rows(n)
n = n + 1
ElseIf .Cells(Zeile, 4).Value = "Einsatzmaterial" Then
n = Worksheets("Einsatzmaterial").Cells(Rows.Count, 1).End(xlUp).Row
.Rows(Zeile).Copy Destination:=Einsatzmaterial_2.Rows(n)
n = n + 1
ElseIf .Cells(Zeile, 4).Value = "Fahrzeuge" Then
n = Worksheets("Fahrzeuge").Cells(Rows.Count, 1).End(xlUp).Row
.Rows(Zeile).Copy Destination:=Fahrzeuge_3.Rows(n)
n = n + 1
ElseIf .Cells(Zeile, 4).Value = "Lehrmittel_Zentrale" Then
n = Worksheets("Lehrmittel_Zentrale").Cells(Rows.Count, 1).End(xlUp).Row
.Rows(Zeile).Copy Destination:=Lehrmittel_Zentrale_4.Rows(n)
n = n + 1
ElseIf .Cells(Zeile, 4).Value = "Gebäudetechnik" Then
n = Worksheets("Gebäudetechnik").Cells(Rows.Count, 1).End(xlUp).Row
.Rows(Zeile).Copy Destination:=Gebäudetechnik_5.Rows(n)
n = n + 1
ElseIf .Cells(Zeile, 4).Value = "Atemschutz" Then
n = Worksheets("Atemschutz").Cells(Rows.Count, 1).End(xlUp).Row
.Rows(Zeile).Copy Destination:=Atemschutz_6.Rows(n)
n = n + 1
ElseIf .Cells(Zeile, 4).Value = "Elektro" Then
n = Worksheets("Elektro").Cells(Rows.Count, 1).End(xlUp).Row
.Rows(Zeile).Copy Destination:=Elektro_7.Rows(n)
n = n + 1
ElseIf .Cells(Zeile, 4).Value = "Löschgeräte" Then
n = Worksheets("Löschgerät").Cells(Rows.Count, 1).End(xlUp).Row
.Rows(Zeile).Copy Destination:=Löschgeräte_8.Rows(n)
n = n + 1
ElseIf .Cells(Zeile, 4).Value = "Rettungsgeräte" Then
n = Worksheets("Rettungsgeräte").Cells(Rows.Count, 1).End(xlUp).Row
.Rows(Zeile).Copy Destination:=Rettungsgeräte_9.Rows(n)
n = n + 1
ElseIf .Cells(Zeile, 4).Value = "Hydraulik" Then
n = Worksheets("Hydraulik").Cells(Rows.Count, 1).End(xlUp).Row
.Rows(Zeile).Copy Destination:=Hydraulik_10.Rows(n)
n = n + 1
ElseIf .Cells(Zeile, 4).Value = "Kleiderkammer" Then
n = Worksheets("Kleiderkammer").Cells(Rows.Count, 1).End(xlUp).Row
.Rows(Zeile).Copy Destination:=Kleiderkammer_11.Rows(n)
n = n + 1
ElseIf .Cells(Zeile, 4).Value = "Medizintechnik" Then
n = Worksheets("Medizintechnik").Cells(Rows.Count, 1).End(xlUp).Row
.Rows(Zeile).Copy Destination:=Medizintechnik_12.Rows(n)
n = n + 1
ElseIf .Cells(Zeile, 4).Value = "Kleingeräte" Then
n = Worksheets("Kleingeräte").Cells(Rows.Count, 1).End(xlUp).Row
.Rows(Zeile).Copy Destination:=Kleingeräte_13.Rows(n)
n = n + 1
ElseIf .Cells(Zeile, 4).Value = "Pneumatik" Then
n = Worksheets("Pneumatik").Cells(Rows.Count, 1).End(xlUp).Row
.Rows(Zeile).Copy Destination:=Pneumatik_14.Rows(n)
n = n + 1
ElseIf .Cells(Zeile, 4).Value = "Funk_EDV" Then
n = Worksheets("Funk_EDV").Cells(Rows.Count, 1).End(xlUp).Row
.Rows(Zeile).Copy Destination:=Funk_EDV_15.Rows(n)
n = n + 1
ElseIf .Cells(Zeile, 4).Value = "Absturzsicherung" Then
n = Worksheets("Absturzsicherung").Cells(Rows.Count, 1).End( _
xlUp).Row
.Rows(Zeile).Copy Destination:=Absturzsicherung_16.Rows(n)
n = n + 1
ElseIf .Cells(Zeile, 4).Value = "Beklebung" Then
n = Worksheets("Beklebung").Cells(Rows.Count, 1).End(xlUp). _
Row
.Rows(Zeile).Copy Destination:=Beklebung_17.Rows(n)
n = n + 1
ElseIf .Cells(Zeile, 4).Value = "Pumpen" Then
n = Worksheets("Pumpen").Cells(Rows.Count, 1).End(xlUp). _
Row
.Rows(Zeile).Copy Destination:=Pumpen_18.Rows(n)
n = n + 1
End If
Next Zeile
End With
End Sub

Anzeige
AW: kein Problem....
11.11.2019 18:38:31
Piet
Hallo Sascha
probiere bitte mal den unteren Code aus und melde zurück ob er einwandfrei funktioniert? Wenn ja nicht überrascht sein das er so kurz ist, ich brauchte 10 Jahre um das programmieren zu können.
msg Piet
Sub X()
Dim ZeileMax As Long
Dim n As Long
Dim Zeile As Long
Dim Txt As String
Dim Sht As Worksheet
On Error Resume Next
With Worksheets("Komplett")
ZeileMax = .Cells(Rows.Count, 4).End(xlUp).Row
'in alle genannten Tabellen kopieren
For Zeile = 4 To ZeileMax
Txt = .Cells(Zeile, 4).Value
Set Sht = Worksheets(Txt)
If Txt  Empty Then
If Not Sht Is Nothing Then
n = Sht.Cells(Rows.Count, 1).End(xlUp).Row + 1
.Rows(Zeile).Copy Destination:=Sht.Cells(n, 1)
Else
MsgBox Sht & "  Error, dieses Blatt existiert nicht!"
End If
End If
Next Zeile
End With
End Sub

Anzeige
AW: kein Problem....
11.11.2019 19:27:20
Sascha
Hallo Piet,
wo genau soll ich den Code denn reinschreiben? Gruß Sascha
wird wohl so.....
11.11.2019 20:17:06
Werner
Hallo Piet,
...nicht funktionieren. Wenn du dir den letzten Code des TE mal anschaust, dann ist es wohl tatsächlich so, dass die Tabellenblattnamen von den Suchbegriffen in Spalte D abweichen.
Zudem scheint ihm die seitherige Hilfe hier nicht genehm gewesen zu sein. Mittlerweile ist der TE damit auch im VBA-Forum unterwegs - ohne darauf hinzuweisen, dass wir hier auch schon zu Gange sind.
Gruß Werner
AW: wird wohl so.....
11.11.2019 20:34:50
Sascha
Sorry an alle,
natürlich ist mir die Hilfe genehm! Es ist nur so das ich bei meiner jetzigen Feuerwehr nur noch drei Dienste habe. Diese Exceltabelle ist sozusagen ein kleines Abschiedsgeschenk an meine Kollegen um denen einen Teil der Verwaltungsarbeit zu erleichtern. Nehmt es mir daher nicht krumm das ich dieses Problem auch in das andere Forum gestellt habe. Ich habe noch Geduld! Sorry ;-)
Anzeige
AW: wird wohl so.....
11.11.2019 20:50:14
Werner
Hallo Sascha,
was glaubst du, was für Freude im VBA Forum auftauchen würde, wenn dort ein Helfer feststellen würde, dass er einen gleichen/ähnlichen Lösungsanzatz geliefert hätte, der hier bei Herber auch schon angeboten würde, nur deshalb, weil er im VBA Forum nichts von den Beiträgen hier weiß (und natürlich auch umgekehrt).
Für den Papierkorb zu arbeiten ist nicht besonders erfreulich.
Dan mal noch was zu deinen Gegebenheiten:
Warum um alles in der Welt ist es bei dir in deiner Datei wohl so, dass die tatsächlichen Tabellenblattnamen von den Begriffen im Blatt "Komplett" in Spalte D abweichen? Das ist zwar auch lösbar, verkompliziert die Sache aber, meiner Meinung nach unnötig.
Oder gibt es einen besonderen Grund, wehalb du an deine Blattnamen noch eine fortlaufende Ziffer anhängst?
Kann es z.B. sein, dass es ein Blatt mit dem Namen "Materialschrank_1" und ein weiteres mit "Materialschrank_2" gibt?
Wenn ja, dann sollte man das hier auch wissen.
Gruß Werner
Anzeige
AW: wird wohl so.....
11.11.2019 20:57:48
Sascha
Hallo Werner,
es tut mir Leid. Ich werde ausschließlich in diesem Forum bleiben.
Ich habe die Nummern hinzugefügt weil ich dachte das die Tabellenblätter und die Suchbegriffe unterschiedlich sein müsen. Es gibt keinen Materialschrank 2. auch nicht bei den anderen Titeln. Ich habe jetzt alle Namen geändert. Jetzt heissen alle Begriffe gleich. Wenn ich das Makro nun über den Button ausführe erscheint die Meldung das das Makro nicht ausgeführt werden kann. Das Makro ist möglicherweise nicht in der Arbeitsmappe, oder alle Makros sind deaktiviert. Letzteres kann ich nach Rücksprache mit der IT Abteilung ausschließen.
Anzeige
AW: wird wohl so.....
11.11.2019 20:57:48
onur
Und solange du die blöde Datei nicht endlich hier postest, ist sowieso alles nur Herumraterei !
AW: wird wohl so.....
11.11.2019 21:10:25
Sascha
Hallo Onur, ich habe die Datei bereits mehrfach hochgeladen. Das wurde auch so bestätigt. Ich hatte dazu den File-Upload benutzt. Hat das denn nicht funktioniert?
AW: wird wohl so.....
11.11.2019 21:13:36
onur
Wann genau denn? Ich sehe hier nix.
Upload allein bringt nix, wenn du den Link, der dir nach dem Upload gegeben wurde, NICHT hier postest, denn dann liegt sie irgendwo auf dem Server von Herber und keiner kann dran.
AW: wird wohl so.....
11.11.2019 21:23:14
Werner
Hallo Sascha,
Code in ein allgemeines Modul. Schaltfläche auf dein Tabellenblatt und das Makro der Schaltfläche zuweisen.
Sub Ausführen()
Dim ZeileMax As Long, n As Long, Zeile As Long
Dim ws As Worksheet
Application.ScreenUpdating = False
With Worksheets("Komplett")
ZeileMax = .Cells(.Rows.Count, 4).End(xlUp).Row
For Zeile = 4 To ZeileMax
Select Case .Cells(Zeile, 4).Value
Case "Materialschrank", "Einsatzmaterial", "Fahrzeuge", "Lehrmittel_Zentrale", _
"Gebäudetechnik", "Atemschutz", "Elektro", "Löschgeräte", "Rettungsgeräte", _
"Hydraulik", "Kleiderkammer", "Medizintechnik", "Kleingeräte", "Pneumatik", _
"Funk_EDV", "Absturzsicherung", "Beklebung", "Pumpen"
On Error Resume Next
Set ws = Worksheets(.Cells(Zeile, 4).Value)
On Error GoTo 0
If Not ws Is Nothing Then
With ws
n = .Cells(.Rows.Count, 1).End(xlUp).Offset(1).Row
Worksheets("Komplett").Rows(Zeile).Copy .Rows(n)
End With
Else
MsgBox "Fehler: Ein Tabellenblatt " & .Cells(Zeile, 4) & " gibt es nicht."
End If
Case Else
End Select
Next Zeile
End With
End Sub
Gruß Werner
AW: wird wohl so.....
11.11.2019 21:30:43
Sascha
Ganz Lieben Dank Werner, probiere ich gleich aus
AW: wird wohl so.....
11.11.2019 22:15:20
Sascha
https://www.herber.de/bbs/user/133110.xlsm
Jetzt habe ich es verstanden. Hier ist der Dowloadlink für die Exceldatei. Bein Ausführen des Makros mit F8 ist mir aufgefallen das immer nur die erste Zeile gelb hinterlegt wird. Die restlichen Zeilen scheint das Makro zu ignorieren.
AW: wird wohl so.....
13.11.2019 19:26:23
Sascha
Hallo onur, die Datei habe ich ausprobiert. Der gelbe Button "Ausführen" ist aber nicht belegt. Die Zeile wird auch nicht kopiert
AW: wird wohl so.....
13.11.2019 19:33:56
onur
Das ist absoluter Blödsinn, habe ich eben getestet.
Du solltest vielleicht mal die Makros aktivieren.
Hier noch einmal:
https://www.herber.de/bbs/user/133189.xlsm
AW: wird wohl so.....
13.11.2019 19:55:07
Sascha
ONUR!!! Das Makro kopiert! Ich musste die Datei auf einem bestimmten Laufwerk auf unserem städtischen Server ablegen. Ansonsten sind tatsächlich ALLE Makros gesperrt. Nur eine Sache noch: Kann ich es irgendwie verhindern das bereits eingetragene Zeilen erneut mit koiert werden? In den Unterordnern habe ich sonst alle einträge mehrfach drinne. Ich habe zur Probe einmal die Löschfunktion herausgenommen, da die Muttertabelle (Komplett) geführt werden sollte. Wenn nicht finde ich es auch nicht schlimm! Deine Variante, die Zeilen zu löschen gefällt mir persönlich besser.
Andere Frage: Kannst du mir als Neuling in Sachen VBA gute Literatur empfhelen? Oder jemand anderes gerne auch?
VIIIIEEEEEELEN Danke euch allen!
AW: wird wohl so.....
13.11.2019 20:04:36
onur
Wenn du Spalte A (z.B.) nicht brauchst, kann man sie benutzen, um zu markieren, dass die Zeile bereits kopiert wurde.
Siehe hier:
https://www.herber.de/bbs/user/133190.xlsm
AW: wird wohl so.....
13.11.2019 20:44:12
Sascha
Da ist es!!! Gaaaaanz Herzlichen Dank! Ihr habt mich, bzw onur hat mich gerettet!
Ich bin so happy.
P.s.: kennt jemand gute Bücher zum VBA lernen?
AW: wird wohl so.....
14.11.2019 09:57:46
Werner
Hallo Sascha,
nur mal so am Rande.
Nicht Onur hat dich gerettet sondern wohl die Tatsache, dass du mal eine Datei, die dir zu Verfügung gestellt worden ist, einfach so getestet hast, wie sie dir hochgeladen wurde.
In anderen Fällen hast du wohl die Datei geändert, ohne das Makro entsprechend anzupassen, und wunderst dich dann, dass es nicht läuft.
Die Krone des ganzen ist dann aber, dass dir Piet eine erweiterte Version anbietet und du darauf noch nicht mal mit einem Wort reagierst.
Feine Sache.
Gruß Werner
AW: wird wohl so.....
14.11.2019 12:42:45
onur
Wenn er die Ihm zur Verfügung gestellten Dateien überhaupt mal sich angeschaut hat.
Abgesehen davon hätte das Problem schon am 9.11. erledigt sein können, wenn er seine Datei damals schon gepostet hätte.
AW: wird wohl so.....
14.11.2019 13:21:25
Sascha
Hallo zusammen, ich wollte niemanden übergehen oder etwas Böses. Ich muss gestehen er was den Überblick verloren zu haben. Des Weiteren kann ich die Dateien auf der Wache bis gestern nicht ohne Weiteres öffnen so das die Makros funktionieren. Die ersten Dateien musste ich über unseren IT Admin schicken. Dieser hat sie dann soweit in die entsprechenden Verzeichnisse kopiert. Schlussendlich hat er mit das Laufwerk freigeschaltet! Unsere IT ist besser gesichert als Fort Knox. Und das ist kein Scherz! Deshalb seht es mit ein wenig nach! Zudem habe ich auch noch mit dem Tagesgeschäft zu tun gehabt. Sorry Piet das ich auf deinen Post und der geänderten Datei nicht reagiert habe. Ich danke euch allen und würde mich freuen wenn ich hier, und nur hier, weiterhin aktiv bleiben kann. Liebe Grüße an alle!
AW: wird wohl so.....
14.11.2019 13:21:27
Sascha
Hallo zusammen, ich wollte niemanden übergehen oder etwas Böses. Ich muss gestehen er was den Überblick verloren zu haben. Des Weiteren kann ich die Dateien auf der Wache bis gestern nicht ohne Weiteres öffnen so das die Makros funktionieren. Die ersten Dateien musste ich über unseren IT Admin schicken. Dieser hat sie dann soweit in die entsprechenden Verzeichnisse kopiert. Schlussendlich hat er mit das Laufwerk freigeschaltet! Unsere IT ist besser gesichert als Fort Knox. Und das ist kein Scherz! Deshalb seht es mit ein wenig nach! Zudem habe ich auch noch mit dem Tagesgeschäft zu tun gehabt. Sorry Piet das ich auf deinen Post und der geänderten Datei nicht reagiert habe. Ich danke euch allen und würde mich freuen wenn ich hier, und nur hier, weiterhin aktiv bleiben kann. Liebe Grüße an alle!
AW: wird wohl so.....
11.11.2019 22:48:20
onur
Wenn die übertragenen Zeilen aus "komplett" wieder gelöscht werden sollen, schreib vor
Next z

das hier
Rows(z).ClearContents

AW: wird wohl so.....
11.11.2019 23:09:45
Werner
Hallo,
wie soll da was funktionieren, wenn dein tatsächlicher Tabellenaufbau von dem abweicht, was du am Anfang an Code gezeigt hast.
Deine Suchbegriffe stehen nicht in Spalte D sondern in Spalte C.
Zudem ist in deinen "Zieltabellen" die Spalte A ausgeblendet und nur die erste Zeile belegt. Dort hatte das Makro aber die erste freie Zelle ermittelt, was dann natürlich in die Hose geht, weil das die Zeile 2 ist.
Option Explicit
Sub Ausführen()
Dim ZeileMax As Long, n As Long, Zeile As Long
Dim ws As Worksheet
Application.ScreenUpdating = False
With Worksheets("Komplett")
ZeileMax = .Cells(.Rows.Count, "C").End(xlUp).Row
For Zeile = 4 To ZeileMax
Select Case .Cells(Zeile, "C").Value
Case "Materialschrank_1", "Einsatzmaterial_2", "Fahrzeuge_3", _
"Lehrmittel_Zentrale_4", "Gebäudetechnik_5", "Atemschutz_6", _
"Elektro_7", "Löschgeräte_8", "Rettungsgeräte_9", "Hydraulik_10", _
"Kleiderkammer_11", "Medizintechnik_12", "Kleingeräte_13", "Pneumatik_14", _
"Funk_EDV_15", "Absturzsicherung_16", "Beklebung_17", "Pumpen_18"
On Error Resume Next
Set ws = Worksheets(.Cells(Zeile, "C").Value)
On Error GoTo 0
If Not ws Is Nothing Then
With ws
n = .Cells(.Rows.Count, "B").End(xlUp).Offset(1).Row
Worksheets("Komplett").Rows(Zeile).Copy .Rows(n)
End With
Else
MsgBox "Fehler: Ein Tabellenblatt " & .Cells(Zeile, "C") _
& " gibt es nicht."
End If
Case Else
End Select
Next Zeile
End With
End Sub
Gruß Werner
AW: wird wohl so.....
12.11.2019 06:13:29
Sascha
Danke Werner, stimmt ich habe die ehemalige Spalte "fortlaufende Nummern" ausgeblendet und nicht gelöscht! bin auch ein Hornochse!. Probiere es morgen gleich mal aus. Habe jetzt Feierabend ;-)
AW: wird wohl so.....
12.11.2019 06:26:29
onur
Und wieso reagierst du nicht auf Antworten, die man dir um 22:47 schon gepostet hat ?
AW: wird wohl so.....
12.11.2019 06:47:30
Sascha
Die habe ich im Halbschlaf gesehen. Natürlich danke ich dir auch. War kurz danach nochmal im Einsatz bis um 1 Uhr. Dann ist man gar. Vielen Dank und liebe Grüße
AW: wird wohl so.....
12.11.2019 06:51:03
onur
Hast du die Datei (den Code) denn überhaupt getestet oder dankst du einfach so mal, weil sich das so gehört?
AW: wird wohl so.....
12.11.2019 14:22:20
Piet
Hallo Sascha
Sorry das ich jetzt erst den "langen Thread" lese, 18 Antworten seit meiner letzten AW. Beachtlich..
Ich bin nicht staendig im Forum, habe aber ein Interesse daran das wir den Thread für die Feuerwehr ans laufen bekommen. Sind wir bei aller Aufregung doch froh wenn die Jungs da sind, wenn WIR sie mal brauchen. Der Job ist KEIN Schreibtisch Job, das ist Knochenarbeit. Musste bitte für euch Helfer auch mal anerkennend gesagt werden.
Waere schön wenn wir uns alle beruhigen und uns auf die Sache konzentrieren. Ich warte mal ab was Sascha beim testen herausgefunden hat. Wo die Makros laufen, und was noch korrigiert werden muss. Würde mich freuen wenn wir den Thread für diese Helfer zufriedenstellend zu Ende bringen.
mfg Piet
AW: wird wohl so.....
13.11.2019 17:52:27
Sascha
Hallo Piet,
ich habe die ausgeblendete spalte gelöscht. Die Fehlermeldungen sind weg, kopieren will das Makro die Zeilen trotzdem nicht. Bin aber dabei zu forschen an welcher Stelle es hängt. Melde mich zeitnah. Gruß
AW: wird wohl so.....
13.11.2019 17:54:46
onur
WAS IST DENN JETZT MIT MEINER DATEI ?
AW: wird wohl so.....
13.11.2019 17:56:50
Sascha
Also, nach der ersten Abfrage "Materialschrank_1" kommt die Meldung "Laufzeitfehler ´424 Objekt erforderlich" Bis dahin läuft das Makro Zeile für Zeile durch. Irgendetwas habe ich übersehen. Nur Was?
Am besten lade ich die Datei nochmal hoch.
https://www.herber.de/bbs/user/133187.xlsm
AW: Laufzeitfehler / Objekt fehlt
13.11.2019 02:11:41
Piet
Hallo Sascha
anbei deine Beispieldatei mit dem Code von Werner zurück. Die Indexe _1 usw. habe ich überall gelöscht. Auch in den Tabellen Namen. Jetzt klappt die Datenübertragung in die Material Tabellen.
Neu hinzu gekommen
ist eine Tabelle "TabÜbs", in der alle sichtbaren Tabellenblaetter aufgelistet sind. Dort gibt es eine zweiten Button um direkt zur Tabelle zu springen. Und einen um die Materiallisten komplett zu löschen.
Neu sind auch
im Feld für die Verwaltung zwei Button und eine ComboBox. Wenn ihr Daten einbucht könnt ihr sie anschliessend löschen. Die Verwaltung muss aber noch ihre Daten einfügen. Sie kann alle offenen Daten oder jede einzelne Tabelle über die ComboBox zurück in "Komplett" laden, da bearbeiten, und neu abspeichern. Ich denke das Daten Rückholen zum Prüfen und bearbeiten erleichtert euch viel Arbeit.
https://www.herber.de/bbs/user/133157.xlsm
mfg Piet
AW: Laufzeitfehler / Objekt fehlt
15.11.2019 09:39:41
Sascha
Hallo Piet, ich habe dien Version der Exel Datei gefunden! Sorry, leider habe ich etwas den Durchblick verloren. Deine Version ist absolut genial! Vielen herzlichen Dank dafür. Jetzt können die Kollegen effizient arbeiten. Liebe Grüße Sascha
AW: Danke für die nette Rückmeldung
15.11.2019 10:37:49
Piet
Hallo Sascha
freut mich sehr das meine Arbeit so gut angekommen ist, und den Kollegen der Feuerwehr ihre Arbeit wesentlich erleichtert. Tut gut so etwas zu hçren. Vielen Dank dafür ...
mfg Piet

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige