Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
684to688
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
684to688
684to688
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Variable statt Dateiname

Variable statt Dateiname
22.10.2005 01:03:03
Metin
Hallo Leute !
Hoffe ihr könnt mir helfen, da ich gerade meine ersten Experimente mit VBA
mache. Folgendes Problem

Workbooks("Mappe1.xls").Worksheets("Tabelle1").Range("A1:G3")
Anstelle von Mappe1 soll ein Wert aus einem Textfeld übernommen werden,
gleiches gilt auch für Tabelle1.
so z.B.
Workbooks("Projektname").Worksheets("Kabelnummer").Range("A1:G3")
bedanke mich im voraus für eure Mühen

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Variable statt Dateiname
22.10.2005 01:14:06
chris
das geht so.
cb = inputbox("Variable")
Workbooks(cb).Worksheets("Kabelnummer").Range("A1:G3")
hoffe ich konnte helfen.
grüße Christian
AW: Variable statt Dateiname
22.10.2005 07:37:43
Metin
Danke Christian
Hat mich leider nicht weiter gebracht, kommt nach wie vor der selbe Fehler

Laufzeitfehler 13
Typen unverträglich
In meinem Makro generiere ich mit einem Click eine neue Arbeitsmappe.
Diesem wird dann über den SaveAs Befehl ein Namen gegeben. Der Dateiname z.B. Projekt1
wird in einem Formular in ein Textfeld(txtProjektname) eingetragen. Im selben Formular
wird auch die Kabelnummer in ein Textfeld(txtKabelnummer) eingetragen.
Im Anschluss soll ein Bereich "A1:G3" aus einer anderen offenen Datei in die neue Arbeitsmappe kopiert werden. Das funktioniert auch solange ich die Datei und das Tabellenblatt direkt in der Formel eintrage nicht aber wenn sie über Variablen eingetragen werden.
Dim rngSource As Range, rngTarget As Range
Dim icounter As Integer
Set rngSource = Workbooks("Oberteil").Worksheets("Kopfteil").Range("A1:G3")
Set rngTarget = Workbooks(txtProjektname).Worksheets("txtKabelnummer").Range("A1:G3")
rngSource.Copy rngTarget
For icounter = 1 To rngSource.Rows.Count
rngTarget.Rows(icounter).RowHeight = _
rngSource.Rows(icounter).RowHeight
Next icounter
In der dritten Zeile die Quelle ist mir die Datei bekannt und kann Dateiname und Tabellenblattname eintragen. Jedoch in der vierten Zeile variiert es je nach Eingabe in den Textfeldern.
Ich hoffe das war jetzt nicht zu viel Text auf einmal
Gruß an Alle
Anzeige
AW: Vielleicht hilfts
22.10.2005 08:01:54
Aton
Hallo
Funktionen akzeptieren in der regel nur eine variable.
Aber nicht enbedingt eine berechnung oder oder zusammensetzung.
Beispiel: (a+10)
oder ("Laufwerk " & a)
mache die zusamensetzung vorher und übergebe nur eine variable.
Gruß Aton
Weiss noch jemand Rat
22.10.2005 08:37:28
Metin
Es muß doch möglich sein zwei Variablen in dieser Funktion zu verarbeiten. Oder ?
Bitte helft mir weiter
DANKE
Kann auch nicht gehen...
22.10.2005 09:15:24
Ramses
Hallo
... weil du auf das Object verweist. Du musst den Inhalt übergeben
Dim Target As Range
Set Target = Workbooks(Me.txtProjektname.Text).Worksheets(Me.txtKabelnummer.Text).Range("A1:G3")
Gruss Rainer
Anzeige
DANKE Ramses es funktioniert :-))
22.10.2005 09:31:19
Metin
Danke schön!!
Vieleicht kannst du mir zu meinem Verständnis auch erklären, was das vorgesetzte (Me.)
bedeutet.
Gruß Metin
AW: DANKE Ramses es funktioniert :-))
22.10.2005 12:39:03
Nepumuk
Hallo Methin,
in einem Klassenmodul ist "Me" immer das Objekt der Klasse. In einem Userformmodul ist "Me" das Userform, in einem Tabellenmodul ist "Me" die Tabelle und im Modul "DieseArbeitsmappe" ist "Me" die Mappe.
Gruß
Nepumuk

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige