Home Office-Hilfe.com - Wir lösen Ihr Problem mit Microsoft Excel, Word, Outlook, PowerPoint, Access gratis Forum Impressum

  [Excel 2k] Eingaben in gleicher Zelle ersetzen
Neues Thema eröffnenNeue Antwort erstellen
Autor Nachricht
magic59
Newbie
Newbie


Anmeldedatum: 05.03.2008
Beiträge: 15

BeitragVerfasst am: 17.03.2008, 14:31 Nach oben

Huhu,

ich habe schon wieder einen Wunsch, dessen Realisierung meine (nicht vorhandenen) VBA-Kenntnisse deutlich übersteigt:

Und zwar möchte ich, dass eine Eingabe in einer Zelle durch einen von der Eingabe abhängigen Wert wie im folgenden Beispiel ersetzt wird:
Eingabe: 1 / soll werden zu: [text1]
Eingabe: 2 / soll werden zu: [text2]
...

Ich hoffe, es ist klar, was ich meine.

Und wieder in Pseudocode:

Prüfe, ob sich Zelle in einem bestimmten Bereich befindet:
If ja:
If Eingabe = 1
Ersetze Zellinhalt durch: [text1]
If Eingabe = 2
Ersetze zellinhalt durch: [text2]
End if ja
If nein:
mache nichts

Ich nehme an, dass der "If ja"-Zweig als Case gestaltet werden kann, aber wie man das genau lösen kann, ist mir nicht klar.

Ich brauche aber auch nicht die ganze Formel, zum Grosteil lässt sich wohl die Formel wieder verwenden, die Schatzi mir bei meinem letzten Problem erstellt hat, ich gebe sie mal im Folgenden wieder, die Case-Anweisung bzw. die Ersetzen-Funktion müsste dann vermutlich in den (mit =>) markierten Bereichen stehen.

Code:

' Erfolgt innerhalb der angebenenen Bereich (Range(..)) eine Eingabe,
' soll diese in Grossbuchstaben umgewandelt werden
Private Sub Worksheet_Change(ByVal target As Range)

    ' Variablendeklaration
    Dim bereich As Range, Zelle As Range

    ' Abschalten der Excel-Events
    Application.EnableEvents = False

    ' Definition des jeweils betreffenden Bereiches
    ' und Aufruf der Umwandelfunktion
    Set bereich = Range("E13:E52")
    Call formatToUppercase(bereich, target)

    Set bereich = Range("K13:M52")
    Call formatToUppercase(bereich, target)
   
    Set bereich = Range("Q13:S52")
    Call formatToUppercase(bereich, target)
   
    ' Wiedereinschalten der Excel-Events
    Application.EnableEvents = True

End Sub

' Funktion zum Umwanden in Grossbuchstaben
Private Sub formatToUppercase(bereich As Range, target As Range)

    ' Prüfe, ob sich target und bereich überschneiden
    If Not Intersect(target, bereich) Is Nothing Then
        ' Prüfe, ob mehr als eine Zelle markiert ist
        If target.Count > 1 Then
            ' Für jede markierte Zelle
            For Each Zelle In target
                ' Prüfe, ob die einzelne markierte Zelle im Bereich liegt und
                ' ersetze ggf. die Eingabe in der Zelle
                => Case-Anweisung
            ' Weiterschaltung der Schleife
            Next Zelle
        ' Nur eine Zelle ist markiert (also aktive Zelle)
        Else
            ' Wandle die Eingabe in der Zelle in Grossbuchstaben um
            => Ersetzen-Funktion
        End If
    End If

End Sub

Benutzer-Profile anzeigenPrivate Nachricht senden
schatzi
Moderator
Moderator


Anmeldedatum: 09.12.2006
Beiträge: 4847

BeitragVerfasst am: 17.03.2008, 15:17 Nach oben

Hallo!

Verstehe ich dich so richtig?
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Bereich As Range, Zelle As Range
Set Bereich = Range("A1:B10")
For Each Zelle In Target
If Not Intersect(Bereich, Zelle) Is Nothing Then ersetze Zelle
Next Zelle
End Sub

Sub ersetze(x As Range)
Select Case CStr(x.Value)
Case "1": x = "[text1]"
Case "2": x = "[text2]"
Case "Hallo": x = "Hallo Du"
  'usw.
End Select
End Sub

_________________

Viele Grüße vom Schatzi

------------------------
Dies ist meine Signatur und sie trägt eigentlich nichts zur Lösung deines Problems bei. Sollte sie es dennoch tun, dann bist du definitiv im falschen Forum...Image
Ein Feedback zum ursprünglichen Problem wäre trotzdem nett!
Windows XP, Office2000, Office2007
Benutzer-Profile anzeigenPrivate Nachricht senden
magic59
Newbie
Newbie


Anmeldedatum: 05.03.2008
Beiträge: 15

BeitragVerfasst am: 17.03.2008, 15:30 Nach oben

Genau das habe ich gewollt, also...

...wieder mal ein herzliches Dankeschön:


Code:

                    "M,        .mM"
                     IMIm    ,mIM"
                     ,MI:"IM,mIMm
          "IMmm,    ,IM::::IM::IM,          ,m"
             "IMMIMMIMm::IM:::::IM""==mm ,mIM"
    __      ,mIM::::::MIM:::::::IM::::mIMIM"
 ,mMIMIMIIMIMM::::::::mM::::::::IMIMIMIMMM"
IMM:::::::::IMM::::::M::::::::IIM:::::::MM,
 "IMM::::::::::MM:::M:::::::IM:::::::::::IM,
    "IMm::::::::IMMM:::::::IM:::::::::::::IM,
      "Mm:::::::::IM::::::MM::::::::::::::::IM,
       IM:::::::::IM::::::MM::::::::::::::::::IM,
        MM::::::::IM:::::::IM::::::::::::::::::IM
        "IM::::::::IM:::::::IM:::::::::::::::::IM;.
         "IM::::::::MM::::::::IM::::::::::mmmIMMMMMMMm,.
           IM::::::::IM:::::::IM::::mIMIMM"""". .. "IMMMM
           "IM::::::::IM::::::mIMIMM"". . . . . .,mM"   "M
            IMm:::::::IM::::IIMM" . . . . . ..,mMM"
            "IMMIMIMMIMM::IMM" . . . ._.,mMMMMM"
             ,IM". . ."IMIM". . . .,mMMMMMMMM"
           ,IM . . . .,IMM". . . ,mMMMMMMMMM"
          IM. . . .,mIIMM,. . ..mMMMMMMMMMM"
         ,M"..,mIMMIMMIMMIMmmmMMMMMMMMMMMM"
         IM.,IMI"""        ""IIMMMMMMMMMMM
        ;IMIM"                  ""IMMMMMMM
        ""                         "IMMMMM
                                     "IMMM
                                      "IMM,
                                       "IMM
                                        "MM,
                                         IMM,              ______   __
                        ______           "IMM__        .mIMMIMMIMMIMMIMM,
                   .,mIMMIMMIMM, ,mIMM,   IMM"""     ,mIM". . . . "IM,..M,
                 ,IMMM' . . . "IMM.\ "M,  IMM      ,IM". . . .  / :;IM \ M,
               .mIM' . . .  / .:"IM.\ MM  "MM,    ,M". . .  / .;mIMIMIM,\ M
              ,IM'. . .  / . .:;,IMIMIMMM  IMM   ,M". .  / .:mIM"'   "IM,:M
             ,IM'. . . / . .:;,mIM"  `"IMM IMM   IM. .  / .mM"         "IMI
            ,IM . .  / . .:;,mIM"      "IMMMMM   MM,.  / ,mM            "M'
            IM'. .  / . .;,mIM"          "IIMMM ,IMIM,.,IM"
            IM . . / . .,mIM"              IMMMMMMM' """
            `IM,.  / ;,mIM"                 IIMMM
             "IMI, /,mIM"                 __IMMM
               "IMMMM"                   """IMM
                 ""                         IMM
                                            IMM__
                                            IMM"""
                                            IMM
                                            IMM
                                          __IMM
                                         """IMM
                                            IMM
                                            IMM
                                            IMM__
                                            IMM"""
                                            IMM
Benutzer-Profile anzeigenPrivate Nachricht senden
Beiträge der letzten Zeit anzeigen:      
Neues Thema eröffnenNeue Antwort erstellen


Ähnliche Beiträge
Thema Autor Forum Antworten Verfasst am
Keine neuen Beiträge VBA nach sortieren zur ursprünglichen... HolgerKu Microsoft Excel Hilfe 4 03.07.2008, 21:05 Letzten Beitrag anzeigen
Keine neuen Beiträge .dat in .excel excelfreak00 Microsoft Excel Hilfe 1 03.07.2008, 15:15 Letzten Beitrag anzeigen
Keine neuen Beiträge bestimmter teil innerhalb einer zelle... ponte Microsoft Excel Hilfe 2 02.07.2008, 14:13 Letzten Beitrag anzeigen
Keine neuen Beiträge VBA Hintergrundfarbe ändern wenn best... Posaune Microsoft Excel Hilfe 7 01.07.2008, 21:09 Letzten Beitrag anzeigen
Keine neuen Beiträge [Excel 2003] Format einer Zelle beibe... -s!Gm4- Microsoft Excel Hilfe 4 01.07.2008, 17:34 Letzten Beitrag anzeigen


 Gehe zu:   



Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen

Haftungsausschluss/Disclaimer


SMS kostenlos versenden | Battle-Dream | Tuning Forum | Join the YoungGeneration | krankenversicherungsvergleich | Kalorienarme Rezepte!
Versicherungsvergleich | Bürobedarf | Papier | Betten

Ranking-Hits



Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme :: Alle Zeiten sind GMT + 1 Stunde
Deutsche Übersetzung von phpBB.de