Hot News:

Unser Angebot:

  Foren auf CAD.de
  VBasic / vb.net / vbs / wsh
  Merkwürdiges Verhalten von EXCEL mit VBA

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Online-Kurs: Grundlagen des 3D-Druck-Designs für Industrieingenieure , ein Kurs
Autor Thema:  Merkwürdiges Verhalten von EXCEL mit VBA (489 mal gelesen)
Gregi
Mitglied



Sehen Sie sich das Profil von Gregi an!   Senden Sie eine Private Message an Gregi  Schreiben Sie einen Gästebucheintrag für Gregi

Beiträge: 274
Registriert: 26.03.2004

erstellt am: 21. Mai. 2004 13:29    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Also ich denke, ich habe schon ein gewisses Grundverständnis sowohl von EXCEL als auch von VBA. Für folgendes Problem habe ich aber gar keine Vorstellung mehr, woran es liegen könnte, deshalb hört sich die Erläuterung wahrscheinlich auch etwas merkwürdig an.

Also ich habe eine Funktion geschrieben, die an und für sich auch gut funktioniert. Wenn ich eine Zeile, die diese Funktion enthält kopiere, funktioniert sie auch noch einfwandfrei.
Lasse ich die Zeilenkopieraktion durch ein aufgezeichnetes Makro erledigen, zeigen auf einmal alle Zellen, die die besagte Funktion beinhalten auf einmal '#Wert!' an. Wenn ich die Zeile wieder lösche ist es wieder ok oder wenn ich jede einzelne Zelle mit F2 'öffne' und gleich wieder mit Enter deaktiviere ist es auch wieder ok.

Kennt jemand dieses Problem und kann mir sogar helfen?
Ich hoffe, ich konnte verständlich machen, was mein Problem ist!

------------------
Grüßle
Gregi

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

startrek
Mitglied
Architekt


Sehen Sie sich das Profil von startrek an!   Senden Sie eine Private Message an startrek  Schreiben Sie einen Gästebucheintrag für startrek

Beiträge: 1361
Registriert: 13.02.2003

.

erstellt am: 21. Mai. 2004 14:10    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Gregi 10 Unities + Antwort hilfreich

Hi Gregi,

hm, schwer zu sagen, mal geraten: Irgendein Typenkonflikt vielleicht?
Wie schaut denn die Funktion aus?

CUSee you = Wir sehen uns Nancy

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Gregi
Mitglied



Sehen Sie sich das Profil von Gregi an!   Senden Sie eine Private Message an Gregi  Schreiben Sie einen Gästebucheintrag für Gregi

Beiträge: 274
Registriert: 26.03.2004

erstellt am: 21. Mai. 2004 14:15    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Die Funktion, die nicht richtig funktionieren will:

Public Function Auftragsbezeichnung(Nummer, Tabelle As String) As String
    Application.Volatile
    Dim lngZeilenAnzahl As Long
    Dim i As Integer

    'Bestimmt anhand der ersten Spalte die Anzahl der Verwendeten Zeilen der übergebenen Tabelle
    lngZeilenAnzahl = AnzahlZeilenPruefen(Tabelle, 1)
   
    'Die erste Spalte der übergebenen Tabelle wird auf den Übergabewert 'Nummer' überprüft
    'und bei Übereinstimmung die Auftragsbezeichnung zurückgegeben
    For i = 2 To lngZeilenAnzahl
        If Sheets(Tabelle).Cells(i, 1).Value = Nummer Then
            Auftragsbezeichnung = Sheets(Tabelle).Cells(i, 2).Value
            Exit For
        ElseIf Nummer = "U" Then
            Auftragsbezeichnung = "Urlaub"
            Exit For
        ElseIf Nummer = "G" Then
            Auftragsbezeichnung = "Gleittag"
        ElseIf Nummer = "K" Then
            Auftragsbezeichnung = "Krank"
        Else
            Auftragsbezeichnung = ""
        End If
    Next i
End Function

------------------
Grüßle
Gregi

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

startrek
Mitglied
Architekt


Sehen Sie sich das Profil von startrek an!   Senden Sie eine Private Message an startrek  Schreiben Sie einen Gästebucheintrag für startrek

Beiträge: 1361
Registriert: 13.02.2003

.

erstellt am: 21. Mai. 2004 16:36    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Gregi 10 Unities + Antwort hilfreich

Hi Gregi,

kannst nur mal probieren 

CUSee you = Wir sehen uns Nancy
--

Code:

Public Function job(Nummer As Variant) As String
    Application.Volatile
    Dim lngZeilenAnzahl As Long, wks As Worksheet
    Dim i As Integer
    Set wks = Sheets("Tabelle1")
    lngZeilenAnzahl = wks.Cells(Rows.Count, 1).End(xlUp).Row
    If IsEmpty(Nummer) Then job = "": Exit Function
    For i = 2 To lngZeilenAnzahl
      If Nummer = wks.Cells(i, 1).Value Then
        job = wks.Cells(i, 2).Value: Exit For
      End If
      Select Case Nummer
        Case Is = "U": job = "Urlaub"
        Case Is = "G": job = "Gleittag"
        Case Is = "K": job = "Krank"
      End Select
    Next i
End Function

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Gregi
Mitglied



Sehen Sie sich das Profil von Gregi an!   Senden Sie eine Private Message an Gregi  Schreiben Sie einen Gästebucheintrag für Gregi

Beiträge: 274
Registriert: 26.03.2004

erstellt am: 24. Mai. 2004 08:03    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Danke Nancy für Deine Mühe!

Mein Problem ist damit allerdings nicht verschwunden. Denke, daß ich es hier mit nem Excel Bug zu tun habe, den man höchstens mit einem Trick überwinden kann! Sonst habe ich keine Erklärung, denn eingentlich funktioniert die Funktion ja!

------------------
Grüßle
Gregi

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

startrek
Mitglied
Architekt


Sehen Sie sich das Profil von startrek an!   Senden Sie eine Private Message an startrek  Schreiben Sie einen Gästebucheintrag für startrek

Beiträge: 1361
Registriert: 13.02.2003

.

erstellt am: 26. Mai. 2004 11:30    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Gregi 10 Unities + Antwort hilfreich

Hi Gregi,

hm, keine Ideen weiter,
versuch mal mit einer simplen sub dies zu provozieren,
und geh' mal mit F8 durch, was denne da so abgeht 

lg Nancy

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Gregi
Mitglied



Sehen Sie sich das Profil von Gregi an!   Senden Sie eine Private Message an Gregi  Schreiben Sie einen Gästebucheintrag für Gregi

Beiträge: 274
Registriert: 26.03.2004

erstellt am: 09. Jun. 2004 09:50    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Also jetzt funzt es komischerweise. Ich habe das
Application.Volatile entfernt und seid dem scheint es zu gehen. Dachte allerdings, das ich dies schon mal probiert hatte....naja!

------------------
Grüßle
Gregi

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2025 CAD.de | Impressum | Datenschutz