Kopierte Zellen markieren
#21
Guten Tag allerseits,
da es anscheinend keine Lösung für das Problem gibt,
möchte ich mich trotzdem für die bis jetzt erhaltene
Hilfe bedanken.
Gruss Martin
Antworten Top
#22
Guten Abend allerseits,
Nach langer Fehlesuche ohne Erfolg, habe ich das ganze nochmal von
Grund auf neu aufgebaut. Jetzt funktioniert es, warum auch immer?
Da auch einige das ganze mitverfolgt haben, werde ich es mal zur
Verfügung stellen, obwohl es noch Verbesserungspotential enthällt.
Dank nochmals allen, die den richtigen Weg aufgezeigt haben.
Mit Freundlichen Grüssen
Martin


Angehängte Dateien
.xlsm   Änderungen markieren.xlsm (Größe: 211,22 KB / Downloads: 10)
Antworten Top
#23
Guten Abend ihr fleissigen Helfer
Ich suche noch eine Lösung für folgendes Problem.

Wenn intSp85 = Application.Match("#Gen_16", Rows(6), 0) bis
        intSp89 = Application.Match("#Gen_20", Rows(6), 0)
nicht vorhanden sind erscheint eine Fehlermeldung:
        Laufzeitfehler '13'
        Typen unverträglich.

 Wie kann ich den Fehler mit einer MsgBox abfangen?
Habe es leider ohne Erfolg folgendes versucht:
On Error GoTo MsgBox "Spalten nicht vorhanden, bitte ergänzen"

Bitte um Hilfe. Mit freundlichen Grüssen
Martin
Antworten Top
#24
Hallo Martin

ich hatte das schon nicht grundlos damals mit der Methode .Find angelegt. Damit einen Fehler aufzufangen, geht ohne On Errror über die If/Else Abfrage.

mit Application.Match so:

Code:
On Error GoTo Fehlerausgabe
dein Code....

exit sub
Fehlerausgabe:
     MsgBox "Fehler"
End sub

Gruß Uwe
Antworten Top
#25
Moin!
Zunächst:
Ich habe mir den Thread nicht durchgelesen und werde zur Lösung wenig beitragen.

Nur zur letzten Frage:
Application.Match geht auch ohne Fehlerbehandlung.
Der "Trick" ist, das Ergebnis in eine Variant-Variable zu schreiben.
Ein Variant kann nämlich auch einen Fehlerwert aufnehmen.

Grob also so:

Dim varSp85 As Variant
varSp85 = Application.Match("#Gen_16", Rows(6), 0)
If IsError(varSp85) Then MsgBox "Spalten nicht vorhanden, bitte ergänzen"

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#26
Hallo Ralf,

daran hatte ich nicht gedacht. Für Martin, da er deutlich älteres Semester ist und er eine Chance hat das entsprechend zu ändern, dann so:
Code:
Dim varSp85 As Variant

If IsError(varSp85) Then
    MsgBox "Spalten nicht vorhanden, bitte ergänzen"
Else
    varSp85 = Application.Match("#Gen_16", Rows(6), 0)
End If
@ Martin
das musst du dann mit jeder Variable zu Bestimmung der Spaltennummer machen. Wenn es zum Fehler kommt, steht allerdings dann in der Variable der Fehler drin. Was das für Auswirkungen auf das gesamte Projekt hat, kann ich von hier aus nicht beurteilen. Das musst du einfach mal ausprobieren.

Gruß Uwe
Antworten Top
#27
Hallo Uwe,


Zitat:da er deutlich älteres Semester ist


was willst du damit sagen?
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top
#28
Wobei ich mit meinen 59 Lenzen ja als Küken durchgehe. Wink
@Egon12:
Nö!
Du musst die Variable erst füllen!
Ob man dann auf IsError() oder IsNumeric() prüft, ist egal und ändert nur ein wenig die Programmlogik:

Dim varSp85 As Variant
varSp85 = Application.Match("#Gen_16", Rows(6), 0)
If IsNumeric(varSp85) Then 

  'mach was mit der Spaltennummer
Else
  MsgBox "Spalten nicht vorhanden, bitte ergänzen"
  Exit Sub
End If


Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#29
Guten Tag Uwe,
danke für Deine Hilfe. werde es mal testen.
Schönes Wochenende Wünscht
Martin

Guten Tag Ralf,
danke für Deine Hilfe.
Da hab ich ja mal einiges zu testen.
Wünsche ein schönes Wochende.
Gruss Martin

PS: Nimms nicht so tragisch Du bist im besten Mannesalter.
     Ich hingegen bin 79 und zähle nach der heutigen
     Umgangssprache zur Gruppe Grufti's
Antworten Top
#30
@Ralf ich bin auch deutlich älter als du.
So lang es noch im Kopf klappt und die Füße einen tragen ist doch alles gut - denke ich mal.
Du hast natürlich recht.

Gruß Uwe
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste