Thema Datum  Von Nutzer Rating
Antwort
Rot Excel VBA Zellen von A nach B kopieren, mehrere Möglichkeiten, IF THEN ELSEIF
05.04.2014 16:38:19 Mat
NotSolved
05.04.2014 18:11:57 gabi
NotSolved
05.04.2014 18:22:24 Gast34946
NotSolved
05.04.2014 18:32:08 gabi
NotSolved
06.04.2014 14:42:32 Gast55544
NotSolved
06.04.2014 14:49:19 Gast19483
NotSolved
06.04.2014 15:37:43 Mat
NotSolved
06.04.2014 16:37:39 Gast75123
NotSolved
06.04.2014 17:30:21 gabi
NotSolved
06.04.2014 17:11:32 Gast80865
NotSolved
06.04.2014 22:55:45 Mat
NotSolved

Ansicht des Beitrags:
Von:
Mat
Datum:
05.04.2014 16:38:19
Views:
2400
Rating: Antwort:
  Ja
Thema:
Excel VBA Zellen von A nach B kopieren, mehrere Möglichkeiten, IF THEN ELSEIF

Hallo zusammen,

ich habe ein kleines VB Problem, dass ich gerne lösen würde. Leider komme ich einfach nicht weiter. Hoffe ihr könnt mir helfen :)

Ziel ist es auf Knopfdruck eine Zellen-Range von Blatt2 auf Blatt1 in eine bestimmte Zellen-Range zu kopieren. Was bzw. welche Range von Blatt2 dabei kopiert werden soll, ist abhängig von einem Zellwert (steht in "L30"). Insgesamt gibt es 48 verschiedene Möglichkeiten (ORI1, ORI2...) und demnach auch 48 verschiedene Ranges, die ich angeben muss. Ich bin leider alles andere als Profi und das ist mein Code bislang:

Sub KopierenJeNachZellenwert()
      Dim s As String
      s = ActiveCell.Value
      If Blatt1.Range("L30") = "ORI1" Then Blatt2.Range("N10:P22").copy
      ElseIf Blatt1.Range("L30") = "ORI2" Then Blatt2.Range("N24:P36").copy
      ElseIf Blatt1.Range("L30") = "ORI3" Then Blatt2.Range("N37:P78").copy
usw.      


      Else
      Blatt2.Range("B1").copy
      Blatt1.Activate
      Blatt1.Range("C13").Select
      ActiveSheet.Paste
      Application.CutCopyMode = False
      Else
      
      End If
      
   End Sub

 

Ich bekomme damit immer die Error-Meldung "Else ohne If". Wenn ich diese Version hier benutze, klappt es aber (allerdings nur eine Möglichkeit abgedeckt: ORI1):

 

Sub KopierenJeNachZellenwert()
      Dim s As String
      s = ActiveCell.Value
      If Blatt1.Range("L30") = "ORI1" Then Blatt2.Range("N10:P22").copy Else Blatt2.Range("B1").copy
      Blatt1.Activate
      Blatt1.Range("C13").Select
      ActiveSheet.Paste
      Application.CutCopyMode = False
   End Sub

 

Hoffe ihr könnt mir helfen!

Tausend Dank vorab!

Mat


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:

 
 

  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen