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

zugriff auf Funktionen von allen Tabellen

zugriff auf Funktionen von allen Tabellen
05.11.2003 11:52:58
Tobias
hi @all!

Kann man von allen Worksheets aus auf eine "zentrale" Funktion/Sub zugreifen?
Der Hintergrund:
ich will einen Wert aus einem sheet in ein anderes sheet kopieren, muss dort aber erst einen namen suchen.

mein bisheriger quellcode:


Private Sub daten_kopieren()
Dim i As Integer, name As String
Dim z As Integer, s As Integer, e As Integer
Dim zneu As Integer, sneu As Integer
z = zeile("Kundenart")
s = spalte("Kundenart")
e = ende
z = z + 1
MsgBox prompt:=z & ", " & s
For i = z To e
MsgBox prompt:="i: " & i
If Cells(i, s).Value = "" Then
name = Cells(i - 1, s + 1).Value
Cells(i, s + 1).Select
'Range(Cells(i, s + 1), Cells(i, s + 5), Cells(i, s + 7)).Select
Selection.Copy
Sheets("sheet1").Select
zneu = zeile(name)
sneu = spalte(name)
ActiveSheet.Cells(zneu, sneu).Select
Selection.PasteSpecial Paste:=xlPasteValues
Sheets("Direktgeschäft nach OO").Select
End If
Next
End Sub


leider sucht er immer bei (zneu und sneu) in dem sheet aus der die Zelle kopiert wird.

thx 4 ur answers!

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: zugriff auf Funktionen von allen Tabellen
05.11.2003 13:03:19
Russi
Hi Tobias!

Wenn Du die

Sub als PUBLIC statt als Private deklarierst (siehe Zeile 1!), kannst Du auch von anderen Prozeduren bzw. Worksheets darauf zugreifen:

Sub Andere_Funktion_in_anderem_Worksheet()
Call worksheet("Tabellenname").daten_kopieren
End Sub


Viele Grüße
Russi
klappt nicht
05.11.2003 13:36:40
Tobias
hi!

also, dass problem ist:
in dem sheet0 rufe ich die

Sub "daten_kopieren" auf. diese soll nun in dem sheet1 die zeile (zneu) und die spalte (sneu) (das per 

Function erreicht wird) in dem ein bestimmter name steht "merken".
kann ich die functios global in dem project schreiben, so dass ich von jedem worksheet darauf zugreifen kann?
hört sich vielleicht kompliziert an...
hier der quellcode der functions:

Function zeile(was As String) As Integer
Dim i As Integer, j As Integer
For i = 1 To 50                                  'Zeile absuchen
For j = 1 To 50                                'Spalte absuchen
If Cells(i, j).Value = was Then              'Inhalt Zelle mit ges. Wort vergleichen
zeile = Cells(i, j).Row                   'Zeile merken
End If
Next
Next
End Function



Function spalte(was As String) As Integer
Dim i As Integer, j As Integer
For i = 1 To 50                                  'Zeile absuchen
For j = 1 To 50                                'Spalte absuchen
If Cells(i, j).Value = was Then              'Inhalt Zelle mit ges. Wort vergleichen
spalte = Cells(i, j).Column               'Spalte merken
End If
Next
Next
End Function



Function ende() As Integer
ende = Range("k500").End(xlUp).Row             'letzte Zeile merken
End Function


thx 4 ur answers!
Anzeige
AW: klappt nicht
05.11.2003 14:17:00
Russi
Hallo Tobias!

Sorry, hat etwas länger gedauert.

Füge die Funktionen in DieseArbeitsmappe ein und deklariere außer-/oberhalb der Funktionen ggf. deine Variablen mit

Option Explicit
Public Zeile As Long
Public Spalte As Long

Dann müsste es gehen. Sorgen macht mir aber, dass Deine Funktionsbezeichnungen (Zeile und Spalte) bereits von Excel als Tabellenfuktion vergeben sind. Ich weiß nicht, ob das hier zu Problemem führen kann (der große Crack bin ich nun auch nicht) aber generell sollte man sowas vermeiden. Nur als Tip am Rande.

Viele Grüße!

Russi
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige