Fehler im Code. Hilfe

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Fehler im Code. Hilfe
von: Slugger
Geschrieben am: 07.03.2005 07:58:53
Hallo,
dieser Code soll lediglich Spalte A zählen, Spalte B zählen und dann Spalte A und Spalte B in Spalte C schreiben. hier bringt er immer einen Fehler.


Private Sub CommandButton1_Click()
Dim i As Integer
Dim k As Integer
Dim h As Integer
Dim suchwort As String
Dim suchwort2 As String
For i = 1 To UsedRange.Rows.Count
suchwort = Cells(i, 1).Value
For k = 1 To UsedRange.Rows.Count
suchwort2 = Cells(k, 2).Value
Cells(i, 1).Offset(0, 3).Value = "='" & suchwort & "[" & suchwort2 & "]Formblatt'!H9"
Next k
Next i
End Sub

Wer weiß hier Rat??
Gruß Slugger
Bild

Betrifft: AW: Fehler im Code. Hilfe
von: Stefan Hillenbrand
Geschrieben am: 07.03.2005 08:38:50
Hallo Slugger,
verstehe dich jetzt nicht, was soll er zählen, z.B. wieviele Zeilen sind gefüllt, oder was sonst? Er soll in die Spalte C schreiben.. Ist das in der gleichen Datei oder ist es eine andere? Hab deinen Code trotdem mal umgeschrieben

Private Sub CommandButton1_Click()
Dim i As Integer
Dim k As Integer
Dim h As Integer
Dim suchwort As String
Dim suchwort2 As String
For i = 1 To UsedRange.Rows.Count
suchwort = Cells(i, 1).Value
For k = 1 To UsedRange.Rows.Count
suchwort2 = Cells(k, 2).Value
Cells(i, 1).Offset(0, 2).Value = suchwort & ", " & suchwort2
Next k
Next i
End Sub

Gruß Stefan
Bild

Betrifft: AW: Fehler im Code. Hilfe
von: Slugger
Geschrieben am: 07.03.2005 08:44:19
Hallo,
also im prinzip soll in Spalte C stehen: Spalte A Zeile 1 & Spalte B Zeile 1.
da es jedoch mehrere Daten sind die untereinander stehen, soll er automatisch erkennen welche Zeile gemeint ist. Also C3 wäre dann Spalte A Zeile 3 & Spalte B Zeile 3
C5 dann Spalte A Zeile 5 & Spalte B Zeile 5.
Ich hoffe ich hab das jetzt etwas besser erklährt.
Vielen Dank schonmal
Gruß Slugger
Bild

Betrifft: Nachtrag
von: Slugger
Geschrieben am: 07.03.2005 09:02:12
Hallo,
Falls das Problem noch nicht verstanden sein sollten hier nochmal eine Erläuterung:
Ich drücke auf eine Befehlsschaltfläche. Nun Schreibt mir VB Jede Zeile von Spalte A und jede Zeile von Spalte B zusammengefügt in Spalte C.
Das ist der Grundgedanke. Mit = A & B kann ich es nicht lösen, da noch eckige Klammer mit rein gehören und es damit nicht als Formel, sondern als Text erkannt wird.
Gruß Slugger
Bild

Betrifft: AW: Nachtrag
von: Stefan Hillenbrand
Geschrieben am: 07.03.2005 09:18:17
Hallo,
hast du meinen Code von vorhin mal getestet? Mit dem müsste es nämlich, so wie du es willst. Habe ihn aber nochmals geändert, schau obs so paßt

Private Sub CommandButton1_Click()
Dim i As Integer
Dim k As Integer
Dim h As Integer
Dim suchwort As String
Dim suchwort2 As String
For i = 1 To UsedRange.Rows.Count
suchwort = Cells(i, 1).Value
suchwort2 = Cells(i, 2).Value
Cells(i, 1).Offset(0, 2).Value = suchwort & ", " & suchwort2
Next i
End Sub

Wieso gehören die eckigen Klammern mit rein, damit es als Text erkannt wird?
Gruß Stefan
Bild

Betrifft: Nicht ganz
von: Slugger
Geschrieben am: 07.03.2005 09:31:39
Ja, hab ich getestet. Funktioniert aber ledier nicht. Hier der aktuelle Code:

Private Sub CommandButton1_Click()
'Dim i As Integer
'Dim k As Integer
'Dim a As Integer
'Dim suchwort As String
'Dim Suchwort2 As String
'Dim suchwort3 As String
'For i = 1 To Worksheets(1).UsedRange.Rows.Count
'suchwort = Cells(i, 1).Value
'For k = 1 To Worksheets(1).UsedRange.Rows.Count
'Suchwort2 = Cells(k, 2).Value
'For a = 1 To Worksheets(1).UsedRange.Rows.Count
'Cells(a, 3) = Cells(i, 1) & Cells(k, 2)
'Next a
'Next k
'Next i
'End Sub

Das mit den eckigen Klammern war auf eine Zelle bezogen, in der man das schreibt.
Ich brauch eigentlich nix anderes als das es mir einfach die Zellen MIT VB zusammenfügt.
Da es mehrere hundert Zeilen sind, müsste es automatisch gehen. So wie in den oberen Code, der aber leider nicht funktioniert.
Bild

Betrifft: Lad doch Datei hoch
von: Stefan Hillenbrand
Geschrieben am: 07.03.2005 10:03:33
wie aussehen soll, vielleicht wird es dann für mich klarer
Bild

Betrifft: Ok, selbst gelößt
von: Slugger
Geschrieben am: 07.03.2005 12:14:22
Hallo,
ich habe das Problem selbst gelöst.
Diesen Befehl habe ich gebraucht: ='C:\test\[test.xls]Formblatt'!H9
so sieht es im Code aus:
Worksheets(1).Activate
Range("A6").Select
Do Until ActiveCell.Value = "1"
ActiveCell.Offset(0, 10).Value = _
ActiveCell.Value & _
ActiveCell.Offset(0, 2).Value & "[" & _
ActiveCell.Offset(0, 1).Value & "]Formblatt'!H9"
ActiveCell.Offset(5, 0).Select
Loop
Vielen Danke an alle die helfen wollten
Gruß Slugger
 Bild

Beiträge aus den Excel-Beispielen zum Thema "Fehler im Code. Hilfe"