Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
248to252
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
248to252
248to252
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zellinhalt = Variablenname

Zellinhalt = Variablenname
25.04.2003 19:39:10
Rob
Hi,

ich habe ein kleines (großes) Problem. Ich würde gerne den Namen einer Variablen durch den Inhalt einer Zelle bestimmen.

z.B.
Inhalt von Zelle "a1" = "Name", dann wird Variable "Name" als String deklariert
Inhalt von Zelle "a2" = "Beruf", dann wird Variable "Beruf" als String deklariert

Hat jemand eine Idee wie (ob) dies zu bewerkstelligen ist?

Danke



11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Zellinhalt = Variablenname
25.04.2003 19:43:26
ChrisL

Hallo Rob

z.B.

Dim VarName As String, VarBeruf As String

VarName = Range("A1")
VarBeruf = Range("A2")
etc.

Gruss
Chris

Re: Zellinhalt = Variablenname
25.04.2003 19:57:32
andre

hallo rob und chris,
das funktioniert nicht.
das wäre so etwa wie dim range("a1").text as string
gruss andre

Re: Zellinhalt = Variablenname
25.04.2003 20:01:37
Rob

erst einmal danke für die schnelle Antwort!
War aber nicht das, was ich gemeint habe.

Wenn in der Zelle "a1" "Name" steht, möchte ich eine Variable mit der Bezeichnung "Name" als String deklarieren.

dim Name as String

Wenn aber in der Zelle "a1" "Beruf" steht, möchte ich eine Variable mit der Bezeichnung "Beruf" als String deklarieren.

dim Beruf as String

Rob


Anzeige
Re: Zellinhalt = Variablenname
25.04.2003 20:03:36
ChrisL

hallo andre

bist du dir da sicher? probiers mal...

Option Explicit

Private Sub CommandButton1_Click()
Dim VarName As String, VarBeruf As String

VarName = Range("A1")
VarBeruf = Range("A2")

MsgBox VarName & ", " & VarBeruf
End Sub


Gruss
Chris

Missverständnis
25.04.2003 20:10:13
ChrisL

Hallo alle beide

Sorry habe mich wohl verlesen und stehe nun ein bischen auf dem Schlauch :-)

Als Ansatz:
Habe im Moment die Hilfe nicht installiert, aber ich glaube sowas wie CStr(Range("A1")). Mit Cdate für Datum bin ich mir sicher und es gibt auch was für String. Mal Cdate eintippen und F1.

Gruss
Chris

Anzeige
Re: Zellinhalt = Variablenname
25.04.2003 20:14:07
andre

hallo chris,
siehe antwort von rob.
gruss andre

Re: Zellinhalt = Variablenname
25.04.2003 20:20:04
andre

hallo rob,

hast du so grossen variablenbedarf, dass du die variablen variabel haben willst? eine "freie" eingabe bedeutet unendlich viele möglichkeiten für eine variable, und wie willst du das im code dann verarbeiten? da macht der code doch eigentlich immer dasselbe, nur dass die variable anders heißt. also ist auch keine andere benennung einer variable nötig, weil sich ja am ablauf nichts ändert oder?
was ist denn das ziel?
eigentlich kannst du eine eingabe machen und mit dieser eingabe dann auf vorhandene variablen zurückgreifen, was anderes macht keinen großen sinn.
gruss andre

Anzeige
Re: Zellinhalt = Variablenname
25.04.2003 20:31:04
Rob

hi andre,

ich habe ein einen Arbeitsblatt folgende Daten:

Telefonnummer ; Name ; Position ; Auswerten
898555 ; Hans ; 1 ; X
984547 ; Klaus ; 2 ; X
...

ich bräucht nun folgende Variable:
z.B.

Dim N898555 as String
Dim N984547 as String

N898555 = "Hans ; 1 ; X"
N984547 = "Klaus ; 2 ; X"

da sich die nummern ändern können, will ich nich immer das Makro ändern müssen.

Rob

Re: Zellinhalt = Variablenname
25.04.2003 20:42:16
andre

hallo rob,
wozu das? also wenn du mal 65000 telefonnummern hast brauchst du 65000 variable?
also im makro kannst du doch eine inputbox für die nummer oder den namen programmieren, und dann in der liste den zugehörigen part suchen - da brauchst du doch nicht für jede nummer eine variable vorbelegen.
gruss andre

Anzeige
Re: Zellinhalt = Variablenname
25.04.2003 21:08:47
Klaus Schubert

Ob es Sinn macht weiß ich nicht,aber hier ein Ansatz über VBE:

Zuerst musst du eine weitere Bibliothek einbinden.

In der VBA-Umgebung folgendes anwählen:
EXTRAS/VERWEISE und dann unter VERFÜGBARE VERWEISE auf das Kontrollkästchen der Bibliothek MICROSOFT VISUAL BASIC FOR APPLICATION EXTENSIBILITY 5.3 klicken, das ganze mit OK bestätigen.

Dann folgenden Code in ein Modul kopieren (in diesem Fall "Modul1", muss gegebenenfalls angepasst werden):

Sub Variablendeklaration() muß in der ersten Zeile von Modul1 stehen, in der zweiten Zeile wird dann die Variablendeklaration eingefügt.

Gruß Klaus

Anzeige
Re: Zellinhalt = Variablenname
26.04.2003 18:49:39
Rob

Für alle die es wissen wollen, es geht mit einem kleinen Unweg doch.

Prozedur in bei Start in ein anderes Modul schreiben und am Ende wieder löschen:

Schreiben:
With ActiveWorkbook.VBProject.VBComponents("NewModule").CodeModule
.InsertLines 1, "Sub Variablen"
.InsertLines 2, "Dim Name" + ThisWorkbook.Sheets("Einstellungen").Range("a13").Value + " as String"
.InsertLines 3, "Dim Name" + ThisWorkbook.Sheets("Einstellungen").Range("a14").Value + " as String"
.InsertLines 4, "Dim Name" + ThisWorkbook.Sheets("Einstellungen").Range("a15").Value + " as String"
.InsertLines 5, "End Sub"
End With

löschen:

ThisWorkbook.VBProject.VBComponents("NewModule").CodeModule.DeleteLines 1, 3

Rob


Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige