Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
284to288
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
284to288
284to288
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Typen unverträglich

Typen unverträglich
29.07.2003 16:07:47
pepp
hallo allerseits,
ich fische so ein bisschen im trüben und versuch mir was zusammenzubasteln, aber ich bin mir nicht wirklich sicher über die bedeutung und verwendung der einzelnen schritte.
nachfolgende anweisung soll bewirken, dass bei eingabe in die erste spalte (mein return geht eins runter) die 6 nebenstehenden spalten in einer zeile in das blatt kopiert werden, das den namen der eingabe in die erste spalte hat.
also z.b. eingabe "AN" das markierte auf sheet "AN" kopieren.
in einer probeversion habe ich das sheet mit ("Tabelle2") benannt da hat es funktioniert, aber es ist ja nicht immer tabelle2 sondern variabel.
mir scheint, die (CStr (Target)) angabe verträgt sich nicht mit range(Cells ...
aber wieso? und was könnt ich statt dessen machen? ihr seht, noch ziemlich kraut und rüben bei meinem vba-verständniss.
vielen dank für licht ins dunkle, pepp

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
intRow = ActiveCell.Row - 1
Range(Cells(intRow, 1), Cells(intRow, 6)).Copy
Sheets(CStr(Target)).Select
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
Sheets("AQ").Select
Application.CutCopyMode = False
End If
End Sub

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Typen unverträglich
29.07.2003 16:54:07
ChrisL
Hi Pepp
An der von dir angegebenen Zeile ist m.E. nichts falsch. Nachstehend wie ich das Problem lösen würde, vorausgesetzt ich hab es richtig verstanden.
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim iBlatt As Integer, Vorhanden As Boolean
If Target.Column = 1 And Target.Row <> 1 Then
'Check ob Blatt vorhanden
For iBlatt = 1 To Worksheets.Count
If Worksheets(iBlatt).Name = Target Then
Vorhanden = True
Exit For
End If
Next iBlatt
'Falls Blatt nicht vorhanden, dann Abbruch
If Vorhanden = False Then
MsgBox "Blatt ist nicht vorhanden."
Exit Sub
End If
'Kopiervorgang
Range(Cells(Target.Row - 1, 1), Cells(Target.Row - 1, 6)).Copy Sheets(CStr(Target)).Cells(Sheets(CStr(Target)).Range("A65536").End(xlUp).Row + 1, 1)
End If
End Sub

Gruss
Chris

Anzeige
AW: Typen unverträglich
30.07.2003 08:15:17
pepp
vielen dank euch beiden, werden den vormittag mit ausprobieren verbringen und gebe dann noch ein feedback

AW: Typen unverträglich
29.07.2003 16:56:53
Michael Schirow
Hi pepp,
lass select weg, so ähnlich könnte es gehen:
option explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Dim ws As Worksheet ' zieltabelle
Dim r As Range ' zielzelle
Dim introw As Long ' akt. Zeile
On Error GoTo err_handler
If Target.Column = 1 Then
introw = ActiveCell.Row - 1
' zieltab ermitteln
Set ws = Worksheets(Cells(introw, 1).Value)
If ws.Name = ActiveSheet.Name Then
MsgBox "aktive Tabelle!": Exit Sub
End If
' freie zielzelle ermitteln
Set r = ws.Cells(65535, 1).End(xlUp).Offset(1)
Range(Cells(introw, 1), Cells(introw, 6)).Copy
r.PasteSpecial xlPasteValues
Application.CutCopyMode = False
End If
Exit Sub
err_handler:
MsgBox "Fehler: " & Err.Number & ": " _
& Err.Description
End Sub

HTH, Michael

Anzeige
AW: Typen unverträglich
30.07.2003 09:31:36
pepp
hallo michael,
es funzt suuuper. vielen, vielen dank und sogar mit fehlerbehandlung und worksheetprüfung :-)) jetzt kann ich erst mal weiterbasteln.
schönen tag noch
gruss pepp

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige