Hallo
Das ganze geht folgendermasse. Die Eingabe lautet im Prinzip:
(Application).Table.cells(row,column).value
Das heisst im Klartext:
Jede Tabelle hat von Grund auf einen Tabellennamen z.B. Tabelle1, Tabelle2, tabelle3 etc. fügt man der Tabelle1 einen anderen Namen hinzu, z.B. Daten so erscheint der Tabellenname wie folgt im VB Editor tabelle1(Daten). Wichtig bei der programmierung ist aber, dass der Originalname, welcher von Excel gegeben wurde, in diesem falle Tabelle1 im befehl erscheint und nicht Tabelle1(daten). Danach folgt ein Punkt. Nun kommt der Befehl Cells. Cells steht für Zelle. Damit VBA weiss auf welche Zelle es zugreifen soll, folgt in Klammer die eingabe im Integer Format (Ganzzahlformat), der Zeile bzw. der Spalte. nach dem nächsten Punkt folgt value für Wert oder Text für Text.
Beispiele:
1.
Weisen den Wert der Variablen i einer Zelle 2,3 in der 5. Tabelle zu.
i = tabelle5.cells(2,3).value
- analog dazu den Wert aus der Tabellenzelle entnehmen und i zuweisen
tabelle5.cells(2,3).value = i
Zusätzliches:
Das ganze Funktioniert auch mit den Modulen so. man erstelle ein Modul und darin eine Prozedure. Diese muss eine Public Prozedure sein, ansonsten kann ich sie von einem Anderen Modul aus nicht unbedingt aufrufen.
BSP:
Eine Prozedur namens Name liegt im Modul mName
Public Sub Name()
(Programmtext)
End Sub
möchte ich nun diese prozedure von irgendwo aufrufen, so muss ich follgenden String eingeben:
mName.name oder anders [Modulname].[Public Sub Name]
Ich hoffe das Problem ist somit nun lösbar
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]