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

VERKETTEN mit VBA ergänzen

VERKETTEN mit VBA ergänzen
22.12.2005 13:01:58
urs
Hallo zusammen
Die Tage werden wieder länger. Spürt Ihr's? Trotz mehr Tageszeit habe ich aber ein Problem mit der Ergänzung der Verkettung mit VBA.
Ich habe das nun bis jetzt mit manueller Ergänzung gemacht, weil ich eine Lösung in VBA trotz Hilfe nicht fertig brachte.
Ich versuche nun mein Problem erneut zu formulieren.
Ausgangssituation:
Für die Zelle D4 werden laufend neue Zahlen berechnet z.B. 38.
Mit der For-Schleife ausgewählte Zellen, welche einen VERKETTEN Befehl wie folgt enthalten
=VERKETTEN(G9;H9;I9;G11;H11;I11;G13;H13;I13)
Sollen zu
=VERKETTEN(G9;H9;I9;G11;H11;I11;G13;H13;I13;"38")
werden.
Wer kann mir da helfen? Vielen Dank jetzt schon.
Gruss urs

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VERKETTEN mit VBA ergänzen
22.12.2005 13:43:13
urs
Hallo Hajo
nein es ist nicht die gleiche Frage.
Die Frage von heute morgen behandelt in meiner gesammten Aufgabenstellung eigentlich die Fortsetzung von dem, was ich hier jetzt erneut gestartet habe.
Den Zwischenschritt den ich jetzt mit dieser jetzigen Frage lösen möchte, machte ich bis jetzt von Hand.
Diese jetztige Frage habe ich ursprünglich mit dem Thread: https://www.herber.de/forum/messages/707480.html gestellt.
Ich habe es aber mit UweD's Lösung nicht fertiggebracht, dass anstelle des Zufügens von D4 in die Formel nur der Wert aus D4 hinzufügt wird.
Vermutlich hatte ich mich damals zuwenig präzise ausdrücken können.
Ich hoffe es ist mir jetzt besser gelungen. Fals Du mir helfen kannst wäre das super.
Gruss urs
Anzeige
AW: VERKETTEN mit VBA ergänzen
22.12.2005 14:14:30
WernerB.
Hallo Urs,
ich habe mir erlaubt, den Vorschlag von Sepp entsprechend zu modifizieren:

Sub verketten2()
Dim rng As Range, _
intPos As Integer
On Error Resume Next
For Each rng In ActiveSheet.UsedRange.SpecialCells(xlCellTypeFormulas)
If Left(rng.FormulaLocal, 10) = "=VERKETTEN" Then
intPos = Len(rng.FormulaLocal)
rng.FormulaLocal = Left(rng.FormulaLocal, intPos - 1) & ";""" & Range("D4").Text & """)"
End If
Next rng
On Error GoTo 0
End Sub

Viel Erfolg wünscht
WernerB.
P.S.: Dieses Forum lebt auch von den Rückmeldungen der Fragesteller an die Antworter !
Anzeige
AW: VERKETTEN mit VBA ergänzen
22.12.2005 15:02:30
urs
Hallo Werner
Erstmal vielen Dank für Deine spontane Hilfe.
Bei der Lösung von heute morgen (siehe Sepp's Vorschlag) geht es ums Löschen aller dieser Ergänzungen. Das geht ohne For-Schlaufe. Ich spreche dann alle Zellen an.
Ich denke Dein Vorschlag würde funktionieren, wenn ich gleichzeitig auf dem ganzen Blatt diese Ergänzung des Verketten Befehls mit dem gleichen Wert aus D4 wünschte.
Bin ich richtig bei dieser Vermutung? Ich kenne mich da noch nicht so aus.
Ich brauche diese Formel für bestimmte Zellen aus den For Schlaufen nicht für alle Zellen.
&ltpre&gt
Sub verketten2()
For i=10 To 15
For n=5 To 10
'hier erfolgt die Neuberechnung von D4
Cells(iRow,jCol).select
Dim rng As Range, _
intPos As Integer
On Error Resume Next
For Each rng In ActiveSheet.UsedRange.SpecialCells(xlCellTypeFormulas)
If Left(rng.FormulaLocal, 10) = "=VERKETTEN" Then
intPos = Len(rng.FormulaLocal)
rng.FormulaLocal = Left(rng.FormulaLocal, intPos - 1) & ";""" & Range("D4").Text & """)"
End If
Next rng
On Error GoTo 0
next j
next i
End Sub&lt/pre&gt
Leider haut das so noch nicht hin. was ist falsch?
Gruss urs
Anzeige
AW: VERKETTEN mit VBA ergänzen
22.12.2005 15:38:32
WernerB.
Hallo Urs,
dann versuch's mal so (ungetestet):

Sub verketten2()
Dim intPos As Integer
For i = 10 To 15
For n = 5 To 10
'hier erfolgt die Neuberechnung von D4
With Cells(iRow, jCol)
On Error Resume Next
If Left(.FormulaLocal, 10) = "=VERKETTEN" Then
intPos = Len(.FormulaLocal)
.FormulaLocal = Left(.FormulaLocal, intPos - 1) & ";""" & Range("D4").Text & """)"
End If
On Error GoTo 0
End With
Next n
Next i
End Sub

Gruß
WernerB.
AW: VERKETTEN mit VBA ergänzen
22.12.2005 15:53:43
urs
Hallo Werner
ausprobiert ergab sich folgende Meldung:
" Unzulässiger oder nicht ausreichend definierter Verweis "
und dabei war:
.FormulaLocal
in
If Left(.FormulaLocal, 10) = "=VERKETTEN" Then
markiert.
Irgendetwas muss vermutlich noch vor den Punkt kommen, aber was?
Gruss urs
Anzeige
AW: VERKETTEN mit VBA ergänzen
22.12.2005 16:10:03
WernerB.
Hallo Urs,
das ist für mich so nicht nachvollziehbar.
Ich habe das jetzt mal in abgespeckter Form (ohne Schleifen) getestet - kein Problem!
Die Code-Zeile muss sich in dem von mir gesetzten With-Rahmen befinden, der auch das "Select" überflüssig macht; d.h., die Schreibweise mit dem Punkt (und nichts davor) ist so richtig.
Hier mal meine abgespeckte Version zur Verdeutlichung:

Sub Test01()
Dim intPos As Integer
With Cells(1, 1)
On Error Resume Next
If Left(.FormulaLocal, 10) = "=VERKETTEN" Then
intPos = Len(.FormulaLocal)
.FormulaLocal = Left(.FormulaLocal, intPos - 1) & ";""" & Range("D4").Text & """)"
End If
On Error GoTo 0
End With
End Sub

Gruß
WernerB.
Anzeige
Was ein With nicht alles bewirkt :-) Danke
22.12.2005 16:26:17
urs
Prost Werner,
mit Dir würde ich gern anstossen. Auch mit einem With. Das war es was noch fehlte.
Ich habe bei mir auch die Zeilen mit dem With eingefügt und siehe da. Es kam alles wie gewünscht.
Herzlichen Dank und frohe Festtage wünscht Dir Urs
PS. Das Forum hat jetzt Ruhe vor mir bis zum 3.Januar 2006.
Hinweis zu meiner letzten Antwort
22.12.2005 15:30:13
urs
Hallo Werner
ich denke mein Problem liegt noch darin, wie ich die Zelle Cells(iRow,jCol), die ich über eine For-Schlaufe bestimme in Deinen Vorschlag in die Code Zeile:
For Each rng In ActiveSheet.UsedRange.SpecialCells(xlCellTypeFormulas)
einbaue. Ich glaube nicht, dass ich hier mit For Each rng arbeiten muss, denn ich will ja die Zellen genau ansteuern. Da habe ich noch meine Syntax Probleme.
Deinen Code habe ich nun ausprobiert und er hat mir sämtliche VERKETTEN Befehle mit dem Wert aus D4 ergänzt. Wie ich vermutet habe.
Wo überlege ich falsch? Gruss Urs
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige