Wie kann ich über Visual Basic einer Zelle etwas anfügen, so dass was in dieser Zelle steht nicht verloren geht?

...komplette Frage anzeigen

3 Antworten

Ich nehme an, du sprichst von Visual Basic for Application (VBA) in Excel?

Textbausteine werden in der Programmierung "Strings" genannt. In Visual Basic kann man Strings ganz einfach mit dem + verketten:

Cells(3,1).Value = Cells(1,1).Value + Cells(1,2).Value

Wenn du diese Codezeile ausfüllst, erscheint in A3 die Verkettung von A1 und B1.

marco74774 27.02.2017, 13:14

So?

Tabelle3.Cells(Zeile2, 114) = Tabelle3.Cells(Zeile2, 114) + .Cells(Zeile, 109)

0
Oubyi 27.02.2017, 13:34
@marco74774

Eher so:

With Sheets("Tabelle3")
    .Cells(2, 114) = .Cells(2, 114) + .Cells(2, 109)
End With

2
Iamiam 27.02.2017, 13:46
@marco74774

Den Programmierlehrern (bzw Curricula) scheint immer noch nur "Hallo Welt" einzufallen (gähn!)

wenigtstens mal praktiswcher "Fa." und "XYZ" könnte man praktischerweise verknüpfen!

1
offeltoffel 27.02.2017, 13:48
@Iamiam

Na und? Solange die Schüler dann auch den Transfer schaffen...Ich hab in einem Python-Einführungskurs auch mal gezeigt, wie man Strings verkettet und hab dann darum gebeten sich zu überlegen, wann und wo das sinnvoll sein könnte.

2
Oubyi 27.02.2017, 13:50
@Iamiam

Ist nun mal Tradition!
Find' ich eigentlich ganz schön.

2
nobytree2 27.02.2017, 14:41
@Oubyi

Man hat es ja auch mit Malbolge geschafft

1
Sub test()
Dim thisCell As Object
Set thisCell = Worksheets("Sheet1").Cells(1, 1)
thisCell.Value = thisCell.Value + " xxx"
End Sub

Wenn in Zelle (A1) z.B. "Ich" steht und folgendes Macro ausgeführt wird:

Sub myMacro()
    Cells(1, 1).Value = Cells(1, 1).Value + "Hallo"
End Sub

dann steht danach "IchHallo".

Also Cells(x,y).Value = Cells(x,y).Value + String_ergaenzen;

Die C-Logik a la Cells(x,y)+= gibt es leider nicht in VBA.

Oder

Cells(1, 1).Value = Cells(1, 1).Value + Cells(2, 2).Value
Iamiam 27.02.2017, 13:53

HalloHallo ganz ohne Welt hat auch was!

0
nobytree2 27.02.2017, 14:03
@Iamiam

Das "Hallo Welt" kann ich schon nicht mehr sehen. Diese Hallo-Welt-Neurose hat sogar dazu geführt, es in Malbolge zu programmieren.

Ich vermute, in Malboge "HalloHallo" zu programmieren ist nicht viel einfacher als "Hallo Welt".

In meinem Beispiel war ja ein "Ich" vorbelegt, so dass das Ergebnis "IchHallo" ist.

0

Was möchtest Du wissen?