Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1304to1308
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
Inhaltsverzeichnis

Verketten per VBA

Verketten per VBA
27.03.2013 09:37:33
Chris
Hallo, zusammen!
Ich möchte im Sheet "Test" in der Range A1:A2 die Werte aus dem Sheet "Test1" Range H5:H6 einfügen und dort vor jeden Wert ein Ausrufezeichen setzen.
Sub test() Sheets("Test").Range("A1:A2").Value = "!" & Sheets("Test1").Range("H5:H6").Value End Sub
Ohne die Verkettung funktioniert das auch, mit der Verkettung leider nicht.
Ich bin für jede Anregung dankbar!

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Verketten per VBA
27.03.2013 09:40:22
ingoG
Hallo Chris,
versuche es mal mit
Sheets("Test").Range("A1:A2").TEXT = "!" & Sheets("Test1").Range("H5:H6").Value
Gruß Ingo

AW: Verketten per VBA
27.03.2013 09:44:55
Matthias
Hallo
So steht in in jeder Zielzelle der gleiche String!
Ich versteh also nicht wirklich was Du vorhast.
With Sheets("Test")
.Range("A1:A2").Value = "!" & .Range("H5").Value & .Range("H6").Value
End With
Gruß Matthias

AW: Verketten per VBA
27.03.2013 09:46:40
Chris
Hallo, Ingo!
Danke für das schnelle feedback, aber das funzt leider auch nicht. Es kommt nur die Fehlermeldung "Typen unverträglich"

Anzeige
AW: Verketten per VBA
27.03.2013 09:55:14
Chris
Hallo, Matthias!
In den Zellen H5:H6 sollen die selben Werte stehen wie im anderen Tabellenblatt in den Zellen A1:A2, nur eben mit einem ! vor jedem Wert.
Mit deinem Vorschlag stehen nur die Ausrufezeichen in den Zellen.

AW: Verketten per VBA
27.03.2013 10:07:16
Matthias
Hallo
Hatte ich überlesen
1 x Sheets(Test)
1 x Sheets(Test1)
 With Sheets("Test1")
Sheets("Test").Range("A1:A2").Value = "!" & .Range("H5").Value & .Range("H6").Value
End With
Trotzdem stehen dann in beiden Zelle die gleichen Strings
Gruß Matthias

AW: Verketten per VBA
27.03.2013 10:16:13
Tino
Hallo,
habe es mal so versucht.
Bei einem Vertikalen Zellbereich müssen diese Zellen zuvor zu einem Horizontalen gedreht werden.
Wenn es mehrere Spalten sind, müsstest Du entsprechend eine Schleife einbauen.
Sub test()
Dim Verketten
With Application
Verketten = "!" & Join(.Transpose(Sheets("Test1").Range("H5:H6").Value), Chr(0) & "!")
Verketten = .Transpose(Split(Verketten, Chr(0)))
Sheets("Test").Range("A1:A2").Value = Verketten
End With
End Sub
Gruß Tino

Anzeige
hä? Spalte(A) und Spalte(H)
27.03.2013 10:19:39
Matthias
Hallo Tino
Transponieren ist doch gar nicht nötig.
oder hab ich was falsch verstanden?
Gruß Matthias

lass es doch mal weg! oT.
27.03.2013 10:21:26
Tino

Variante2
27.03.2013 10:23:19
Matthias
Hallo
Variante2 (die ich eher vermute)
Für Dein gepostets Beispiel!
Test1

 H
5Hallo Chris
6Hallo World


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Code:
Option Explicit
Sub chris()
Dim x&
With Sheets("Test1")
For x = 1 To 2
Sheets("Test").Range("A" & x).Value = "!" & .Range("H" & x + 4).Value
Next
End With
End Sub
Ergebnis:
Test

 A
1!Hallo Chris
2!Hallo World


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Matthias

Anzeige
AW: Verketten per VBA
27.03.2013 10:25:17
Chris
Danke, Matthias!
Das war's!

noch eine Variante
27.03.2013 10:43:35
Tino
Hallo,
Sub Noch_Eine()
With Sheets("Test").Range("A1:A2")
.FormulaR1C1 = "=""!""&" & Sheets("Test2").Range("H5").Address(0, 0, xlR1C1, True)
.Value = .Value
End With
End Sub
Gruß Tino

AW: noch eine Variante
27.03.2013 14:28:15
Chris
Danke, Tino!
Das werd ich auch testen

Na, am einfachsten wäre wohl immer noch ...
27.03.2013 16:30:31
Luc:-?
ein 2Zeiler, Chris,
hier als 1Zeiler geschrieben…
Sheets("Test").Cells(1, 1) = "!" & Sheets("Test1").Cells(5, 8): Sheets("Test").Cells(2, 1) = "!" & Sheets("Test1").Cells(6, 8)
…obwohl Sheets("Test").Range("A1:A2") = WorksheetFunction.Concatenate("!", Sheets("Test1").Range("H5:H6")) evtl auch fktionieren könnte. Wenn nicht, dann viell…
Sheets("Test").Range("A1:A2") = Evaluate("Concatenate(""!"",{""" & Join(WorksheetFunction.Transpose(Sheets("Test1").Range("H5:H6")), """;""") & """})")
…wobei es egal ist, ob H5:H6 Text oder Zahlen enthält.
Und selbstverständlich könnte man dann auch gleich …
Sheets("Test").Range("A1:A2") = Evaluate("{""!" & Join(WorksheetFunction.Transpose(Sheets("Test1").Range("H5:H6")), """;""!") & """}")
…schreiben, wobei Transpose deshalb erforderlich ist, weil Join nur 1dimensionale Vektoren als Argument akzeptiert, ein vertikaler Vektor aber immer 2dimensional ist!
Gruß + FrOst, Luc :-?
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige