How can I bend a surface into a cylinder?
There is a very simple way to replicate this effect with modifiers, and to do it, you only need 1 hexagon.  Just follow my steps below to see how something like this can be accomplished.
Step1:
With 1 hexagon object in your scene, add a circle bezier curve, scale it up, and rotate it 90 degrees on the x or y axis.  when this is complete your scene should look something like this:

Step 2:
select your hexagon object, and add an array modifier, and a curve modifier, then in the curve modifier settings, click on &quot;curve object&quot;, and then select your circle bezier curve.  (see image below)

Step 3:
In the array modifier settings, change the amount until the hexagons almost fit all the way around the circle, then scale your circle curve as needed until the 2 edges of the first and last hexagon are touching.  when this is complete, your mesh should look something like the images below:


Step 4:
once you've completed all the steps from step 3, add another array modifier to your hexagon object, but this time, set the X factor in the Relative offset settings, to 0, and change the Y factor to one.  then, all that's left to do is increase the amount until it is in the shape of a cylinder.  (see image below)

Now you're done. It's that easy!
If you encounter further problems, you can let me know and I'll be happy to help : )