Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Formula mit Variable

Betrifft: Formula mit Variable von: Tofu
Geschrieben am: 07.11.2020 14:52:27

Hallo :)

komm leider bei einem Problem nicht weiter.


ich würde gerne in eine mittels VBA generierten Tabellenblatt einen Bezug zu einem anderen Tabellenblatt herstellen.

Hier ein Beispiel:

im aktiven Tabellenblatt Zelle A1 soll der Inhalt aus Tabellenblatt 2 Celle A4 direkt verlinkt sein.


Über VBA klappt das mittels der Funktion " Formula" aber was ich nicht hinbekomme ist die Kombination mit Variablen. (Tabellenblatt ist eine Variable und die Zeile auch)


Hab mir sowas in die Richtung vorgestellt.


ActiveSheet.Range("A1").Formula = Worksheets(Klasse).Cells(n,2).Value ( den hinteren Teil bräuchte ich aber als verknüpfte Zelle, und nicht hart reingeschrieben)

Betrifft: AW: Formula mit Variable
von: Hajo_Zi
Geschrieben am: 07.11.2020 14:54:33

Du hast in deinem Code für die Tabelle schon eine Variable "Klasse"

Zu Deiner Datei kann ich nichts schreiben, was wohl daran liegt das ich nicht auf fremde Rechner schaue.Ich baue keine Datei nach.

Sollte die Datei verlinkt werden?

Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, kannst du diese Daten
http://www.ms-office-forum.de/forum/showthread.php?t=322895
ändern.

Bilder lade ich mir nicht runter, da Excel damit nichts anfangen kann.

http://www.excel-ist-sexy.de/bilder-statt-datei/

Hochgeladene Bilder können zwar als solche in Excel importiert werden, sind jedoch bei der Lösung von Problemen nicht sehr hilfreich, da man die eigentlichen Daten nicht ohne große und zeitraubende Umwege direkt in die Tabelle übertragen kann.

Das ist nur meine Meinung zu dem Thema.

http://www.excel-ist-sexy.de/bilder-statt-datei/

Hochgeladene Bilder können zwar als solche in Excel importiert werden, sind jedoch bei der Lösung von Problemen nicht sehr hilfreich, da man die eigentlichen Daten nicht ohne große und zeitraubende Umwege direkt in die Tabelle übertragen kann.

Das ist nur meine Meinung zu dem Thema.


GrußformelHomepage

Betrifft: AW: Formula mit Variable
von: tofu
Geschrieben am: 07.11.2020 15:09:18

Danke für die schnelle Antwort.

Hier der Code....

beim kursiv markierten Teil weiß ich nicht wie das zu Codieren ist wenn da Variable Werte drinn stehen


ActiveSheet.Range("B2").Formula = Worksheets(Klasse).Cells(n, 2).Value




Private Sub Schüleranlegen_Click()

Dim n As Long
Dim SchülerReiter As String
Dim ws As Variant
Dim Klasse As Variant

Klasse = ActiveSheet.Range("B4").Value


For n = 5 To 35

    If IsEmpty(Cells(n, 3).Value) = True Then
            Exit Sub
            
            Else
            SchülerReiter = Cells(n, 2) & " " & Cells(n, 3) & " " & Cells(n, 4)
            
                For Each ws In ActiveWorkbook.Sheets
                    If ws.Name = SchülerReiter Then
                        MsgBox "Der folgende Schüler" & SchülerReiter & "wurde schon angelegt"
                        Exit Sub
                    End If
                Next ws
            
            Worksheets("Vorlage Schüler").Copy After:=Worksheets(Worksheets.Count)
            ActiveSheet.Name = SchülerReiter
            
            
            
ActiveSheet.Range("B2").Formula = Worksheets(Klasse).Cells(n, 2).Value
 ActiveSheet.Range("C2").Formula = Worksheets(Klasse).Cells(n, 3).Value
 ActiveSheet.Range("D2").Formula = Worksheets(Klasse).Cells(n, 4).Value
 ActiveSheet.Range("E5").Formula = Worksheets(Klasse).Cells(n, 5).Value
 

        
    End If

Next n



End Sub


Betrifft: AW: Formula mit Variable
von: Hajo_Zi
Geschrieben am: 07.11.2020 15:12:06

gut ich bin dann raus. Siehe ersten Beitrag.
Viel Erfolg noch.

Gruß Hajo

Betrifft: AW: Formula mit Variable
von: tofu
Geschrieben am: 07.11.2020 15:26:28

Danke für die Antwort. Ich kann die Datei schon hochladen, ich dachte es wäre einfacher wenn ich nur das Problem schildere, anstatt dass sich jemand in die Datei einarbeiten muss...

https://www.herber.de/bbs/user/141390.xlsm

Betrifft: AW: Formula mit Variable
von: Toni
Geschrieben am: 07.11.2020 16:33:09

Hallo tofu,
z.B. so, das musst Du nat. anpassen:
Klasse = "Tabellenblattname"
n = 3
ActiveSheet.Range("B2").FormulaR1C1 = "='" & Klasse & "'!R[" & n & "]C"

nur R hieße selbe Zeile, das was in eckigen Klammern steht (hier die Varialbe n) ist die Anzahl Zeilen, die verschoben wird.

Grüße
Toni

Betrifft: AW: Formula mit Variable
von: tofu
Geschrieben am: 07.11.2020 17:52:34

Hallo Toni,

Vielen Dank!



Wir könnte ich dazu auch noch Spalten verschieben?

Betrifft: AW: Formula mit Variable
von: Toni
Geschrieben am: 07.11.2020 18:16:26

nach dem selben Schema: R = Row, C = Column

Grüße

Beiträge aus dem Excel-Forum zum Thema "Formula mit Variable"