Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

hallo Leute!

ich hab da eine aufgabe von meiner abteilungsleiterin bekommen, die mir ein

wenig kopfzerbrechen bereitet. Also ich soll eine exel tabelle erstellen, wo es einen

Bereich gibt, wo mehrere zahlen drin stehen. So von 1-8. Aber immer durcheinander. Jetzt sollte das so laufen, dass ich in ein Feld einen namen eingebe und dann in der Matrix alle 1sen durch diesen namen ersetzt werden, d.h. automatisch nach dem Eintrag des Namen. Das ganze dann mit einem zweiten Namen und dann allle 2 ersetzen usw. geht das irgendwie??? Mir fällt echt nichts mehr ein. Wäre etwas dringender. Vielen vielen dank. Hoffe es war einigermaßen verständlich.

Geschrieben

Hallo,

kannst du nicht von die Felder 1-8 von vornerein auf andere Felder verweisen lassen.

In diesen "anderen" Feldern stehen anfangs die Zahlen 1-8, wenn eine Name hinzugefügt werden soll, muss der Name in diesen "anderen" Feldern eingetragen werden.

In der Haupttabelle wird der Wert durch den Verweis automatisch verändert.

Gruß

Terran Marine

Geschrieben

Das einfachste wäre wohl ein Makro in VBA in dem du die Spalte von oben nach unten, Zelle für Zelle abwanderst und nach den Zahlen suchst, wenn du sie gefunden hast ersetzt du die Zahl durch einen String z.B. "WErner Müller" oder eine Referenz auf eine andere Zelle z.B. A1.

Solltest du dich in VBA nicht auskennen sag kurz bescheid.

Geschrieben

das hört sich ja gnaz gut an, aber wie soll ich das verstehen? versteh nicht ganz was du meinst. ich hab die erste spalte von 1-8 nummeriert. Dann muss ich ja jetzt aus der Tabelle von jeder einzelnen Zelle auf diese Spalte verweisen. das ist doch sehr müselig oder hab ich da was falsch verstanden?

Geschrieben
Originally posted by Fuchs

das hört sich ja gnaz gut an, aber wie soll ich das verstehen? versteh nicht ganz was du meinst. ich hab die erste spalte von 1-8 nummeriert. Dann muss ich ja jetzt aus der Tabelle von jeder einzelnen Zelle auf diese Spalte verweisen. das ist doch sehr müselig oder hab ich da was falsch verstanden?

Ein gewisser Mehraufwand ist schon notwendig,

aber wenn du die Verweise mit Copy&Paste verteilts dürfte es eigentlich relativ flott gehen.

Die VBA Lösung ist wahrscheinlich komfortabler (aber auch aufwendiger und schwerer zu verstehen).

Gruß

Terran Marine

Geschrieben

Hier ein wenig Code... Ist dann das noch das richtige Forum ?!?! ;)


Sub Macro1()

'

' Macro1 Macro

' Macro recorded 12.12.2002 by CSA

'


Dim i As Long


Do

    i = i + 1

    Range("A" & i).Select                                  'Spalte A, Zelle i selektieren


    If ActiveCell.FormulaR1C1 = "1" Then         'Wenn aktive Zelle = 1

    ActiveCell.Formula = "Bla"                          'Dann aktive Zelle = "Bla"

    End If


Loop Until i > 20                                              ' Bis zur 20. Zeile


End Sub


Du musst nur noch das "Bla" durch den NAmen ersetzen und diesen drei-zeiligen-Block kopieren und statt "1" dann "2" usw. einsetzen... LIKE:

If ActiveCell.FormulaR1C1 = "1" Then         'Wenn aktive Zelle = 1

       ActiveCell.Formula = "Bla"                    'Dann aktive Zelle = "Bla"

End If


If ActiveCell.FormulaR1C1 = "2" Then         'Wenn aktive Zelle = 2

         ActiveCell.Formula = "Bla2"                'Dann aktive Zelle = "Bla2"

End If


If ActiveCell.FormulaR1C1 = "3" Then         'Wenn aktive Zelle = 3

       ActiveCell.Formula = "Bla3"                  'Dann aktive Zelle = "Bla3"

End If


Ja ja, ich hätte auch eine Zählschleife nehmen können... :D

Geschrieben

kann ich jetzt noch in diesem Makro eine zelle einlesen und das dann ausgeben??

SO das ich nicht in dem Code in den Namen schreiben muss, sondern in der Tabelle irgendwo?? Das wäre noch das letzte anliegen was ich hätte. sonst funktioniert es super. danke nochmal.

Geschrieben

Schau mer mal... Du müsstes wohl den Inhalt einer Zelle in eine String-Variable Cachen...

In Spalte A stehen nun meine Namen, in Spalte B stehen die Zahlen.


Sub Macro1()

'

' Macro1 Macro

' Macro recorded 12.12.2002 by CSA

'


Dim i As Long

Dim stName As String


Do

    i = i + 1

    Range("B" & i).Select                             'Spalte B, Zelle i selektieren


    If ActiveCell.FormulaR1C1 = "1" Then              'Wenn aktive Zelle = 1

        Range("A1").Select                            'Selektiere Zelle, in dem der einzusetzende Name steht

        stOld = ActiveCell.FormulaR1C1                'Speichere den Namen in eine Variable

        Range("B" & i).Select                         'Wähle wieder die ursprüngliche Zelle an

        ActiveCell.Formula = stName                   'Ersetze den alten Wert (z.B. 1) durch den neuen Wert

    End If


Loop Until i > 20                                      ' Bis zur 20. Zeile


End Sub


Ist wohl nicht optimal aber funzt.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...